A product development methodology in which a project is broken into phases that follow each other sequentially in a steady flow downwards.
The classic sequence is composed of 5 broad phases: Analysis (or requirements gathering), Design, Implementation, Testing, and Maintenance, each ending with a checkpoint and deliverables.
Unlike the agile methodology, a project cannot move to the next phase until the current one is complete, and it is not possible to make changes to a previous step without starting the whole project from scratch. Each step is meticulously documented, which ensures continuity of the project if the team members change, and the overall process provides a structured approach that helps create from the start a clear image of what the end product will look like.