What is Waterfall?
Waterfall is a linear approach to software development. In this methodology, the sequence of events is something like:
- Gather and document requirements
- Code and unit test
- Perform System testing
- Perform user acceptance testing (UAT)
- Fix any issues
- Deliver the finished product
In a true Waterfall development project, each of these represent a distinct stage of software development, and each stage generally finishes before the next one can begin. There is also typically a stage gate between each; for example, requirements must be reviewed and approved by the customer before design can begin.