in reply to OpEd: Programming is not Team Sports

There's clearly a range of jobs where you need to use some form of "waterfall" (better, I think, would be to call it "Design", or more precisely, "detailed, upfront design"). An obvious example is something like the control system for a nuclear power plant.

As a number of people have pointed out, "design-then-build" doesn't actually describe the construction industry terribly well, and myself I'd suggest that everywhere and anywhere you look, there's a tension between upfront planning and reacting to circumstances. One would not, for example (brace yourself: car metaphor coming) try to drive a car by calculating the angle to turn the steering wheel and then holding it there, irrespective of where the car was actually going.

There's a role for iterative, evolutionary approaches.