Skip to main content

Waterfall Development Life Cycle

The most widely used software development model.

Waterfall requires each step to be fully completed, so the step "flows" to the next. Get it? Flows? Like water? Like $H_{2}O$?

Step Description
Requirements All requirements for the application being developed are gathered from the client, user, or stakeholder.
Design The software is documented, diagramed, and designed.
Implementation The code is written.
Testing A quality assurance team makes sure requirements are met, the code works properly across devices, and security issues are noted.
Deployment The application is released to a client or the public.
Maintenance The application is monitored for bugs or problems that are patched or fixed while in use. This is an ongoing stage that continues throughout the life of the app.

Applications will sometimes go through the same step multiple times throughout development.

This entire development life cycle is a slow process and may take months or years to complete. The Waterfall method also lacks flexibility since the requirements determined in the beginning are carried through to the end product.