Context: agile development with prioritization and release decisions being made by a product owner.
There’s often a false understanding of software quality (and the responsibility for software quality) in our industry. This falsehood isn’t helped by the “Quality Assurance” job title. With modern development practices, it’s misleading to presume that software testers are responsible for the quality of the released software.
QA as a Quality Advocate
As a software tester, we identify potential changes to the software. Sometimes it might be an obvious bug, where the software is not producing the response that’s clearly expected. Other times we might find potential enhancements such as new features or usability improvements. Either of these categories provide opportunities for improving the software. As a software testing and quality professional, I feel that I have an obligation to suggest that the software could always be better. When quality wins, users will have a better experience, and data will be in a quantifiable better state.
As a tester, I advocate for quality.
Testing != Release Decisions
Ultimately while I advocate for quality in the software I test, the ultimate decision on when to release (given whatever is known – or not known – about the quality of the software) belongs to someone else. In the agile world that’s usually the Product Owner; in other environments it might be a project manager, release manager, or other similar role.
That person – the one making the release decision – is the one who ultimately decides what level of quality is acceptable for a software release. Testers can help inform, but testers can’t insist.
Sometimes, we’ll advocate and our voices will be heard and the quality threshold will be raised prior to release. Sometimes, our voices will fall on deaf ears, or be drowned out by other voices or pressures.
The Release Where Quality Loses
When the quality isn’t up to par but the software is released anyway, expected repercussions will possibly and predictably include:
- increased number of bugs-found-after-release
- increased number of user support tickets
- increased number of data or application hotfixes to resolve problems
- PR or perception problems
Nobody in the development and product teams should be surprised by these results. Sometimes there’s value in having the software released, even in a state of lessened quality, rather than holding it back to resolve more bugs. The quality factor is one of many factors weighed in the release decision. Sometimes quality loses.
As testers, we have to be okay with this, with the caveat that it’s not okay for the product team to blame the testers for the quality level of the product. While many of us have the misnomer of “quality assurance” in our job titles, we can’t assure the quality when the release and budget decisions are out of our hands.
image via Thomas Hawk; used under Creative Commons licensing