How To Build Tesla Car for the Price of a Chevrolet?

XSolve
XSolve Blog
Published in
4 min readSep 21, 2015

--

Seemingly, this post is about cars, but in fact it is about how to estimate your needs and ability to take the right decisions that positively affect your business. And whether or not you need an 18-wheel truck to drive your children to kindergarten.

Sometimes new ideas come to your mind in very unexpected moments, especially when you change an environment.

The Inspiration

Not a long time ago, I was sitting in a Tesla model S car in Copenhagen and strangely (most probably overwhelmed by the idea of having a car without physical knobs and buttons), I thought that dashboard was a perfect example of how the same requirements could be realised in very different ways. And that leads to a very different work effort and consequently the price.

The Requirements

But 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 ways, however they tend to be more general than specific, especially nowadays, when the time is everything. You simply go out of business if you specify your whole product upfront and then design, develop, test, and finally… release it (unless your competitors still live in the 1990s).

The Estimate

But this is business and software is engineering, so you need to know things. At least the budget and timing. You have to know how to manage risk when budgeting the project. You must ask your Development Team to come up with a ballpark estimate so you can figure out the budget.

The Surprise

To your amazement, the estimate your Dev Team gives turns out to be huge. You’ve asked your friend developer and she’s said she could do it in a third of the given time. So you’ve given it to other two Development companies to come up with a quote. What you’ve got back 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’ve given the same requirements to three different companies and they’ve provided you with estimates that are totally divergent.

Relax, this is normal

What happened is that each of the development teams that were engaged into 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, knowledge, and therefore a product vision. If your product was a car dashboard, they would envision it like this:

Team A. Ballpark estimates: 60 Man Days.

Team B. Ballpark estimates: 360 Man Days.

Team C. Ballpark estiamtes: 180 Man Days.

As you see, these different dashboards meet the same requirements:

  • Comfortable steering wheel
  • Readable display of basic car measurements such as speed
  • Blower / Air Vent
  • Safety environment

However, one team chose to build a rough, startup board, while the other wanted to build a state-of-the-art dashboard which has screens everywhere. After the small investigation and discussions with this team it became clear.

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 a budget of 20%. 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 kindergarten

What does “better” mean for your business, though? Does your business, at this specific time, really need to be a Tesla car? What do you need today? Do you need a bus to take your two children to kindergarten or is a simple but safe car 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 and 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.

And one more thing — don’t make one estimation only. Iterate. Talk. Tune the development needs to your budget. Technology comes with help, sometimes a little difference in requirements makes a big difference in time and price. Ask for low-hanging fruits in technical solutions.

If you are interested in what our process of estimation is like so you can have your product and budget better aligned to your vision, let me know. I will gladly send you some documents so that you can use them to build your products.

Feel free to reach us now.

— — — — — — — — — — — — — — — — — — — — — — — —

Writen by Piotr Majchrzak, CEO at XSolve

Photo source: Teslamotors.com, XSolve.

Originally published at www.xsolvesoftware.com on September 18, 2015.

--

--

XSolve
XSolve Blog

Agile Software House focused on PHP/Symfony, Java, JavaScript and Mobile.