My experience has been that the few good developers still around that haven't given up the fight are struggling mightily every day TO BE ALLOWED to use standards and techniques known to improve software quality.
Management's obsession with rapid development however, admonishes them for wasting time and labels them "unproductive". A pick-slip is often the eventual result so they can be replaced subservient novices right out of school who will slap something together in such as way as to meet deadlines pulled out of thin air.
The same would be true in the building industry if there were no building codes, which attempt to enforce a minimal level of safety and reliability on structures. Yes, there is corruption of that effort. Both in the inclusion of codes to shutout competitors and in the ignoring of codes in order to increase profits. Nothing's perfect. But without them, a whole lot of people would be dead that are alive today.
With "Software Codes", wouldn't the cost of doing business be far more predictable?
Everyone screams about anything that increases the cost of doing business. Isn't the real issue not the absolute cost, but rather the unexpected cost?
When government does something that increases costs, the main problem for the business is usually that those costs were not factored in to the business's budget. They couldn't be since they were unknown when the budget was being developed. That's why many laws with obvious economic impact are set to take effect at some point in the future in order to give businesses a chance to plan for them. Not every business does however and they may suffer for it.
Certainly software errors cause tremendous economic losses to businesses and individuals regularly. What no one wants to admit however, is that software errors kill people.
NASA's tragedies are just the most visible examples. Government and medicine are two fields with lots of blood on their hands from software errors though few realize it and even fewer will admit it.
Too much is demanded of most workers today for them to be able to make decisions unaided by computers. For example, nurses have more patients to care for than they could possibly handle without monitoring systems to alert them when someone is in distress. When that software fails to detect that a cord has come unplugged or an IV line is blocked, patients sometimes die because no one knew about it. They couldn't know.
Perhaps it is time for some kind of "Software Development Codes"?
[Robert C. Watson on PragProg, 08/06/2004]