With the constant growth of technology, we are always trying to embrace the next big thing to help us keep up with what’s new. Sometimes, the next big things end up catching on as simple buzzwords. The challenge with buzzwords is that it’s often difficult to convert them into something meaningful that you can incorporate into your processes.
Shifting Left and Shifting Right are undoubtedly concepts that fall into this category. You’ve heard them mentioned when scrolling through Twitter, or read a bit of an article that your boss sent you after they came back from a conference. Now it’s your job to figure out how the concepts of Shifting Left and Shifting Right can benefit your team and your work.
Taking this on can seem like a daunting task, but it doesn’t need to be. Shift Left and Shift Right is simply a new phrase for many software testing concepts you’re probably familiar with, and are already integrating into your organizations. Your friendly neighbourhood testers are back to help you breakdown how Shift Left and Shift Right can help improve your testing practices.
Let’s start by separating the two terms. Together, Shift Left and Shift Right is an overarching concept that underlines focussing on the needs of the end-users of your product or service. Any team taking a whole-life approach to software/product development should pay attention to both the beginning/left, and the end/right of software delivery. In continuous delivery, you can likely take steps towards either independently.
The first half of the concept, Shifting Left, as an idea is simple; it’s moving the focus of quality assurance testing further left, or more near the beginning, of the development lifecycle. The idea is that finding potential issues earlier in the project is easier, cheaper and faster to fix than those found later in the process. One of the easiest ways to bring value earlier in the development process is to have testers involved with requirements before coding has started. Having a testing voice in sprint planning meetings, or questioning user stories and acceptance criteria, helps to refine the understanding of requirements before you begin work. And just like that, you’re bringing value to the beginning of development and Shifting Left.
A primary driver for Shifting Left is adding automation to your testing cycle. By adding an automation tool like GUI automation, API testing or unit testing, and incorporating it in your build process (probably via continuous integration), you can assess the quality of your code nearer to development. Your developers can tackle the issues while they’re still set up to fix them, and before they’ve moved onto something else.
Have you started investigating automation? Started using an API testing tool? Or, have you convinced your developers that unit testing is of value? If any of these things are true, you’ve already started down the road to Shifting Left.
Shifting Right is also a relatively simple concept. It is the idea that the scope of software testing can be restricted by factors that aren’t available until the end of development. Some examples of these are limitations of the environment, access to integrated systems, and the lack of real interactions with actual users. You may not be able to trigger some issues until all three of these factors are available to testers.
Most applications that are in a production environment have some level of monitoring in place to ensure on-going uptime and system health. Learning to leverage this monitoring data to understand the interactions of users with the system is one of the primary forms that Shifting Right can take. By monitoring data, project managers can determine flow effectiveness, dropped users, or failed conversions. From there, product managers can better manage focus on features in the future, and testers can target their testing to reduce overall risk.
Shifting Right can also take the form of a more direct feedback method from the end-user. This might mean doing AB-Testing or using Feature Flags to be able to track and monitor direct user interactions. Running manual or Automated Tests against production can help produce real-time tangible results in a real-world environment.
In the simplest terms, working to adjust your perspective to better represent the needs of the end-user is what Shifting Left and Shifting Right is all about. This buzzword phrase only requires you to look at the different ways that you are already moving the quality focus to the beginning/left and end/right to benefit the end-user. Look at how you are adjusting your attention in your organization already. By making these efforts a cohesive initiative, you will be Shifting Left or Shifting Right.
The challenge for you is to find a way to take the next steps to build perspectives that improve the end-user experience! Ultimately, that is always what will make testers (and everyone else) happy. When you look at it this way, joining the previously mysterious Shift Left and Shift Right movement is a much simpler task.
Excited to implement shifting left and right, but still not sure how to get started? Just leave us note in our contact form and we can help you figure out how best to incorporate these practices into your own teams.
About Mike Hrycyk
Mike Hrycyk has been trapped in the world of quality since he first did user acceptance testing 21 years ago. He has survived all of the different levels and a wide spectrum of technologies and environments to become the quality dynamo that he is today. Mike believes in creating a culture of quality throughout software production and tries hard to create teams that hold this ideal and advocate it to the rest of their workmates. Mike is currently the VP of Service Delivery, West for PQA Testing, but has previously worked in social media management, parking, manufacturing, web photo retail, music delivery kiosks and at a railroad. Intermittently, he blogs about quality at www.qaisdoes.com.