Cleanroom
Lets citate one of cleanroom documents:
Cleanroom's philosophy is based on engineering: Programming teams can and should strive to produce systems that are error-free upon entry to testing, so that testing can focus on certifying the reliability of the software product, rather than trying to remove as many bugs as possible from the code.
"Cleanroom and Object-Oriented Software Engineering: A Unique Synergy" Michael Deck Cleanroom Software Engineering, Inc.
I'm followinf this filosophy of work, because it's much cheaper to ensure quality starting early in development process than to try detect errors after development. Programmers are responsible for quality and should use any available method that will improve quality during development and is applicable (in bounds of assigned resources).