Skip to content

Multiple options for success

November 27, 2006 by Artem

In a lot of large software projects there are some very critical requirements that require very critical choices be made early. For example, when building large web-application that has to sustain millions of requests per minute, a choice of the database, database schema and scalability options can play a critical role, yet it might be impossible to decide upfront which option suits your needs better. Typical agile-style decision would be to run a couple of architecture spikes to stress-test the potential solutions. Unfortunately sometimes such trials can take as much time as a half of the whole project.

A little unexpected way of solving this challenge would be to delay the decision as long as possible. The later you make a decision, the more information you have, the more time you can spend or research and eventually you can make a more educated choice. In some cases it is even reasonable to simultaneously develop several solutions in order to make sure that at least one succeeds.

A Toyota Prius Case

One time when Toyota was starting the development of the first mass-sold hybrid car in the world – Toyota Prius, they had three engine options: one not so good option, that could be developed on time for sure, one ok option, that was somewhat more complex to develop and one potentially brilliant option, that could be developed on time only if everything went well.

Toyota engineers decided to simultaneously develop all three options. Even if the best option wasn’t ready, they still would have the acceptable option on time. I don’t know which of the three options eventually went into sales, but many have heard an unbelievable success of the Prius hybrid car. Three engine development teams took a lot of money, but missing a market window would cost a fortune more.

Your experience

Have you ever tried simultaneous multiple options development? Did the invested efforts pay off?

I’ve heard this Toyota story from Mary Poppendieck on XP2006

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.