Less than Agile: The Waterfall Approach

At the simplest level, many of the Agile approaches emerged in reaction to the waterfall model of software development. The waterfall model, as commonly understood and implemented, is a strictly sequential process of multiple stages moving irreversibly from one to the next (Figure 7-1). Starting from an initial stage that establishes complete requirements, it proceeds to design, implementation, and finally, testing and launch. Each of these stages stands in isolation, with all of the work complete before the next stage begins. This model, one with which we are all quite familiar, seems logical at the outset; it has an appealing simplicity and provides us with a sense that we are in control.

The Waterfall approach is so named because all work and information flows downhill from one stage to the next.

Figure 7-1. The Waterfall approach is so named because all work and information flows downhill from one stage to the next.

It's easy to draw parallels between the waterfall approach as applied to software development and methods successfully applied to production lines. On the surface, the waterfall model appears to scale easily. Because only one task or type of work is attempted at a time, we get the sense that we can avoid complexity and confusion. From a business planning perspective, it also has a clear advantage in that it seems more predictable and amenable to specific timelines, feature lists, and launch dates. It is exactly these types of predictions ...

Get Subject To Change: Creating Great Products & Services for an Uncertain World now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.