The Silly Approach to Testing in IT Software Development
Quality control is everyone's responsibility and should not be left to the end of the project
As someone who has worked in IT software development for most of my career, I can't help but notice the sheer silliness of how testing is viewed and handled. The traditional waterfall model of analysis, design, build, and test is still widely used, even in so-called “agile” organizations.
Testing is often conducted right at the end after development, and quality control is not integrated from the beginning. The first time many testers see the product is after it has been defined. Sorry, what? - They build the product first, then define quality ?!?!?
This approach is shortsighted and misguided because building high-quality products is impossible when quality is not defined before development. It's like building a house without quality care and hoping the quality inspector passes it after it is built. Quality control ensures that quality is appropriately incorporated throughout the product development cycle. In contrast, quality assurance verifies that the product has met the appropriate quality controls to meet desired quality standards.
The way quality assurance is often seen in IT is another silliness. In most organizations, testing is just quality assurance without quality control. Without quality control throughout the development cycle, quality assurance is just a band-aid solution. I don’t know about you, but this is mismanagement. It makes good and great techies look stupid. I have been burnt many times in my career because of this, and it has never been good.
When testers are only engaged in the development, it creates a sense of distrust between programmers and testers, even though neither party is at fault. Programmers have simply followed the requirements, but testers get handed that no one with quality control eyes has ever looked at. Of course it is going to be full of errors. The real issue here is mismanaged projects and poor product management, which fail to prioritize quality control.
Professional testers can bring a lot to the table, but leaving them until the end is a mistake. Their true skills are undermined and they are forced into a broken system.
It's absurd that defining quality and quality control are left until the product has been built. This approach is why so many IT products are in such bad shape. It's like expecting a chef to cook a perfect meal without first ensuring the quality of the ingredients or the recipe's quality.
We have to stop this madness. Quality control is the accountability of everyone involved, including management. Quality is built in from the start and not at the end. We should not be leaving it to only the testers. However, we should leverage their expertise to prevent defects early and increase quality control practices for everyone. At the end of your project, quality assurance will be a quick and simple verification.