If a foreign country can supply us with a commodity cheaper than we ourselves can
make it, better buy it of them with some part of the produce of our own industry
employed in a way in which we have some advantage.
Adam Smith, An Inquiry into the Nature and Causes of the Wealth of Nations
According to the get2growth estimations, 100 million startups are opened each year. And it is said that 9 out of 10… will fail.
When you decide to follow your idea and run your own startup, you may face a few obstacles. Even though you know that you’ve got a great idea and that your product will fit the consumers’ needs, and even though you already have an investor who found your concept interesting, something may turn unexpectedly difficult. You may have problems with evaluating the budget, spending your money effectively, building a development team, supplying them with the right tools – and so on.
To be clear: it’s not the point where you are dropping your idea. It’s the point where you are looking for the best solution. To do so, let’s go back to 1923.
Back then, there was a successful businessman, who revolutionized the world by making some luxury product affordable for ordinary people. Less than 90 years later, there were over one billion of these products registered in the whole world! Any idea what it was? The name of this man was Henry Ford, and yes – this luxury product that he made affordable was a car. Why are we talking about it? Because back in 1923, Henry Ford said: „if there is a thing that we cannot do more efficiently, cheaper or better than a competition, there is no point in doing it further – we should hire the one who does it better than we do”.
Using modern terms, what Henry Ford was speaking about was outsourcing – the remedy for some of your troubles that you are facing when you decide to run a startup. Let’s take a look at some of the early startupers’ problems:
1. Defining the demand for human resources
If you don’t have much experience with software development, defining the number of developers you will need to build your project in a specific time may be quite difficult. Especially since it is not linear. This is a common case in start-ups; you need 5 people to build MVP, then one to support big-fixes when we verify your MVP on the market, then 5 again to pivot, then two for hot-fixes and small improvements, then 20 to let it scale. This means you need to secure funds to support a team of 5 constantly and grow it to 20 before you scale not to lose time.
2. Evaluating the recruitment budget
You have $300k to build a product. You want to get on the market as soon as possible, let’s say you have 6 months for that. Taking the estimated cost of hiring a good developer, this means you can afford a team of 5. In order to have your product done on time, you need 3 people on frontend and 2 people on backend. Sounds like it fits… but you also need a Project Manager, UX/UI, Solution Architect, Test Engineer, DevOps Engineer.
At this point you need to make a decision what to do:
- agree to extend time-to-market to 12 months,
- change the former idea, reducing all the not-THAT-important-things, and making it enough to hire only 5 people,
- find someone who will help you by providing a team ready to start from day one.
The first option doesn’t solve your problem at all. Remember that you still have only $300k and if you don’t start selling your product after 6 months, you may not find funds to develop it further. The second one is not fully satisfying as you are making your product poor in some of the functionalities that you wanted it to have. It’s like selling a teddy bear without ears or paws – not acceptable. Assuming that your needs are surpassing your purse, finding a team seems to be the best option. But what if they are not?
Find out how to get a cross-functional tech team to work on your project
3. Recruitment: time and cost
One may say that it’s the riskiest task in a whole project. It’s not a secret that there is lack of developers on the market. Europe is in need of nearly 400,000 specialists, according to EU estimates this problem will deepen and may reach half a million next year.
Building a team is a hard nut to crack: you need to reach developers, interview them, verify their skills. If you don’t know much about programming, you may need external help. All of these things cost you time and money, drowning a part of your budget and drifting away getting on the market in time.
4. Making the team a team
Assuming that you somehow managed to deal with the recruitment process, you still don’t have a team. You only have a few developers ready to work on some case. And to ensure creating high-quality software, you need much more than a bunch of talented guys who know how to code. To start working as a real team, they need to get to know each other, learn each others’ strengths and how to complement each other. They also need to set up environments, work on technology stack… If no one drops out, it should take about 3 months to start working with the full potential. If someone does… you go back to point two, starting another recruitment process.
5. Choosing the right tools
The fact that you have a great idea for a product doesn’t mean that you need to know how to make it or what tools you need to do that. As long as you know what you want your product to be and what problems it will help people with, you don’t have to understand a single word of its code. What you need to remember, though, is the fact that using the right tools may save you a lot of time and money and be crucial for fitting your time-to-market. On the other hand, searching for the best tools on your own when you don’t have much experience and required knowledge, will cost you a lot and may not bring satisfying results.
6. Assuring the high quality
As it is your own product, that you will be proud of, you want it to be really good and you cannot agree on lowering its quality. The problem is that the quality of any product is not only about a good team and good tools, but about the whole development process: continuous integration and continuous deployment, automated testing, code quality requirements etc. It takes time and skills to work them out and it’s hard to have all of them on your own – especially in a start-up.
When starting a startup, you need to predict many of the possible risks and try to mitigate them, increasing your chance to succeed. And if there is a thing that you know you cannot do more efficiently, cheaper or better than a competition… there is no point in struggling with doing it further.