This is a story of how hiring the wrong developers cost this company millions before making their first dollar.
This company, which will remain unnamed, had an idea for a software project. They had investors, hundreds of thousands of dollars in budget, and a leadership team.
They had a surefire way to market the product. The leadership team, however, was non-technical. This led to many decisions being made that cost this company upwards of 3 million dollars building a product before making their first dollar.
Let's dive into how this happened, and what you need to know when building out a software product for your business.
Hiring Offshore: Risks of Outsourcing Your Development Offshore
Software projects are expensive, and it is well known that you can hire a team in many parts of the world that can produce an application for way less than it would cost hiring a local team.
There is a hidden cost to this, however, which our company learned the hard way.
The company wanted to present an image of professionalism and high quality. This is especially important in B2B businesses. You are selling a product to other businesses, who have money to spend. They expect your product to be of high quality.
They ended up getting an MVP built from an offshore company, paying in the range of $50,000 - $100,000 for the application to be built over a 6-month timespan.
What they quickly realized is that while the application somewhat worked, the code was buggy, and the design did not reflect the professional appearance that would gain the trust of other businesses who would be using the platform.
This led the company to hire its first in-house developer. This developer quickly realized that the code was unusable, and they would have to begin a rebuild.
Now, being down almost $100,000 with a product that they can't use, our company began paying out a developer at nearly $10,000 a month to begin rebuilding the product.
Rebuilds: Stuck Between a Rock and a Hard Place
Our company soon ran into a problem with the rebuild. They had a product that was kind of working, but not completely, and built by multiple developers.
They hired an in-house developer who specialized in front-end development, but not the back-end. Understanding that the code was unusable, they hired 2 more developers on the back end. This cost upwards of $15,000 a month. To save costs, they hired intermediate-level developers on the back end instead of a senior.
This would once again be a costly mistake.
The front-end developer had to slowly rebuild portions of the front-end project within the same codebase. This proved to be a slow and time-consuming process, as trying to understand poorly written code exponentially increased the amount of time needed to build features.
The back-end developers began building version 2 of the back-end application, as none of the original code could be salvaged. This process took approximately 8 months to get fully migrated over to version 2. To speed up this process, our company hired 3 more developers on the back end, running up development costs to between $50,000 to $100,000 a month.
Remember, during this time there were no paying customers since the product was not at a place where the marketing team could confidently invest in promoting the product.
They also had to invest a huge amount into development, which took away from other business initiatives.
The Sunk Cost Fallacy: Getting the Product Market Ready
The leadership team was now down millions of dollars, and spending around $100,000 a month getting the product market ready.
This led to a further push from them to complete the product before burning any more money. In this effort to make sound development choices, they hired a CTO.
The CTO reviewed the V2 codebase, and you guessed it, determined that the codebase was not usable. The team required another rebuild.
The cost-saving effort of hiring less experienced developers did not pay off, and a lot of time and money had to be invested in rebuilding the product.
During this time, the company made its first dollar from the business... after investing nearly 3 million dollars in the development of the product.
Lessons To Take Away
With non-technical founders looking to build software products, it is tempting to look for cheap options. The cheap options include less experienced developers and offshore companies.
On the surface, it seems like a great idea.
I can get an application built for $5,000!! That is a steal!
The truth is, as a B2B business owner, you are selling to other businesses, often large businesses. These businesses have money to spend and want to work with companies that can justify them investing their money and energy.
By half-assing your project by doing it for cheap, you will receive an application. But will this application be something that you are comfortable showing your clients? Will it display the values that your business represents?
The hidden cost here is that a software application that is buggy, slow, with a bad UI will hurt your team's confidence and can lead you down the rabbit hole of rebuilds and redesigns of the exact same application.
All the additional time and money you are investing in building your product is taking away from investing in other initiatives of your business. Software is only one part of the business, and if you have no paying users, you have no business.
Conclusion
The right software consultant can help you build your software project the right way from the start. This means understanding the future goals of your business and taking a deep look at how your software fits into it.
The strategy of building your software business correctly from the start focuses on understanding what are the key features of your application, and how the other initiatives in your business tie in with it.
You do not need all the features in the world before getting your first few customers, and you should only consider adding more features when your customers call for it. This should be backed up by data, and data should always influence your decision-making.
Your software should work for you while you sleep. This means you are not burning valuable dollars in constant bug fixes and rebuilds. This also means it is not always necessary to have a complete dev team to maintain your software before you are truly ready for that cost and responsibility.
Your software should inspire confidence in the various teams in your business, and they should feel good about the product that they are marketing/selling to your customers.