Outsourcing a Developer: The Lessons I Learned on the Road to Success
Our success as a team today is built upon the journey we traveled as developers and project managers. There were some hard-earned lessons along the way, but in the end, they translated not only to a successful project, but an incredible team. It all started with my quest to fill a business opportunity.
Like most entrepreneurs, I saw a market void that offered a business opportunity. For me, it was the anticipated large volume of foreclosures in the Canadian market. Because this unprecedented volume had to be managed to meet banking institutions’ regulatory requirements, I knew it required a technological solution.
My solution, and business opportunity, was a property management solution customized for the foreclosure market, one that enabled contractors to execute foreclosures in a more affordable and efficient way for profitable business. I had investors, but no development team, so I thoughtfully developed my project, taking care to delineate my project goals, requirements, and wireframes. My plan laid out the step-by-step process of the workflow. I was confident my work laid out a successful cloud-based solution, consistent with regulatory requirements, in a way that would be easy for a developer to follow.
Before my project was finished, I tried four different approaches, ranging from low to high cost and local to global.
- A friend fresh out of school. My first shot at developing my application was with a bright family friend with a programming degree. Two months later, there was no progress. Without any project or business experience, he was unable to develop a strategic engineering process and manage the workflow. He lacked the business vision to fully understand the project goals as they relate to the industry and his communication was terrible. Cost: Two months and $5,000.
- A newer/smaller development company. My second attempt was with a development company with in-house project managers and engineers. I spent a long six months waiting for the result. Despite their sales pitch, the quality of programming was sub-standard and the user interface was horrific. The process and results showed me that neither the project manager nor the developer had any real understanding of performance and bug testing, load testing on the server, product versioning, continuous delivery, or security. Their communication was poor and scripted. Their biggest communication deficiency: my assigned developer went on vacation for a month and nobody bothered to tell me. Cost: Six months and $7,500.
- An expensive development company. Still, without a viable application, I researched reputable development companies. I found one that subcontracted their developers with weekly oversight from the development company. The $150/hour expense was tough to swallow, but I bought into their guarantee. To reduce the time and cost, I removed some requirements to create an MVP, minimum viable product. This company did a much better job of oversight and the developer did deliver a usable MVP. With a single developer rather than a development team, however, the project missed the mark in both Q/A and UI/UX, leaving work to be done in those areas as well as an expansion of the application. Cost: A few months and $12,000.
- An offshore development company. In my fourth attempt for a fully-developed multi-tenant product, I was forced to abandon my own work for the role of project manager to compensate for the development company’s deficiencies. I spent the next year working with a foreign developer with limited English skills and no understanding of my industry. The owners were being paid for project management, but were ineffective and ended up having to rebrand under a different name. Why did I stick with them? Despite the challenges working with an offshore developer, he was competent and a hard-worker; he listened to me and wanted to learn so he could deliver a great product. Cost: Nine months, $56,000, and my time to manage the project. Bonus: This developer was Isaac, and he turned out to be such a rockstar, that we went into business together.
After a year and a half, I did get what I wanted, but with hundreds of hours of my own time invested in managing the project. At no stage was there a resource that could effectively manage the project. I never found a team that created a solid project plan or provided solutions that matched my business objectives.
I paid rates ranging from $25-$150/ hour for a total project cost exceeding $75,000. Had I been able to identify a firm with proper project oversight and a solid programming resource, I could easily have executed this project within a $40,000 budget and without my extensive time commitment.
I did learn valuable lessons, though. From each project, I learned:
- Business experience matters.
- Communication and oversight are key.
- The UI/UX is critical and requires a complete development team.
- Bad project management skills your project, or your work time.
Your development company should have the experience and staff to provide all the resources needed to bring your project to completion. A great one works with you to identify what you need and what you can do yourself to optimize your time and resources. This journey and the lessons that I learned shaped an amazing development team without compromises. Our team uses outsourced developers effectively to ensure an excellent result with top notch service.