Back tostdlib
articleNew

WaterfallProcess

Martin Fowler explains why Waterfall persists despite fundamental flaws: it seems logical but assumes stable requirements that rarely exist

Martin Fowler's analysis of the Waterfall process and its persistent problems. Waterfall breaks work into sequential phases (analysis, design, coding, testing) which seems intuitively logical and allows for skill specialization. However, it introduces significant risks through late testing and integration, assumes stable requirements when 'the vast majority of software projects find they need to change their requirements,' forces predictive rather than adaptive planning, and prevents early releases. Despite these flaws, Waterfall persists because it appears logical, requires different skills at different stages, and is easier to standardize across projects. Fowler's assessment is blunt: use 'iterative development only in projects that you want to succeed.' While acknowledging theoretical scenarios where Waterfall might work, he hasn't personally encountered such circumstances. The core problem: Waterfall's fundamental assumptions about stability and predictability don't match software development reality.

Source: martinfowler.com
#resources

Explore more resources

Check out the full stdlib collection for more frameworks, templates, and guides to accelerate your technical leadership journey.