The time when quality assurance (QA) was the sole responsibility of the test group has long gone. In a world where many organizations have an agile-first approach, everybody involved in delivering software should have a focus on quality. This is one of the key recommendations in the 2020-2021 World Quality Report from Capgemini and Sogeti, in partnership with Micro Focus, published on November 5, 2020.
With the adoption of agile and DevOps methods, teams should be highly collaborative, but not all agile teams are doing this as well as they could. Having said that, shift-left and shift-right methods have been effective in spreading the responsibility for quality throughout the team for some time. Indeed, this year’s WQR survey posed a new question when it asked participants to rate the importance of different aspects of potential testing efficiency, and we saw a high level of emphasis given to shift-left testing. In fact, along with implementing intelligent autonomous solutions, it received the highest (54%) rating as ‘essential’ or ‘very important’.
From linear to continual testing
To understand how both shift-left and shift-right methods work, let’s look back at the waterfall software delivery model. Interestingly, in the WQR survey, although overall usage of waterfall has dropped considerably, around one in five respondents using it said they were still doing so for more than half of their overall test effort.
With waterfall, each activity is arranged in a linear way so that before the software can move to the next stage, the previous stage must be completed. With this linear approach in mind, it’s clear to see what shift-left means – if a process runs from left to right then a shift to the left means that we’re able to do it earlier. Instead of saving testing until the end of the development process, it is instead performed at an earlier stage.
This is increasingly the norm as an ever-growing number of organizations adopt agile and DevOps. This allows them to deliver the frequent updates, constant innovation and fast responses businesses and consumers now expect.
Shift-left has become an essential part of agile as it avoids bottlenecks caused by testing too late in the development cycle. If your team isn’t practicing shift-left, then you’re missing out on finding and fixing bugs as early as possible, putting higher-quality code in place right from the beginning, and ultimately saving you time and resources. Shift-left means you can ensure that only working software is delivered.
So how about shifting right? Some 40% of respondents in this year’s WQR survey said it was ‘essential’ or ‘very important’ for making testing more efficient. Shift-right is about running recurring tests and picking up on user feedback after release. Shift-right testing allows us to perform tests based on real usage patterns so that we know more about how the software operates in production and in the hands of real users. By employing shift-right testing, we perform tests based on usability insights and data signals, and carefully learn how the product operates under real world situations when users actually use it – creating continuous feedback to help improve user experience.
As this year’s WQR notes, the role of the QA practitioner is transforming from testing and finding defects, to ensuring that other engineering team members inculcate quality in their way of working. QA is not only shifting left but also moving right. Highly effective agile teams share responsibility for testing throughout a product’s lifetime, enabling high quality releases to be delivered in a timely and secure manner.
Published: 17 December 2020
Author: Dean Draper