Spiral model
|
The spiral model is a development model combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts.
The spiral model was defined by Barry Boehm in his article A Spiral Model of Software Development and Enhancement from 1986. This model was not the first model to discuss iteration, but it was the first model to explain why the iteration matters. As originally envisioned, the iterations were typically 6 months to 2 years long. This persisted until around 2000.
Each phase starts with a design goal and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, with an eye toward the end goal of the project.
Applications in Software
For a typical shrink-wrap application, the spiral model might mean that you have a rough-cut of user elements (without the pretty graphics) as an operable application, add features in phases, and, at some point, add the final graphics.
The Spiral model is used most often in large projects (by companies such as IBM) and needs constant review to stay on target. For smaller projects, the concept of agile software development is becoming a viable alternative. Agile software development tends to be rather more extreme in their approach than the spiral model.
Other Applications
The US military has adopted the spiral model for the Future Combat Systems.
Advantages
- Estimates (budget and schedule) get more realistic as work progresses, because important issues are discovered earlier.
- It is more able to cope with the (nearly inevitable) changes that software development generally entails.
- Software engineers, who can get restless with protracted design processes, can get their hands in and start working on a project earlier.
See also
de:Spiralmodell it:Modello a spirale
Outside links
A graphical representation (http://www.elanman.org/teaching/gmu/swe620-infs622/Graphics/spiral_model.gif)