> For one thing, our specifications, themselves, are sorely lacking in specifications!
you cannot ask a customer of a building to specify what strength concrete needs to be used.
They specify the color of their kitchen, how much sunlight they want, and how many rooms. And as a demanding customer, it makes sense to want to change their minds.
I don't see the lack of specification, nor the lack of adherance to it, a problem. You, as an engineer, is responsible for solving these problems - including telling them they've forgotten to think about XYZ. You're not a human language to code translator.
That would indeed be the way if they would pay for all of that; often it also has to be cheap and fast. It happens with buildings and bridges too, but somewhat less as broken software feels less urgent (as it normally doesn't cause immediate death).
> you cannot ask a customer of a building to specify what strength concrete needs to be used.
Indirectly, you can. They'll specify how many floors there needs to be, and combined with automatically-specified things like gravity and local weather phenomena, you can derive what building materials you can safely use.
And, yes, you are bang-on correct. For one thing, our specifications, themselves, are sorely lacking in specifications!
It's half-assed all the way down.