ArtilleryThe Waterfall Model and the Spiral Model


Artillery The Waterfall Model and the Spiral Model

Artillery is suited for a fixed target. An effective way to hit the target is to spend a long time computing its exact position, the wind speed, and other factors and then to shoot a single shell with a heavy gun. With this technique, the target is hopefully destroyed on the first shot (see Figure 8.1).

Figure 8.1. Hitting a fixed target

graphics/08fig01.gif

This is the waterfall approach of traditional software engineering: Spend a long time performing analysis and design, and do the system right the first time (see Figure 8.2).

Figure 8.2. Traditional cascaded software development

graphics/08fig02.gif

An alternative technique for hitting the target is to fire a sequence of shells toward it. An observer spots the explosion of each shell, and its position is compared with the target position, enabling correcting the aim and firing a subsequent shell, which is more precise than the preceding, until the target is destroyed. This is a typical artillery technique and may work even if the target is slowly moving.

In software development, this technique is the spiral methodology. Each shot corresponds to an iteration of the spiral process. Each iteration performs risk evaluation, then analysis and design (the aim phase of each shot), and eventually the coding of a portion of the system. The prototype resulting from each iteration does not satisfy all customer requirements, but each iteration gets closer to the goal. The final system results from the last iteration, corresponding to the last shot, which hits the target.

Artillery works well if the target is fixed. But what about moving targets?



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