In many engagements, upper and middle management ask: “How do we fix our testing (QC) process? The team is just not catching the defects.”
When managers ask this question I usually asked these managers a question in return: “Why focus on fixing your testing processes first; shouldn’t you first focus on fixing the development process, since they write the code?”
This usually starts a vigorous discussion about where the problem really lies in the organization, which is exactly the kind of soul searching an organization needs to do when they ask to fix the testing.
Fix the Root of the Problem and Not Just the Symptom
The objective in asking the question is to get the organization to think. Why would you spend budget fixing a symptom of a problem? It is not the testing staff that writes the code or writes the story. The process starts with other team members, so the organization needs to do a holistic review of the entire process to really address the issue.
If we take an example from the car manufacturing industry, when a recall occurs, the manufacturers don’t just say “we need to fix how we test the piece being recalled.” Given the direct and indirect costs associated with a recall, you can be sure that the manufacturer has spent time reviewing the entire process.
Software organizations need to do the same thing. Software is at the core of most businesses these days. Having software that is working properly and optimized is essential to staying competitive. So why wouldn’t you do a proper analysis of the entire software process if you have an issue of too many defects?
In a recent Cutter Agile Product Management & Software Engineering Excellence Advisor, I explore the ways Agile has helped organizations to look at the entire process of software engineering, rather than just trying to “fix the testing” when defects occur.