background image
<< Different Models of Software Development | Incremental Development >>

Interactive Waterfall Model

<< Different Models of Software Development | Incremental Development >>
A definition of requirements may be accurate at the time of capture but decays with frightening
speed. In the modern business world, the chance of your requirements analysis being valid a couple
of months after it has been conducted is very slim indeed.
Other versions of the waterfall model have been developed to alleviate this. One, the Iterative
Waterfall Model, includes a loop as shown below.
This model attempts to overcome the limitations of the original model by adding an "iterative"
loop to the end of the cycle. That is, in order to keep up with changing requirements the "analysis"
phase is revisited at the end of the cycle and the process starts over again.
This alleviates the situation somewhat but still introduces a considerable lag between analysis and
implementation. The waterfall model implies you have to complete all the steps before you start
the process again. If requirements change during the life of the project the waterfall model requires
the completion of a full cycle before they can be revisited.
Other Models of Software Development
In response to the waterfall model any number of new models have been developed and touted as
alternatives. Some are interesting and many have promise but all have their pitfalls and none have
delivered the quantum improvements they have promised.
Iterative or Rapid Development
In iterative development, the same waterfall
process is used to deliver smaller chunks of
functionality in a step-by-step manner. This
reduces the management and overheads in
delivering software and reduces the risk
inherent in the project.
One of the major reasons cited for
software project failure (and a common
sources of defects) is poor quality
requirements. That is a failure to correctly
specify what to build. By delivering small chunks and validating them, the project can self correct
and hopefully converge on the desired outcome. This contrasts with the long lag times in the
waterfall model.
A variation on this theme is "Rapid Applications Development" or RAD.
The phases are similar to waterfall but the 'chunks' are smaller. The emphasis in this model is on
fast iterations through the cycle. Prototypes are designed, developed and evaluated with users,
involving them in the process and correcting the design. The model is particularly suited to
projects in rapidly changing environments where the team needs to adapt to different situations.
5
Figure 3: RAD model
Design
Develop
Implement
Specify
Evaluate
Figure 2: Iterative Waterfall Model
Design
Develop
Implement
Analyse