The Waterfall model is a sequential software development model in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing, integration, and maintenance.
Initto recommends that the waterfall model is employed when the project requirements are stable and each phase can progress smoothly with a minimum amount of rework.