ManagementAll levels

Waterfall

Waterfall is a way of running a project in fixed order, where each phase is finished and signed off before the next one starts. It is usually taught as the outdated thing Agile replaced, which is both unfair and unhelpful: it is the right choice whenever changing your mind late costs more than specifying carefully now. The page opens with every phase on one screen — what it produces, the gate that closes it and what a change costs there — then covers what Royce actually wrote in 1970, each phase in turn, the V-model, six questions that decide between a predictive plan and an iterative one, the hybrids real projects run, five documented cases, and where it degrades.

First drawn
Royce, 1970 — as a warning
PMBOK name
Predictive life cycle
Feedback point
At acceptance

Waterfall on one screen

Here is the whole model first. Waterfall is defined less by its phases than by what closes each one: a document, a review and a signature. The table walks through the five phases in order — what each one produces, what must be true before anyone may leave it, and what a change costs if it is discovered there.

PhaseWhat it producesThe gate that closes itA change found here costs
1. RequirementsA requirements specification: every function, plus how fast, how many users, what is logged, which regulations apply. ISO/IEC/IEEE 29148 lists what goes in it.Every requirement can be tested, and the customer signs the baseline — in systems engineering, the System Requirements Review.An edit to a document and a new signature.
2. DesignAn architecture — the components and the interfaces between them — and a detailed design of each component, with interface control documents for anything shared.The design can meet every requirement, traced line by line. In defence and space these are the Preliminary and Critical Design Reviews, PDR and CDR.The design documents below the change, and a second review.
3. ImplementationCode and unit tests, built against the interfaces in the design rather than against each other.Every unit is complete, unit-tested and reviewed against its design.Rework in every component that touches the changed interface, plus the design documents.
4. VerificationThe integrated system, tested at integration, system and acceptance level, and a test report.A Test Readiness Review before testing starts; the customer’s acceptance signature after it.Everything above it at once: a wrong requirement reopens design and code at the point with the least time left.
5. MaintenanceThe system in operation. Defects are fixed, and changes are made through formal change requests against the baseline.Each change request is assessed for impact and approved by a change control board before work starts.A change request, an impact analysis, a regression run — and a contract amendment if the scope moves.

Whether to use the model at all is decided by one number — what it costs you to change your mind late — and the fifth section turns that number into six questions you can answer about your own project.

What Royce actually wrote in 1970

Now for a piece of history worth knowing, because it changes how you read every diagram of this model you will ever see.

The cascade comes from a paper that Winston Royce, a manager at the defence contractor TRW, presented at the WESCON conference in August 1970: "Managing the Development of Large Software Systems". His second figure shows seven steps in a line — system requirements, software requirements, analysis, program design, coding, testing, operations. The word "waterfall" appears nowhere in the paper. Thomas Bell and T. A. Thayer are usually credited with attaching that name to it, in 1976.

A page later, Royce wrote: "I believe in this concept, but the implementation described above is risky and invites failure." His reason is precise. Testing is the first moment at which timing, storage and input and output are experienced rather than analysed. If they fail their constraints, the design has to change, and then, in his words, "the development process has returned to the origin and one can expect up to a 100-percent overrun in schedule and/or costs."

He spent the rest of the paper on five additions that make the sequence survivable. The table gives each one under his own heading, what he asked for, and what the same idea is called today.

Royce’s stepWhat he asked forCalled today
1. Program design comes firstA preliminary design, done before analysis by designers who know the machine’s limits, so that storage and timing problems show up while they are still cheap.An architecture spike, a walking skeleton
2. Document the design"Quite a lot" of documentation, which he made the first rule of managing software: "ruthless enforcement of documentation requirements".Design documents and decision records — the one addition the industry kept, and over-kept
3. Do it twiceIf the program is being built for the first time, the version delivered to the customer should be the second. For a 30-month project, perhaps a 10-month pilot model.A prototype, a pilot, a thin end-to-end slice
4. Plan, control and monitor testingTesting planned by specialists who did not write the code, every piece of analysis and code scanned by a second person, and every logic path exercised at least once.Independent testing, code review, coverage
5. Involve the customerFormally, and at defined points between requirements and acceptance, because what a design is going to do "is subject to wide interpretation even after previous agreement".A review or a demo at the end of every increment
Royce kept the phases; what the single pass dropped is everything he put on top of them. His plan builds a pilot model alongside requirements and design, so something runs by month 8 and its lessons shape the real design, and it brings the customer in four times rather than twice. The version the industry adopted keeps the sequence and discards both, so the first moment anything runs is month 21, when integration starts — with nine months left to absorb whatever it reveals.

His son, Walker Royce, who later helped build the Rational Unified Process, told Craig Larman and Victor Basili that his father "was always a proponent of iterative, incremental, evolutionary development", and that the paper described the waterfall as the simplest description, one that "would not work for all but the most straightforward projects" (IEEE Computer, 2003).

The five phases, one at a time

Let us walk through each phase: what happens in it, what it produces, and the question that has to be answered before you are allowed to move on.

Each phase completes and is signed off at a gate before the next begins. In the pure model the only route backwards is the late feedback path from Verification to Requirements — which is why a defect found at acceptance is so expensive.

1. Requirements

Everything the system must do is gathered and written down. Not just features — also the non-functional requirements: how fast, how many users at once, what must be logged, which regulations apply.

The output is a specification, and the gate question is: do we all agree this is what is being built? The signatures here are what make everything downstream possible — and what makes a late change a contractual matter rather than a conversation.

One test separates a usable requirement from a wish: can someone write down how it would be checked? "The system shall be fast" cannot be tested. "Search returns results within two seconds for 95 percent of queries, with 500 users online" can — and the V-model below makes that test part of the requirement.

2. Design

The specification is turned into a technical plan. This usually splits in two: high-level design decides the components and how they talk to each other, and detailed design decides what happens inside each one.

The gate question is whether this design can actually meet the specification. This is the phase where an experienced architect earns their keep, because a structural mistake found here costs a week and the same mistake found during testing costs a quarter.

3. Implementation

The code gets written, following the design. Developers write unit tests as they go, but there is no integrated system to try yet — components are built against the interfaces the design specified rather than against each other.

This is the longest phase and, counter-intuitively, the calmest. Everything has been decided; the work is execution. It is also where the project is most likely to be quietly behind, because there is no working system to measure progress against — only percentages of completion.

4. Verification

The pieces are integrated and tested together, then handed to the customer for acceptance testing. This is the first moment anyone sees the whole system behave.

And this is where the model’s central weakness shows. Every assumption made in requirements — nine months ago, by people who had never used the thing — is tested at once, at the point where correcting any of them is most expensive.

5. Maintenance

The system is live. Defects are fixed, small changes are made through a formal change request process, and the product runs until it is replaced.

Worth noting: in most waterfall projects this phase is longer than all the others combined, and it is usually the one nobody plans for properly.

The V-model: every phase paired with its test

There is a variant worth knowing, because it fixes the biggest practical problem with the pure model and you will meet it in regulated industries.

The V-model takes the same phases and bends the line into a V. The left arm goes down through requirements, design and detailed design. The right arm comes back up through the corresponding levels of testing. Each phase on the left is paired with the test level that will verify it.

The V-model pairs every level of specification with the test level that will check it, so each test is designed when its level is written rather than after the build. That is its real gain: a requirement nobody can write an acceptance test for is found in month one. What it does not change is when anything runs — every test on the right arm still waits for the code. The lower levels verify, checking the build against the specification; only acceptance validates, asking whether the specification was the right one, and it runs last.
Left arm — building itRight arm — verifying it
RequirementsAcceptance testing
High-level designSystem testing
Detailed designIntegration testing
ImplementationUnit testing

The practical gain is that the acceptance tests are written during the requirements phase, not after the build. That forces a useful question early: how would we prove this requirement is met? A requirement nobody can write a test for is a requirement nobody has understood, and the V-model surfaces those in month one rather than month nine.

The shape has two independent origins. In Germany, the V-Modell was developed from 1986 by IABG for the Federal Ministry of Defence, taken over for civilian federal agencies in 1992, and revised as V-Modell 97 and then V-Modell XT, which German federal IT projects still use. In the United States, Kevin Forsberg and Harold Mooz presented a "Vee" for systems engineering at the first NCOSE symposium in 1991.

The two halves of the right arm answer different questions, and Barry Boehm gave them their standard wording in 1981. Verification asks "are we building the product right?" — does the build match the specification? Validation asks "are we building the right product?" — was the specification what the user needed? Integration and system testing verify. Only acceptance testing validates.

When a predictive plan is cheaper: six questions

Strip away the culture war and the choice between Waterfall and Agile comes down to a single number: how much does it cost you to change your mind late?

That number is hard to state directly, so here it is split into six questions. Each row says which answer points to a predictive plan and which to an iterative one. Most projects answer some each way, and the mix — not the majority — tells you which parts to plan up front and which to discover by building.

QuestionPoints to a predictive planPoints to an iterative one
1. What does a change cost after release?A recall, a re-certification, a site visit, a contract amendmentA redeploy
2. Can the requirements be known before building?A published interface, a regulation’s text, a migration to a target you understandUsers who have not yet seen the thing
3. Has this team built this kind of thing before?Several times, on the same technologyNew stack, new domain, or both
4. Must someone outside approve a specification first?A fixed-price tender, a safety case, a customer who signs off at gatesNobody outside the team has to approve the plan
5. Is part of it useful on its own?Only the whole works: a data cut-over, a satellite, a bridgeEach slice can be used by someone
6. Who can answer questions during the build?The customer is available at the gates, not in betweenSomeone who can decide sits with the team every week

Why the answers matter comes down to when risk is retired. A risk is retired when something runs and proves an assumption right or wrong — not when a document describing the assumption is signed. A single pass retires little until integration; an iterative plan retires some every time something runs in front of someone.

Risk is retired when something runs, not when a document is signed. A single pass retires a little on paper, then meets every assumption at once when integration starts — which is why the curve climbs before it falls, and why a quarter of the risk is still open at delivery. Monthly iterations retire some every month, because every month something runs in front of someone. The shaded area is the risk the single pass carries without knowing it. The shape is illustrative, after the risk profiles Walker Royce drew in Software Project Management (1998), not a measurement.
  • Change is cheap → iterate

    A web service with automated tests and continuous deployment. A wrong decision costs a redeploy. Deferring decisions costs almost nothing, so gather evidence instead of guessing.

  • Change is expensive → specify

    Firmware on hardware already in customers’ hands. A certified medical device. A system integration where the other side’s interface is frozen by contract. Here, careful upfront thinking is the cheaper path.

Notice that this is a property of your situation, not of your beliefs about software development. The same team may be right to iterate on the web frontend and right to specify carefully on the firmware, in the same quarter.

Waterfall

  • Scope fixed; time and cost estimated against it
  • One large feedback point, at acceptance
  • Documentation is a contractual deliverable
  • Strong audit trail; every gate is signed

Agile

  • Time and team fixed; scope flexes
  • Many small feedback points, every iteration
  • Documentation written where it unblocks someone
  • Audit trail must be built deliberately

The hybrids real projects run

Very few organisations run either model in pure form. The common real shape is a predictive wrapper around iterative execution: a fixed contractual scope and milestone plan on the outside, with the team working in sprints inside it.

That hybrid is honest as long as one condition holds: the outer plan gets genuinely re-baselined when the inner work discovers something. To re-baseline is to agree a new version of the plan and measure against it from then on, instead of reporting against the old one as if nothing had happened.

ShapeWhat is fixedWhat iteratesHonest when
Predictive wrapper, sprints insideContract scope and milestone datesDelivery, sprint by sprintThe outer plan is re-baselined when the sprints find something
Incremental builds — MIL-STD-498, 1994The overall requirements and the architectureDesign and code, build by build; each build is deliveredA later build may change what an earlier one assumed
Stage-Gate — Robert Cooper, 1990The gates and their criteriaEverything between two gatesA gate can stop the project, not only approve it
Water-Scrum-Fall — Forrester, 2011Requirements up front, release at the endDevelopment onlyRarely: it keeps both ends of Waterfall and calls the middle Agile

Stage-Gate deserves a sentence of its own, because it is often confused with Waterfall and is a different thing. Its gates are investment decisions — continue, change course, or stop — taken by people who control the money, and a portfolio in which no project is ever stopped at a gate is running a ceremony, not the method. The planning-side version of the same idea, detailing the near term and leaving the far term coarse, is , covered on the work breakdown structure page.

Five documented cases, and the control each one tested

Waterfall’s record is better documented than most methods’, because so much of it was written by governments and inquiry boards. The first two cases are about the model itself. The other three are about what a gate can and cannot catch.

CaseWhat happenedThe control it tested
DOD-STD-2167, 1985–1994The US defence standard for software, issued in 1985, required the single-pass, document-driven sequence. In 1987 a Defense Science Board task force chaired by Fred Brooks reported that the draft revision "continues to reinforce exactly the document-driven, specify-then-build approach that lies at the heart of so many DoD software problems". 2167A (February 1988) tried to be neutral about method; MIL-STD-498 (December 1994) replaced it with incremental builds. The standard’s principal author later said he had not heard of iterative development when he wrote it, and would have recommended it.A mandate. One life cycle required of every project, whatever its cost of late change — the very question the model should be chosen by.
Space Shuttle flight software, 1977–1980IBM’s Federal Systems Division built the primary avionics software at the heart of the shuttle — a textbook case of rigorous specification — in 17 iterations over 31 months, about eight weeks each, because the shuttle’s requirements kept changing. The team described applying "the ideal cycle to small elements of the overall software package on an iterative basis" (Madden and Rone, Communications of the ACM, 1984).Rigour in small increments. The gates and documents were kept; what changed was how much each one covered.
Denver International Airport, 1995Design of the airport-wide automated baggage system began well after construction of the airport was under way. A fixed scope, schedule and budget "precluded extensive simulation or physical testing of the full design" (SEBoK case study). The airport opened in February 1995, sixteen months late, at a delay cost of about $1.1 million a day, and the automated system was abandoned in August 2005.A fixed plan with no room for verification. Scope arrived late, the plan was not re-baselined, and testing was the phase that gave way.
Ariane 5 flight 501, 1996On 4 June 1996 the rocket broke up about 40 seconds after launch. Its inertial reference software had been reused from Ariane 4. Converting a horizontal-velocity value — far larger on Ariane 5’s trajectory — into a 16-bit integer overflowed, and shut down both the unit and its identical backup. The inquiry board found that the Ariane 5 trajectory had not been part of the unit’s specification, and that the complete system had not been tested with it (Lions report, July 1996).The right arm of the V. A requirement inherited without being re-validated for its new use, and the one test level that would have exposed it left out.
Mars Climate Orbiter, 1999Ground software supplied to the navigation team reported thruster impulse in pound-force seconds; the interface specification required newton-seconds. Months of small trajectory errors accumulated, and on 23 September 1999 the spacecraft reached Mars far lower than planned and was lost. The mishap board named the root cause as the failure to use metric units in a ground software file called "Small Forces" (Phase I report, November 1999).A signed interface is not a verified one. The specification existed and said the right thing; nobody tested the interface end to end across the boundary between the two organisations.

Where it degrades into theatre

The honest limit first. Waterfall is honest about scope and date and silent about knowledge. It can only ever be as right as the requirements were in month one, and it has no mechanism of its own for finding out they were wrong before the verification phase. Where knowledge genuinely exists before the build — a frozen interface, a known migration target, a team doing the fifth version of the same thing — that silence costs nothing, and the model’s discipline is pure gain.

Its defenders and its critics agree on more than either admits. David Parnas and Paul Clements, who believed in the ideal of a rational, specification-first process, published "A Rational Design Process: How and Why to Fake It" in 1986: nobody can actually work that way, they argued, but the documents should be written as if they had. Fred Brooks put the other half more bluntly in his keynote at the 1995 International Conference on Software Engineering: "The waterfall model is wrong!"

  • Requirements signed off by people who will not use the system, so acceptance is the first real review.
  • A verification phase compressed to fit a date, which turns testing into a formality.
  • Change requests treated as failures rather than as information, so the plan is defended past its usefulness.
  • A change control board that meets monthly, so every change — right or wrong — waits a month.
  • A traceability matrix filled in after the build, to pass the audit rather than to find a gap.
  • A design review that reviews slides instead of the design, so the gate is a meeting rather than a check.
  • Acceptance tests written after the code, which keeps the V on paper and removes its only gain.
  • inside a plan that is never re-baselined — iteration in appearance only.
  • Progress reported as percentage complete, which cannot be verified until the system runs.
  • "Waterfall because the regulator requires it", when the regulator requires evidence, not a sequence.

When to use it

Use it when

  • Requirements are genuinely stable and well understood before work starts.
  • A late change is genuinely expensive — shipped hardware, physical deployment, frozen interfaces.
  • The team has built this kind of system before, on the same technology.
  • The contract fixes scope and price, and the client needs a date to plan around.

Avoid it when

  • The product is new and its users have not yet told you what they need.
  • The technology is unfamiliar, so design estimates are guesses dressed as plans.
  • You can release cheaply and often — then late feedback is a cost you chose, not one you inherited.
  • The plan will not be re-baselined when reality diverges, which makes the gates theatre.

Sources and method

What this page stands on

  • 16 sources
  • 3 documented failures
  • Checked October 13, 2026

Practices and where the terms come from

what Royce wrote, the phases, the V-model and its vocabulary

Researched with Claude. Finding and cross-checking the primary sources was done with Claude (Anthropic). Selection, writing and fact-checking: the Anatomy of IT Product editors.

Found this useful?

Share it with someone who is working on the same problem.