The spiral model is a
software
development process 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 1985. This model
was not the first model to discuss iterative development, 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.
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
For a typical shrink-wrap application, the spiral model might mean
that you have a rough-cut of user elements (without the polished /
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 and needs constant review to stay on
target. For smaller projects, the concept of
agile software
development is becoming a viable alternative.
Advantages
 |
|
 |
| |
 |
Estimates (i.e. budget, schedule, etc.) 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. |
|
|
 |
|
 |
|
|
|