The Waterfall model is a sequential design process used in software development, with the development life cycle of Conception, Initiation, Analysis, Design, Construction, Testing, Implementation, and Maintenance progressing steadily downwards, just like a waterfall flows down. Completion of one stage leads to another, and each stage has its separate goals. It owes its origin to the standard workflow process in the construction and manufacturing industries.
The advantage of the Waterfall method is the division of the project into tight compartments, reducing the dependency on individuals in the team. Key individuals coming and going at the transition points of stages does not affect project execution. The method also calls for robust documentation, further lessening the dependence on individuals.
The disadvantages are the inflexibility and rigidity. Just as water that flows down a waterfall cannot come back, it is not possible to alter a completed stage or even the project design in any way. Requirements gathering upfront therefore become critical. The logic is that the time spent upfront to ensure comprehensive requirements gathering and design saves considerable time and effort later.