Tuesday, December 23, 2003
Software Disasters
When software engineers talk about "software disasters" they usually mean projects gone bad. Schedule slippage, creeping featurism, second-system syndrome, software bloat, etc. These aren't disasters or failures in the same sense that other engineering disciplines discuss them. At least, that is, until the software has been installed or deployed by its intended customers.
The study of failure is an important part of engineering education. Engineers learn from failure. Designs improve as the result of past failures. Designs are constrained within the limits of what measurements and modeling can predict. (An excellent book on the role of failure in engineering design is Henry Petroski's book: To Engineer Is Human).
The most common engineering failure discussed is the collapse of the Tacoma Narrows Bridge which was caused by wind-induced negative damping of the structure. It doesn't require an engineering education to appreciate the spectacle of the bridge's failure.
As the author of this article points out, embedded systems engineers (and software engineers in general) can learn, need to learn, from failure as well. There are several excellent, and hopefully well known, examples described here.
The study of failure is an important part of engineering education. Engineers learn from failure. Designs improve as the result of past failures. Designs are constrained within the limits of what measurements and modeling can predict. (An excellent book on the role of failure in engineering design is Henry Petroski's book: To Engineer Is Human).
The most common engineering failure discussed is the collapse of the Tacoma Narrows Bridge which was caused by wind-induced negative damping of the structure. It doesn't require an engineering education to appreciate the spectacle of the bridge's failure.
As the author of this article points out, embedded systems engineers (and software engineers in general) can learn, need to learn, from failure as well. There are several excellent, and hopefully well known, examples described here.
RSS 0.92 Feed