@Mike Turansky
Only CMM Level 5 writes bug free code
Actually, if you read the article you quote carefully, NO-ONE writes bug free code. Even Part of CMM Level 5, which is a process, not an attribute of the coders, is extremely high levels of testing and reviewing. This is only actually suitable for very large or safety-critical organisations, where failure is disastrous, because of the terminally high overhead involved.
Also, thereâs a vital point that everyone involved apparently has a great deal of respect for each otherâs abilities.
The developers have even begun their own formal inspections of the code in carefully moderated sessions, a rigorous proof-reading they hope will confound the testers. The verifiers, in turn, argue that they deserve credit for some errors found before they even start testing.
From the verification groupâs perspective, says Pat McLellan, a senior manager, weâre aware that if there was no independent verification group, the developers would tend to be more lax. Just the presence of our group makes them more careful.
No-oneâs saying that you shouldnât have standards or procedures to work to, such as regular testing and bug tracking. But again, if you read that article, everyoneâs involved in making the process better, and making it work. Thatâs not zombification at all.
And finally:
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.
This is a fairly massive caveat, wouldnât you say?
And then thereâs this:
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.
This is, if not a lie, at least an untruth. If you consider time as a resource, they can be massively expensive. And, as a commenter points out, $35 million per year to maintain a 420,000 line program which only works for a single customer is actually pretty damn expensive.
To summarize, your example wonât apply to 99% of software products, and Jeffâs point about having respect for the abilities of your employees still applies. Thank you however, for pointing me to a fascinating article.
http://www.fastcompany.com/magazine/06/writestuff.html