Waterfall model

Edit · View history

Waterfall model

The waterfall model is a linear sequential approach to software development and systems engineering. It was first described by Dr. Winston W. Royce in a 1970 paper, though Royce himself advocated for iterative feedback between phases. The model divides a project into discrete phases that must be completed in order, with each phase producing defined deliverables before the next begins.

History

The waterfall model gained prominence in the 1970s and 1980s as one of the earliest formalized software development methodologies. It was influenced by manufacturing and construction models where changes are costly after a phase is finished. Despite Royce’s original caveats, the model became widely adopted for projects with stable requirements and low uncertainty. Its rigid structure led to later criticism and the development of agile software development methods.

Phases

Typical phases of a waterfall project include:

Each phase must be fully completed before the next begins, with formal sign-offs and documentation.

Advantages and disadvantages

Advantages include clear milestones, predictable schedules and budgets, and thorough documentation. Disadvantages include difficulty accommodating changing requirements, late discovery of flaws, and long delays before users see working software. These drawbacks spurred the adoption of iterative and incremental models such as spiral model and agile development.