> For the complete documentation index, see [llms.txt](https://isubasinghe.gitbook.io/isithas-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://isubasinghe.gitbook.io/isithas-wiki/software_engineering/management/process_and_management/waterfall.md).

# Waterfall

## Basic idea

The original plan-driven SDLC: sequential phases (requirements → design → implementation → verification → maintenance), each fully completed before the next begins. Strong if requirements are fixed; brittle if they aren't.

## Key facts

* Requirements frozen at the start.
* Phase-by-phase, no overlap.
* Heavyweight up-front planning ⇒ accurate budgets if everything else holds.
* Painful to accommodate change late.
* Traditional approach used for over 40 years.
* Requirements must be defined at the start.
* Little / no alternations.
* Sequential - Complete 1 task and then the next.
* Used in large scale SW development where thorough planning and predictability is required.

## Pros

* Extensive planning, this thoroughness often results in more accurate timelines and budgets.

## Cons

* Difficult to apply changes or modify / correct previous steps
