Moving into a World of Conscious Quality
The need and acknowledgement for software quality is certainly on the rise. Organizations understand quality is an important component to differentiate themselves in the marketplace. In this new drive to promote quality at all levels, the exciting news is that there is collective ownership. Developers, build engineers, designers, and others on the product team all want to do their part to help inject quality into the application in relevant ways and appropriate times.
While this is welcoming to see, amid all of this collective ownership is the increasing need for conscious quality among testers. What is conscious quality? Conscious quality is a quality effort that is independent, end-to-end, and stretches beyond the bounds of the core test team. If conscious quality is not adopted, we run the risk of losing the sanctity of our independence, impacting both the quality of the product as well as our careers as testers.
ISTQB calls independence a range rather than a state or a condition, where you can range from no independence to complete independence with intermediate stretches in between. We all understand the importance of unbiased coverage that independent testing brings. How do we re-establish independence to empower testers to move into a world of conscious quality?
First, keep in mind that independence comes not only from testers. Independence can come in from anyone that has not directly worked on coding the system under test. Even if a dev-test merger is inevitable, look for round robin styles of development where you switch roles every release. Eric Ries proposes several interesting strategies in his model on “The Lean Start-up” that testers can leverage. Also, freelance app developers need to understand the importance of independent testing to improve overall quality, as studies show the average shelf life of mobile applications to be as low as thirty days. Crowd-sourced testing is another great way to bring in independence, and in all of these the tester plays an important role in spearheading the conscious quality effort.
Second, understand the dotted line in role delineation between developers and testers every time you collaborate. Areas such as unit test case creation, static code reviews, and fixing content files are all sensitive areas that give you more visibility into the system but also randomize, overwhelm you, and lead to role trespass.
And finally, understand what is your true role as a tester that is valuable today. Test automation is inevitable; manual testing will increasingly become a niche; focus on non-functional test areas such as usability; accessibility and performance are critical; testing in production is becoming a key differentiator; and areas such as agile test centers of excellence are booming.
Whether or not anyone in your team has spoken about conscious quality, take the step forward. Collaboration is important, but it runs the risk of potentially making quality a generic function. Let’s retain the niche in the name of consciousness and give both our product and our careers the facelift we need.