It’s Time to Adapt: QA & Test in a DevOps World
Agility and DevOps are transforming traditional Software Development Life Cycles (SDLCs), forcing organizations to adapt. As a result, the quality assurance discipline is evolving. Testing, a once discrete stage and function, has shifted left and is now being integrated throughout the SDLC. Further, market and business demands are driving organizations to embrace continuous integration to enable faster delivery of code. To keep up, automation is drawing development into QA and test activities, increasing organizational capacity. Leaders must realize these shifts and subsequently realign the people, processes, and tools involved in quality assurance and test to deliver maximum business value. This article explores three ways your organization can begin to embrace these shifts.
Incorporate QA into the Business Strategy
Rather than a reporting structure, envision quality assurance as a hub that connects developers, processes, application features and end-user experience. This method enables QA professionals to serve as strategic business partners who take end users into account, not merely a separate, transactional center that ensures defined requirements are met.
By elevating the notion of software quality as a business strategy, the value of test becomes even more critical and expansive. Testers must ensure the business is delivering a product that works right and is the right product for business goals. Think of it as a shift from “Does the product work as we intended and satisfy requirements?” to “Are we satisfying end-user needs and expectations?” Furthermore, can we do that continuously and predictably with a high level of agility?
Focus on Continuous Quality
To achieve successful continuous delivery, continuous quality must be embedded throughout the lifecycle. While continuous quality is enabled by test automation, this does not imply that manual testing is obsolete. On the contrary, manual testing in the form of exploratory testing, performance testing and usability testing are indispensable. Testing should be built directly into development schedules and continuously integrated throughout the development and code promotion process. Gone are the days where testing is identified as separate from development and deployment.
More and more organizations are taking this idea of continuous quality up a level, embracing software quality assurance as a Center of Excellence responsible for governing and driving enterprise-wide quality initiatives. Beyond resolving problems at the code level, these teams are now also proactively identifying and remediating inefficiencies in the software delivery process, such as bottlenecks and integration challenges. Quality professionals are finding increasing opportunities to improve repeatability and predictability along the SDLC to ensure user needs and business goals are met.
View Testers as Predictive Assets
Continuous delivery principles turn testing into a proactive, rather than reactive role. Now that testers have increased visibility and proximity to the code, they are not just defect finders, but predictive assets that tie software quality to business goals adding value earlier than ever. Test professionals add expertise to the everyday developer. While your teams may be able to deploy five times more quickly, testers ensure that the application is actually worth deploying. A quality assurance role – or at least a recognized QA activity – in the Scrum team is necessary.
While automated tools are indispensable, they cannot problem solve, explore different paths without predefined parameters, or determine aesthetics or usability. Testing should always be supported by tools, but humans are needed to perform the types of jobs that humans will always execute much better than any machine. Testers need tools and should know how to use them, but never underestimate the importance of meaningful exploratory human testing.
Realign Teams to Support the Shift
As organizations strive to achieve continuous delivery by putting a focus on continuous quality, code quality is now everyone’s responsibility, from development through production. As a collective entity, teams must collaborate, share expertise, take ownership and be accountable. Even if your organization is just beginning to consider adopting a DevOps mindset, be aware that traditional roles and responsibilities will shift, thus blurring functional lines and breaking down silos. As quality and test activities and responsibilities are redistributed across the enterprise, skills and scope of role will undergo realignment.