There are two important variants of waterfall development. The parallel development
methodologies evolved to address the lengthy time frame of waterfall development.
As shown in Figure 2-3, instead of doing the design and implementation in
sequence, a general design for the whole system is performed. Then the project is
divided into a series of subprojects that can be designed and implemented in parallel.
Once all subprojects are complete, there is a final integration of the separate pieces,
and the system is delivered.
Parallel development reduces the time required to deliver a system, so
changes in the business environment are less likely to produce the need for rework.
The approach still suffers from problems caused by voluminous deliverables. It also
adds a new problem: If the subprojects are not completely independent, design
decisions in one subproject may affect another, and at the project end, integrating
the subprojects may be quite challenging