I admit that this article isn't written as a technical instruction sheet for writing perfect software, but they could at least come up with something we haven't heard of before. You mean NASA actually has the funds to do a full BDUF and to have a testing department? No kidding.
1. Big-Design-Up-Front
2. Have a testing department
3. Use Source Control and Bug Tracking
4. Fix all instances of systematic errors and fix the process by which those errors were injected into the program.
Most of those sound familiar:
http://joelonsoftware.com/articles/fog0000000043.html
I admit that this article isn't written as a technical instruction sheet for writing perfect software, but they could at least come up with something we haven't heard of before. You mean NASA actually has the funds to do a full BDUF and to have a testing department? No kidding.