Find out how estimating your software needs can help you make the right decisions and positively affect your business. And whether you need an 18-wheel truck to drive your children to school.
Sometimes new ideas come to your mind in very unexpected moments, especially when you change an environment. Some time ago, I was sitting inside a Tesla S car in Copenhagen and it struck me that a car dashboard was a perfect example of how the same requirements could be realized in very different ways, demanding different work effort and, consequently, leading to different prices.
Let me go back to software. When you draft your idea for your SaaS Product or Enterprise Software you start with what. Requirements can come in different forms, however, they tend to be more general than specific, especially nowadays, when the timing is everything. You simply go out of business if you specify your whole product upfront, then design, develop, test, and finally release it (unless your competitors still live in the ’90s). Nowadays, you need to be agile, change the requirements according to the needs of users, constantly testing and improving to achieve a perfect product-market fit.
But this is business and software is engineering, so you need to plan certain elements, at least the budget and time. You have to know how to manage risk when you are budgeting the project. You must ask your Development Team to estimate your software needs so you can figure out the budget.
The estimate – a big surprise!
To your amazement, the estimate your Dev Team gives, turns out to be huge. You had asked your Developer friend for an honest opinion and she said she could do it in a third of the estimated time. So you gave it to two other web development companies to estimate your software and give you quotes. What you have now is the number of days needed to develop the system.
- Team A – 60 Man Days
- Team B – 360 Man Days
- Team C – 180 Man Days
At this stage you are quite confused because you had given the same requirements to three different companies and they provided you with estimates that are totally divergent.
So how to estimate your software needs?
Relax, this is normal. What happened is that each development team engaged in the estimation had your requirements but did not have the vision and the idea of what the system should look like. The teams didn’t have detailed Software Requirement Specification, so they designed and estimated the system, which they thought would be good.
Same requirements, different environment, and knowledge equal different product vision.
If your product was a car dashboard, they would envision it like this:
Team A. Ballpark estimate: 60 Man Days
Team B. Ballpark estimate: 360 Man Days
Team C. Ballpark estimate: 180 Man Days
These three different dashboards meet the same requirements:
- Comfortable steering wheel
- Readable display of basic car measurements such as speed
- Blower / Air Vent
- Safety environment
After the small investigation and discussions with the teams, it became clear that Team A chose to build a rough, startup dashboard, while Team B wanted to build a state-of-the-art dashboard. Team C was somewhere in between.
A Tesla for the price of a Chevrolet
But I’ve promised to tell you how to build a Tesla-like product with a budget for a Chevrolet.
And here it goes: You can’t.
Unless you want to be fooled, you can’t build something, which is five times better within 20% of a budget. However, for the 20% of the budget, you can build an MVP (yes, the Pareto rule applies here as well).
An eighteen-wheeler to take your children to school
What does “better” mean for your business, though? Does your business, at this specific time, really needs to be a Tesla car? What do you need today? Do you need a truck to take your two children to school or a simple but safe car is fine for now? It’s not just about the cost, it’s more about efficiency, utility, and taking pragmatic decisions. Perhaps, a Tesla-like product is not something that exactly meets your expectations. Sometimes, having a lot of unnecessary frills and features won’t get you closer to your business goals even if you have a briefcase full of money.
One more thing – don’t make only one estimation. Iterate your idea, talk to your dev teams, and tune the development needs to your budget. Sometimes a little difference in requirements makes a big difference in time and price so ask for the low-hanging fruits first.
Let me know if you are interested in our process of estimation, designed specifically to align your product requirements and budget with your vision. I will gladly send you some documents, which you can use to build your products. Feel free to reach out to us now.
Main photo: Steve Jurvetson
Photo source: Teslamotors.com, XSolve.