so high hat it is imperative that we check again, just to be sure.
Now, let's consider software testers. They check to make sure that the developer's code actually meets its specification. They check to make sure the developers performed their job properly. They may even be making sure that no huge financial losses, or even death, occur as a result of releasing faulty software. Nothing significantly different here. So what is the difference? In many organizations there is virtually no expectation that the developers will have tested their code. There is no expectation that they will have done their job properly!
Why is it even remotely acceptable that people would not be required to do their jobs properly? Why doesn't the organization that institutionalizes the position of software tester then also have painter tester, cook tester, typist tester, shipper tester, nurse tester, receptionist tester, computer operator tester, manager tester, yada, yada, yada tester? Is the creation of software really so different that we don't expect its developers to check their own work?
In her book, The Deming Management Method , Mary Walton explains the philosophies of W. Edwards Deming, the great quality guru.
Deming's basic philosophies are detailed in his "Fourteen Points." Point number three is "Cease dependence on mass inspection." (Note: "Inspection" is Deming's word for all kinds of "testing.")
Explaining Deming, Walton continues, "A company's aim should be to do away with quality by inspection. Even inspection at various stages of production rather than at the very end is no answer." (Does this sound like unit testing, integration testing, system testing, and acceptance testing?) "All too often the pile of defects grows until, in desperation, the parts are used as is." (Sound familiar?) "Quality comes not from testing but from improvement of the creation process."
In our world, the process that needs to be improved is the development process. We should expect developers to build-in quality just as we expect airplane engineers to build-in quality-with testers/inspectors only there to verify quality. It's time to put the first responsibility for a high-quality product back where it belongs-in development, with developers.