It is well-known that DevOps was founded on the desire for greater collaboration between software developers and operations teams. A lesser-acknowledged third pillar of DevOps is Quality Assurance (QA).
Traditionally the focus of QA teams has been to provide score cards based on functional and non-functional testing of software releases. If the software didn’t meet specifications it would be returned to developers for further improvements. This waterfall approach to testing often evades the Agile treatment of software due to the distance between teams, both in location and mindset.
With the rapid spread of build pipeline and infrastructure-as-code, Quality Assurance is more important than ever.