Search: Site Web

Software reVisions

In pursuit of reliable, fault-tolerant, fail-safe software and systems

The Humane Society of the United States

Software Building Codes?

My experience has been that good developers haven't given up the fight and are struggling mightily every day to be allowed to use standards and techniques known to improve software quality.

Today's obsession with rapid development however, often results in admonishments for wasting time and labels of "unproductive". The eventual result may be their replacement with more eager to please folks that will slap something together in order to meet arbitrary deadlines established without any real-life assessment of time required to do the job right.

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.

Robert Reich, economist and former U.S. Secretary of Labor, recently (March, 2011) commented about government regulations in general that, though many say those regulations may kill jobs, he points out that a lack of regulations kills people.

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.

Software errors cause tremendous economic losses to businesses and individuals regularly. According to the the National Institute of Standards and Technology, flawed software cost the U.S. economy $60 billion in 2002. 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 or do their jobs unaided by computers. We must acknowledge that computers have become as integral a part of the team as any human members. The nature of the computer's role is such that there is rarely any practical way to manually verify that it is correct or override its actions.

If we are forced to rely upon computer software for life-saving care and life-threatening decisions, doesn't it need to be at least as minimally reliable as our homes and offices?

Perhaps it is time for some kind of software building (development) codes.


First published by Robert C. Watson on PragProg as "Software Development Codes?", 08/06/2004. Updated and revised here 08/01/2005 and 03/25/2011.



Post a Comment

<< Home