In that case, the mechanical engineer would certainly acquiesce, just like most of us do when management prefers speed/cost to scalability.
Not any more.
But in the 19th century bridge failure was quite frequent, until things like the Tay Bridge Disaster happened, and then some standards were imposed, and engineers and others were empowered to enforce high standards.
In any field you can have fast development, or you can have safe development, but you really can´t have both. It remains to be seen quite what level of software disaster it will take to bring this lesson home in our industry.
- 508 / ADA compliance
- HIPAA
- AICC / SCORM / cmi5
- PCI / DSS
Things like code quality and inner loop optimization are largely irrelevant for the people who are using the software.
Our industry loves to write CYA statements about the product not being intended to be used in critical situations and bury it in the fineprint of licenses we know customers do not ready anyways. Then, we act surprised when the same customers go and use the product in life or death situatioins.
This is not theoretical, just to highlight the most well known example: Our current generation of social media was created for the purpose of allowing college aged people in first world nations to share trivial details about their personal lives with friends and aquaintances. But now we see activists using the same media to organize civil resistance against governments; specially governments with huge stains in their human rights record.
You hit the nail on the head. It happened when we stopped financing our own work.
Maybe they should. There's a reason agile won; it was and remains more efficient than the alternatives.
Better from the market's POV != better for the people who use it.
We would have dramatically less surveillance programs, automated enforcement and bombs if there wasn't as many people ready to blindly write the software for them.
We should be thinking hard about what we are building and how it will be [ab]used, especially in government.
"I try to stay much less emotionally attached to the end-result".
This is the mindset that drives most of military, police and totalitarian policy. You don't drop a bomb or violate the constitution without a bit of emotional divestment.
I don't know about you, but if I'm not given what I need to do something, there is no way in hell I'm going to take responsibility for it.
EDIT: Not to mention that, if I do hold my ground and refuse to do something until I have what I need, the company is going to fire me and find someone who doesn't give a shit. And quite frankly, I like being able to buy food.
At some point (agile?) we explicitly gave up all moral responsibility for our creations, to people with money.