The idea of DevOps turns 10 in 2018. Agile and DevOps practices have been the most trending topics in the IT and software realm for the past couple of years. Businesses continue to adopt DevOps principles to ship high quality software releases faster. The practice of DevOps not only helps in accelerating the time to market, but also the customer experience with enhanced quality. However, adopting it is not about flipping the imaginary ‘DevOps’ switch, getting new tools to support it and hey presto, your organization is now in DevOps mode.
On the contrary, adopting DevOps is more like a gradual transition or a journey. This requires many tactical and seismic shifts in terms of processes, people and technology. But typically, in the new DevOps mould, neither QA nor development remain the same. How does the testing team fit into this mix? And how can QA teams ensure they are DevOps ready?
Break the silos: Keep an open mind and a flexible approach. The rapid pace of deployment means that the boundaries between the production and release environments are not watertight. Testers start early and test more often. The ability to check chunks or whole of software that is in production, takes a test-driven approach to development.
Continuous Testing: The key to DevOps is synchronizing testing with development and operations – what is also called DevTestOps. This helps organizations to collaborate better and deliver faster. According to a Forrester survey, more than 24% of companies now have weekly and daily release deadlines. Thus Continuous Testing holds the answer with its ability to deliver continuous feedback through SDLC. However, it goes beyond simply automation and needs both process and technology support to accomplish.
Developers’ responsibility for Quality: “Shift-Left” is a quality revolution that is focuses on DevOps metrics to detect bugs much earlier in the development cycle. Now, this is where the Test Driven Development(TDD) approach from Agile comes in handy. It is vital to map out the testing lifecycle before you start development. This helps both testers and developers understand the requirements, goals and outcomes. Including developers right at the outset makes them code with a ‘testability’ focus. With Shift-Left the focus is on integration testing and the DevOps approach uses test automation and service virtualization to make it possible.
Automation: One of the key capabilities for DevOps success is indeed test automation. With the ever-shrinking release cycles and weekly/monthly sprints, automation takes care of the high volumes of testing. Automation brings stability and scalability to your product cycle. At the same time, the focus has shifted from the older approach of simply automating UI testing. The key differentiators for continuous delivery in the DevOps era are end to end automation and API testing.
Get your metrics in place: To judge the success of your DevOps initiative you need measurable outcomes and metrics with KPIs. The most difficult part is to measure what matters. Choose metrics that are important to your business in some way – be it customer experience, or operational efficiency. But at the same time, you need to be able to trace back to failures and root causes so that you can use data to improve your results.
Ultimately, your readiness to adopt DevOps is closely tied into your change management abilities. Are you ready to take a broad approach to break the silos between dev, operations and testing? And do your tools, people and processes support this fully?