The waterfall model is a software process in which development flows downward through a fixed sequence of phases - system requirements, software requirements, analysis, program design, coding, testing, and operations - with each phase substantially finished before the next one starts. Because work appears to cascade from one stage to the next, the arrangement came to be pictured as a waterfall.
The diagram that gave the model its shape comes from Winston W. Royce’s 1970 paper “Managing the Development of Large Software Systems,” presented at IEEE WESCON. Royce drew the now-famous sequence of boxes flowing from requirements to operations to describe how large programs were being built.
The irony is that Royce did not advocate the pure linear version. Immediately after presenting the simple top-to-bottom scheme he wrote, “I believe in this concept, but the implementation described above is risky and invites failure.” He argued that testing, which falls at the very end, is the first point where timing, storage, and input-output behavior are actually experienced rather than analyzed, and that problems found there force expensive redesign all the way back to requirements.
Royce’s remedy was to add feedback loops, prototyping, and customer involvement so the process could iterate rather than run straight through once. The stripped-down sequential reading of his diagram nonetheless became the textbook “waterfall model,” and it served for decades as the baseline that later iterative and agile approaches defined themselves against.