Waterfall development

Waterfall models were prominent in the early days of software development, being formalized into a standard during the mid-1980s by the US military. Waterfalls follow a sequential method, with development stages flowing downhill toward completion.

The stages are successive; though some allowance for overlap and rework is allowed, returning to a previous stage is discouraged. The main point to waterfall development is tight control of the entire project, from planning and maintaining deadlines to resource management and entire system implementation at one time. Project management focuses on the project lifetime through extensive documentation, formal reviews, and approval prior to commencing the next stage.

This approach is seen in classic project management models, regardless of the project, and is often seen as one reason why deadlines are missed, cost overruns occur, and the final product fails to deliver the expected results.

Another problem with waterfall development is that it is inflexible in terms of customer requirements. Once the project is approved, it continues until the product is delivered, regardless of whether the customer truly knows what that deliverable should actually do. The waterfall model is depicted in the following diagram:

Waterfall development

Attribution: CC BY 3.0 (Peter Kemp / Paul Smith)