QAOps vs. DevOps: Important differences
QAOps represents an extension of DevOps that can help enterprises mature their software QA practices. Learn how QAOps can help DevOps-driven organizations zero in on quality.
Software testing deserves renewed attention as more high-profile software failures make headlines.
For example, CrowdStrike caused millions of Windows machines to crash when a routine content update made it through quality checks in its endpoint security software.
Another example involved the Royal Bank of Scotland failing to process and subsequently delaying over 600,000 customer payments as the result of an IT glitch.
One of the promises of DevOps is the better integration of QA testing into the CI/CD pipeline. Unfortunately, QA integration into DevOps can go astray or fall short. Quality assurance operations (QAOps) poses a potential solution to this problem.
QA's role in DevOps
DevOps definitions may vary from organization to organization. Broadly, DevOps is a set of software development practices, tools and cultural changes that automate the software development cycle, while removing traditional silos between development and operations teams.
The traditional role of QA in the DevOps lifecycle is to drive continuous testing. The right mix of testing automation tools, human QA and a QA framework optimized for agility and velocity enables testing from development through production. QA professionals should take the lead in designing the QA reporting that meets the organization's requirements.
There's also the concept of shift-left testing in some DevOps schools of thought, which moves testing earlier in the SDLC to catch software issues well before they reach production. Test-driven development is an often-maligned QA practice that critics see as slowing down DevOps development.
QA also plays a role in continuous monitoring and feedback. DevOps ideally positions a QA team member as part of that feedback loop. In this approach, organizations should treat QA workers as stakeholders. QA can then collaborate with developers using the same data and reporting tools, enabling them to speak a common language with development and operations teams.
DevOps hasn't mitigated some challenges for QA professionals. For instance, some DevOps models put testing responsibilities more on the programmers than a dedicated QA team. DevOps's test automation can be tempting to non- or semitechnical midlevel managers, who might see it as an opportunity to reduce head count and hit short-term financial, organizational or even political goals within their organizations.
Some DevOps teams may see additional QA staff on the project as a potential impediment to delivery velocity and see test automation as the future. Experience bias -- when team members mistake their subjective perception for the objective truth -- and downward pressure from management further contribute to this dynamic.
QAOps vs. DevOps
QAOps positions itself as an extension of DevOps that integrates QA practices and tools directly into the CI/CD pipeline. QAOps reinforces the principles of ensuring software quality at every stage of the software delivery lifecycle.
The promise of continuous testing in DevOps make it easier for some development groups to "set it and forget it," despite being able to intake feedback about software quality and act upon it in an iterative and Agile environment.
A long-simmering criticism of DevOps is that it's too easy for QA to become a secondary priority, especially in startup environments that may grow to over-rely on testing automation tools, such as Selenium or Testsigma, instead of a full-time employee or contract software tester. Another case in point is the growth of AI in the CI pipeline that has the potential to convince managers that AI will save them from hiring new or additional head count, further pushing QA down their priority lists and budget negotiations.
Despite breaking down silos as part of the DevOps ethos, the realities of underbidding projects to win, tight corporate budgets and a general state of corporate dysfunction can adversely influence the priority and attention that stakeholders give to the QA line on the project budget. QA support is often the next budget item chopped -- after documentation -- when an organization looks to reduce costs.
Benefits of QAOps
QAOps represents a way to develop mature QA tooling, practices and staffing in DevOps environments. QAOps maintains and strengthens the role of QA staff through all phases of software development.
QAOps offers the following benefits:
- Improves collaboration among development, QA and operations teams -- something which DevOps aims to improve upon.
- Elevates the QA process out of the isolation that sometimes happens in DevOps processes.
- Introduces a new level of customer experience via continuous monitoring of software quality from development to production.
Delineating QAOps from DevOps enables an enterprising QA team to showcase its practices to developers and stakeholders. For example, it might augment its current DevOps playbook with more documentation about the touchpoints between QA and development throughout the DevOps lifecycle. QAOps makes it easier for QA staff to reclaim or retain a seat they may have lost at the DevOps table in some organizations.
The advent of QAOps speaks to two long-running challenges that DevOps adoption faces in the market. The first is definitions of DevOps abound. There's nothing in the definition of QAOps that's not in some industry definitions of DevOps. Second, the IT industry has hit "PeakOps," where thought leaders and marketers want to spin everything into an "Ops" discipline, whether or not their customers need it.
Occasionally, the intent behind "PeakOps" comes from a good place, which is the case with QAOps. The ideas and principles behind QAOps are well meaning and legitimate, but all point back to weaknesses in DevOps adoption that still hamstring and stall enterprises on their way to DevOps.
Will Kelly is a freelance writer and content strategist who has written about cloud, DevOps, AI and enterprise mobility.