Please check this article for more details.
Everything is about process improvement and things to be done so that the code/product is good from the first time:
1. the product is as good as the plan for the product - very detailed, frequently updated, shared with the team plan is a must for any good product
2. the best teamwork is a healthy rivalry - the dev team should aim at making it very difficult for the test team to find problems; the test team should aim at finding bugs that escaped the dev team's testing; each of these team try to improve as much as possible all the time so the other team has a tougher time in the future getting bugs out (dev) or finding bugs (test)
3. the database is the software base - all possible development/testing data is collected in a database and analysed with the purpose of improving the existing processes, finding the root cause of any problems and correcting them
4. don't just fix the mistakes - fix whatever permitted the mistake in the first place (my favourite item)
Some of my favourite paragraphs are these ones:
"People have to channel their creativity into changing the process," says Keller, "not changing the software."
"The group's most important creation is not the perfect software they write -- it's the process they invented that writes the perfect software.It's the process that allows them to live normal lives, to set deadlines they actually meet, to stay on budget, to deliver software that does exactly what it promises."
"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."So much common sense, so difficult to do ....
It seems that common sense is possible only for NASA and maybe a few other companies.
What is left then for everybody else?