It's only for not well understood problems that it fails so completely. In software, in my opinion, fewer problems are well understood at the moment, and so we tend to avoid waterfall.
However, if someone wanted me to set up a webserver to serve static files that don't change? I'm 99% sure I could set up nginx on a virtual machine "fully waterfall" and have no problems.
The same is true for many other real life "waterfall" processes, like buildings, or bridges.
Or if the problem is that well-understood, there's an off-the-shelf solution so good nobody seriously thinks about re-implementing it.
> However, if someone wanted me to set up a webserver to serve static files that don't change? I'm 99% sure I could set up nginx on a virtual machine "fully waterfall" and have no problems.
Exactly. That's barely software development. That's using fully-commoditized components in well-understood fashions to achieve a well-understood goal.
You could script that. I'm sure some places have.
Source: was a commercial interiors contractor before I was a software engineer.
The most well defined piece of software I know of, sel4, had a full machine checkable formal proof up front, and they still ran into issues during implementation that required them to go back and modify the spec.
Our industry being rather foolish, people read the paper and thought, 'hey, this sounds like a good idea!'
It's not my fault that it appears you've been using the term wrong. Waterfall with feedback ceases to be waterfall.
I don't think it really has anything to do with gravity.