Thursday, September 27, 2007

The Buck Stops Here

Computer systems can be very complex. So complex, in fact, that no one person understands everything about the system. When something goes wrong the question is inevitably asked, "who's fault is it?" Human Nature's answer: "it obviously wasn't me." This is often the case, no one person can be blamed, but it is so much easier to fire one person, or sue one company than to rationally consider the many contributing factors.
Quality assurance may be the hardest part of designing good systems. Depending on the nature of the application, there may be an infinite combination of inputs or scenarios. One can only hope to create tests that will catch most problems. Sometimes they don't.
In these cases someone will be reprimanded, and they will likely not make the same mistake again. This scapegoat allows everyone else to feel like their knee-jerk human nature response was right and continue doing what they were doing. The problem is the blame often should be shared.
Perhaps a better response, as an engineer or developer, would be to assume that the problem was my fault. I would ensure that if a similar mistake was made above me in the process I would discover it. This increased self-accountability may make me the ideal scapegoat, but it may save property or lives. The buck stops here.

See The Gimli Glider Case:
http://ms.radio-canada.ca/archives/2002/en/wmv/tdgimliglider19830729et1.wmv
http://www.teamdan.com/archive/gimli.html
http://www.flatrock.org.nz/topics/flying/gliding_into_infamy.htm

No comments: