Is software developed and tested different in military and government
than in the commercial sector? Certainly. Is the outcome different?
Not substantially. The cases studies we have examined for both circumstances
show that successes and failures exist in every arena. Everyone recognizes
that safety-critical systems need to be tested and examined whenever
they are deployed, the only question is how much weight is given to
this consideration, and government projects seem just as likely to weigh
it too little as those in industry. The methodologies used by the government
are different from those used by the commercial sector; but these differences
far exceed the software arena, and do not seem to affect it excessively.
Without doubt, writing reliable software is one of the hardest tasks
a programmer faces. Neither the commercial nor government sector routinely
produces more reliable systems than the other, but when reliable systems
do emerge, they are those that were well designed, well implemented
and well tested. Software is not an area that can be short-changed for
a computer system to be reliable. But even the most meticulous care
cannot eliminate all bugs. There is no known no way to produce 100%
bug-free code, and anyone implementing a critical system must be aware
of this, no matter what the application and no matter how many precautions
they take. In the end, any software system can fail
.