Firefighters are central and stalwart component of American society. We primarily associate firefighters with putting out fires and saving our lives and property. When we look at firefighters we think of historical events such as September 11, 2001, The Great Chicago Fire of 1871, and attributes such as ladder trucks, helmets, air tanks, axes, firehoses, firehouses, dalmations and perhaps even parades. We look at firefighters as people who save us from calamity. Given our esteem for firefighters and the profession, is it a surprise that firefighters do not really want to put out fires, saves dogs, elderly and children? Firefighters want to prevent fires, explosions and calamities from ever occurring so that people and property do not need to be put at risk, let alone saved.
Did you know that "Each year, more than 4,500 Americans die and more than 30,000 are injured in fires" (Hopkins, 2008).
The weighted average property loss per fire in the United States is estimated at $7,957.49 with Michigan reporting the maximum at $37,306.00 and New Mexico with the minimum report at $851.00 (Statemaster.com, 2008). In 2006 alone the estimated property loss totals due to fire were estimated at $11.3 billion (Security, Sales & Integration, 2008).
And did you know that "Each year in the United States and its protectorates, approximately 100 firefighters are killed while on duty and tens of thousands are injured" (TriData Corporation, 2002, page 1).
Could we possibly argue anything other than the fact that preventing fire occurrences is far cheaper and safer activity than managing it in arrears? Firefighters want to prevent fires, not fight them. Unfortunately, due to accidental and purposeful fires throughout the United States alone, firefighters are forced to manage them after they happen when it will cost more time, money, health and most critically -- the lives of those in and around the fires. It is a fact. It is an unfortunate fact. Prevention is inarguably a better solution.
Software systems used in life critical implementations such as cellular communication infrastructures, nuclear facilities, air, sea and land transportation, medical equipment and military operations require extensive preventive measures to ensure availability, reliability, accuracy and scalability (as particularly noted by the cellular call load volumes of firefighters, police and infrastructure teams during the 9/11 events). Being equipped to deal with system fault and failure in arrears is equivocal to health and life loss due to fires. Software system fault and failure cannot and should not happen; and therefore must be pre-emptively prevented through training, design, test-driven development, continuous integration and continuous testing. To prevent is again cheaper on multiple levels than detecting and/or managing in arrears.
And then what about software systems that are not necessarily life critical, but critical to daily business operation? Is the need for proactive prevention any less important? There is a cost to failure in terms of time and money, though it is often undocumented in many businesses in any other form than system downtime. Yes, we have documented costs per defect research that came from Barry Boehm in the 1980s, IBM in sixteen reports from the 1990s, and NIST from 2002 -- but this isn't tacit knowledge for most business leaders. The easiest way to handle system downtime is to minimize the probability through contextual countermeasures such as training, design, test-driven development (TDD), continuous integration (CI) and continuous testing (CT). Because people tend to view software as a somewhat innocuous "thing" one can acquire for $N00 at the store or through $00/hour of labor, people exhibit a comfortability cutting corners to get software to market believing that lower cost of acquisition (cost to get it there) will guarantee lower cost of ownership and a quicker return on investment. If the software equivalent of a fire is system downtime (unavailability, non-reliability, lack of scalability, etc.), then the software equivalent of fire prevention is training, TDD, CI and CT.
Few if any would willingly hook themselves up to a heart managing life-support machine where corners had been cut; this is why we have safety regulations. Similarly, Chicago feels that the increased cost of acquisition for housing nowadays due to requiring electrical conduit throughout an entire building (so that no wiring is exposed) is quite conscionable because the cost of failure far outweighs the cost of prevention.
Unless there is distinct legislation or regulation, the balance between spending on prevention and detection and spending on fire management in arrears is subjective to the decision-maker in question seemingly making it an art. Since art is ordinarily a personal taste, where I may like the works of Paul Gauguin and you like that of Salvador Dali, it seems we are left with a Robert Frost-like conflict -- when is prevention a requirement and when is the expense of firefighting in arrears acceptable? It is a safe bet that firefighters will choose prevention every time because they understand first-hand the cost of failure. Is it then fair to assert that those who do not spend time on prevention do not really understand the cost of failure?
Hopkins, Gary. "Fire Safety: Activities to Spark Learning!", Education World. Published: October 1, 2008. Accessed: November 18, 2008.
Security, Sales & Integration, "Fire Statistics: Installations, Profits & Damage", 2008. (As quoted from the National Fire Protection Association (NFPA))
TriData Corporation, Firefighter Fatality Retrospective Study, Arlington, Virginia, Page 1, April 2002.