A/E/C (architecture, engineering, construction) is nothing like software development.
Software is far more complex than construction. Complex, as in information content, as in how many decisions must be made. Bridges are described with a few 100 construction drawings and some supporting text.
Construction is a far more constrained problem space, compared to software. Physics (engineering), construction materials, site location, application, and building codes pretty much predetermine what any given bridge is going to look like. A civil engineer spends most of their time "finding" the bridge design that satisfies all the constraints (a search problem). They get all excited over green field projects, because there's more room to play (e.g. highways rebuilt after St Helens blew up).
Construction design has regular checkpoints (e.g. 30, 60, 90, 100% submittals) for full client review. Iterative development in software is the exception, not the rule. When things get tough, it always degenerates into the waterfall "model".
The points previously made about transparency (open source) and quality of requirements also apply.