Analogy with House Building


Often, software development is compared with more mature engineering disciplines. An analogy with building construction is sometimes used to demonstrate the value of good architectural design, detailed planning (as if construction projects always deliver on spec, on time), and a solid mathematical and scientific basis. Let's see how one would approach a house-building project under both cost-of-implementation assumptions.

Imagine that an architect discusses the specifications for a house to be built for a couple. An important factor is the number of bedrooms to be built. The couple must decide now how many bedrooms they will need in the foreseeable future. How many children will they have? Hard to predict. But they must decide now, because it will be very costly to add more rooms to the house later. They must invest now their money is tied up in those rooms they may never need. If they underestimate the number of rooms needed, they will be faced with costly modifications or will have to build a new house. If they overestimate, they waste money.

If, on the other hand, adding a room later costs not much more than building it now, the couple would be wise to postpone the decision until they really need extra rooms. In the meantime, they can invest their money elsewhere. They don't face the risk of over- or underestimating the need for rooms and thus wasting money. They have lowered their financial risk considerably.

Maybe software and houses aren't the same [Jeffries2000].



Extreme Programming Perspectives
Extreme Programming Perspectives
ISBN: 0201770059
EAN: 2147483647
Year: 2005
Pages: 445

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net