The construction industry was booming at the time. The
construction industry followed a rigid process in which
every step along the way was dependent on the
completion of the previous step in the process. If you
want to end up with a building that stays standing and
meets the original design, you can’t start construction
until you have a plan and analyze the requirements for
the building. This thought process mapped nicely to
software development, and the complexity of designing
and constructing a building was similar to that of
creating software applications. Waterfall, which is based
on the construction industry approach, became one of
the most popular SDLC approaches.
As illustrated in Figure 2-2, Waterfall is a serial approach
to software development that is divided into phases:
Requirements/analysis: Software features and functionality needs
are cataloged and assessed to determine the necessary capabilities of
the software.
Design: The software architecture is defined and documented.
Coding: Software coding begins, based on the previously determined
design.
Testing: The completed code is tested for quality and customer
acceptance.
Maintenance: Bug fixes and patches are applied.