The spiral development model is normally associated with
the one set forth by Dean Muench (Sybase, 1994). His model uses the spiral
to describe successive process loops resulting in a single software
deliverable. I view the spiral model differently; representing successive,
iterative deliverables. This is view borrows from the Rapid Application
Development approach. As represented by the fairly narrow banding, the
initial deliverable is relative small. Each successive deliverable,
building on the prior one, contains more. Each deliverable goes through
the entire lifecycle.

This model supports
both short burst deliverables where frequent small deliverables
are released, and more extensive content deliverables taking a longer
period of time per release.
This diagram does not show the
potential for parallelism; the ability under the spiral development
model to create parallel development tracks whereby work progresses on both
immediate deliverables and longer range deliverables. I have found that
having a single team working on both longer range and short term deliverables is
extraordinarily difficult. It is, I believe, far better to have separate
teams that scrum together periodically to keep in synch.
Another approach to parallel development
is for each successive version's
requirements, specifications,, and even design can be worked on in advance.
This works for shops that are able to separate those functions from the
actual development. With smaller teams, where lead developers are
needed for interpretation of requirements and specifications, and for
creation of design (architecture), this approach again becomes a real
challenge.
In summary, the benefits of this approach to
development are a function of the size and structure of the development
organization, and of the development culture.
Back
to Development Management