Fish Ladder Analogy

Waterfall software development in the style of Royce 1970 is better analogized to a fish ladder.

A fish ladder in Grand Rapid's Michigan. No fish are pictured.

There’s a sequence of something like six ledges, with a deepish pool of water at each ledge. You can look down on the fish resting in a pool, gathering their strength. When one is ready, it attempts the leap up to the next ledge. Typically, it lands on the edge and wriggles wildly to move forward into the deeper water. More often than not, it fails and gets swept back into the previous stage.

*That’s* a better, more realistic metaphor for waterfall development, and it supports Royce 1970's central claim: that falling back one level is natural and normal and “scoped to manageable limits.” It’s having the poor fish be washed all the way back to the bottom of the ladder that would be the big tragedy.

When you see a fish being washed back one level, you don’t think it’s a bad fish (Good People Don't Err). You think “life’s tough all over.” You can even wax evolutionarily and say that there must be some non-obvious cost that caused natural selection not to create fish that succeed on every jump.