When designing and building something, where you land on the waterfall-to-agile spectrum should be determined by the cost-of-change.
Mediums where cost-of-change is high should fall at the Waterfall end of the spectrum because they demand more up-front precision in all factors of the project (design, estimating, planning, scheduling, etc)
An example of a medium with high cost-of-change is building construction. It’s incredibly time and resource expensive to change course mid-project.
Mediums where cost of change is low, should fall at the Agile end of the spectrum because they require less up-front precision and should be approached with an iterative, evolutionary process that allows for rapid build-test-refine feedback loops.
An example of a medium with low cost-of-change is software development. It’s quite time and resource affordable to reconfigure the arrangement of a user interface.
Of course, there is a gradient to both of these examples. Especially if you’re looking at sub-components of them. But the filter serves as a good high-level guide for how you should be thinking about process-design for a specific project.