Houston, we have a blue screen of death

Commander William Shepherd kept a mission log during the initial 136-day shift aboard the International Space Station. The log is fun reading, and you can’t help but sympathize with many of the frustrations they are constantly facing. As the Laboratorium notes, many of the problems were computer related, and funny as hell. Its a fairly comprehensive list of computer problems, and its quite funny.

While many of those computer systems did have problems, it’s important to note just how well NASA’s aerospace applications work:

This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved. Consider these stats: the last three versions of the program — each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors. Commercial programs of equivalent complexity would have 5,000 errors.

Which is really how it should be for something that pilots a space shuttle, but then, writing software for such an focused set of criteria makes things somewhat easier to implement:

Admittedly they have a lot of advantages over the rest of the software world. They have a single product: one program that flies one spaceship. They understand their software intimately, and they get more familiar with it all the time. The group has one customer, a smart one. And money is not the critical constraint: the groups $35 million per year budget is a trivial slice of the NASA pie, but on a dollars-per-line basis, it makes the group among the nation’s most expensive software organizations.

And that’s the point: the shuttle process is so extreme, the drive for perfection is so focused, that it reveals what’s required to achieve relentless execution. The most important things the shuttle group does — carefully planning the software in advance, writing no code until the design is complete, making no changes without supporting blueprints, keeping a completely accurate record of the code — are not expensive. The process isn’t even rocket science. Its standard practice in almost every engineering discipline except software engineering.

The shuttle software group is one of just four outfits in the world to win the coveted Level 5 ranking of the federal governments Software Engineering Institute ( SEI ) a measure of the sophistication and reliability of the way they do their work. [Thanks to the Laboratorium and norton for all the info]