My QA Paradigm Shift at Accusoft
John Ruck, Accusoft QA Manager
Most of my experience has been implementing quality software in both the traditional waterfall and iterative software development environments. In these positions however, walls were built between development and QA and tasks were thrown over that wall back and forth until the software was approved by QA and deemed suitable for production. Countless documents were developed for process and used as rulebooks for testing. Lengthy summary reports were written summarizing what was done and the associated results. These were used as communication devices between analysts, leads, managers, and product owners. Most of these documents were written and archived, never to be viewed or touched again. Unless of course some sort of justification was needed as to who did what wrong so that someone could point the 'ol finger in someone else’s direction. At that point, these documents seemed to show a slight glimmer of use but for all the wrong reasons.
Recently I began working as a QA team member within Accusoft as part of a fully integrated Agile software development team using Scrum. It was critical, in order to be successful, to reformat my brain from the "traditional" QA related methodologies and habits I had learned over the years. While doing this, certain base skills still needed to be relied upon like strong analytical thinking, communication, collaboration, and attention to detail, just to name a few. I also still needed to use my developed leadership skills and serve as both a mentor and leader for all QA related activities on my projects. This overhaul started from the top by redefining what the acronym QA now stood for. Traditionally QA stands for "Quality Assurance," however, Accusoft (along with several other well known companies) has redefined this acronym to represent Quality Assistance. This shifts the focus of those in QA slightly from doing all QA related activities for a release ourselves (namely all the testing and approving for release), to becoming more of a quality mentor, coach, and guide for their associated feature team. Our overall goal is to measure and assure that the quality of the product is sustained. However, the responsibilities within the teams shift away from a traditional “toss it over the wall” mindset often found in teams, to real teamwork, collaboration, and ultimately ownership of building quality products from the start.
At Accusoft, quality is achieved by the entire Scrum team completing all the necessary tasks (including various kinds of testing) to provide a complete "done" unit of work. This results in an overlap in responsibilities between developers and Quality Assistance Analysts throughout the lifecycle of each sprint. This approach is known as a "whole-team" approach and attempts to break down the walls or silos that can tend to be built between traditional QA and development team members. This brings forth the need for willingness of each team member to switch roles as needs arise while focusing on the overall team goal of successfully completing their sprint and delivering value to our customers. This is the Scrum mindset; development teams have "all the of skills as a team necessary to create a product increment" (The Scrum Guide). This helps all Accusoft feature teams avoid bottlenecks along the way to building a quality increment of work and ultimately helps us succeed together. It helps us increase the pace of testing and checking our work so that feedback loops can happen sooner and quality development up-front and at a faster pace. As mentioned in my previous blog post, there are many approaches that can be used to firmly embed QA within your organization.
With this change in our approach to QA, we also had to change the roles that support quality. In my next blog I will get into the three main roles that are integrated into our feature teams to support this.
John Ruck is a QA Manager for the SaaS Group at Accusoft. John is a QA expert with almost 20 years of experience in software development and software quality. He has a strong background in QA methodologies, functional test automation, and performance testing.