Apollo 11, the 747 and .Net? No Way
Software gives second chances; a moon landing does not.If software reliability were to be the weakest link in tomorrows IT systems, we could live with that. Recognizing softwares limitations, we could compensate with parallel computations using different algorithms and hardware to provide reality checks; we could prove the necessity, and therefore justify the cost, of human oversight for critical processes. Whats much more dangerous is the delusional mind-set of major software vendors, who honestly believe their problems are the biggest ever faced by human ingenuityand who also believe that those problems will soon be solved. These delusions exaggerate the role of software in our past successes and encourage overreliance on automated systems before theyre ready to take on crucial responsibilities.
I knew Id be writing about this someday, after reading the comments of Microsoft security honcho Craig Mundie when he placed his bet that pilotless airliners will be commonplace by the year 2030. My hackles went up when Mundie blithely said, "I imagine arriving at a methodology for system design that yields as much dependability, on an everyday basis, as the triple-redundant computer that flew guys to the moon." (Read Mundies comments in their entirety.) In fact, the final moments of the first moon landing included a flurry of computer error messages, calmly interpreted by expert ground controllers. Those alarms would have aborted the landing attempt without that human intervention.