DevOps is about operations, right? And about applying tools and processes from the Dev space to operations. But QA? Really? What I personally experience driving DevOps transitions is that continuous integration and operations need to work together. People need to realize that these are two sides of the same coin. One of the biggest challenges is that people often do not see it this way.
Today we experience that mainstream movements like Agile, DevOps and LeanEnterprise which started independently from each other are now converging and hopefully merge into processes that help to make enterprises more flexible, efficient and robust.
DevOps opens lines of collaboration for enterprise silos of business, software development, operations and quality assurance. Also, DevOps enables effective delivery of new and enhanced features to customers. Now it needs to live up to the lean, responsive values of Agile methodology.
There are many things that DevOps teams are doing great, such as build pipelines, maintainable infrastructure, monitoring and enabling frequent deployments. And we need to build on that!
Testautomation maturity is essential
For DevOps teams to be successful, they must have experts on hand that actively improve continuous integration. DevOps.com contributor Marc Hornbeek observed that although many organizations can facilitate automated integration, some still have problems with test orchestration within these environments. However, test automation tools can be a significant benefit in these situations. Testing experts can offer their expertise and leverage these tools to work with DevOps. This will help ensure that code changes work well and that a project meets its goals.
According to Capgemini’s “World Quality Report 2015-16”, 29% of organizations still struggle with Agile testing, a marked decrease from the 61% who experienced the same problem a year ago. The main challenges they see come from testing of end-to-end workflows, testing integration of services across platforms and keeping consistency across different configurations.
Support of Agile workflows
DevOps is bound by Agile values, meaning that any activity and every tool being used must support and improve Agile practices.
Scott Ambler, who is (among other things) famous for promoting Agile discipline: “Because agile teams commonly run their automated test suites many times a day, and because they fix any problems they find right away, they enjoy higher levels of quality than teams that don’t. This is good news for operations staff that insists a solution must be of sufficient quality before approving its release into production.”
Consistent testing leads to better quality. DevOps must aim to involve QA throughout the entire process, making them a facilitator of quality and consequently establish that products meet stakeholders and users quality demands.
QA is a very critical component in DevOps. Being part of an Agile project I evangelize “QA is everyone’s responsibility”. But this doesn’t mean that QA professionals no longer have a role in Agile software development. The important part here is that everyone in the organization takes on more responsibility for quality. For me QA should move into a more strategic role, providing oversight over the QA function, as well as establishing more robust continuous integration and infrastructure processes.