Waterfall under the bridge

#software

TIL the origins of the concept of software waterfall development: it was first used to advise against the practice. There are a number of analogous examples of terminology for criticism being adopted by fans, either unaware or unswayed by the critic’s words.

The 1970 paper Managing the Development of Large Software Systems by Winston w. Royce first presented a diagram of what we now know of as “waterfall” software development (though that term is not used).

“I believe in this concept, but the implementation described above is risky and invites failure. The problem is illustrated in Figure 4.”

Figure 4

Several years later Bell and Thayer coined the term “waterfall” referencing Royce but expressed no opinion on it.

From there, for decades and still to this day, lots of waterfall development goes on. Why?

Possible reasons include: hardware development project methodology was adapted for software without leveraging the potential for great flexibility and rapid change that code makes possible; also since software projects were notoriously late and over budget a process where each stage completes with no possibility of going back was thought to be more manageable.