Agile software development teams thrive on collaboration and communication. Successful teams often highlight their cross-functionality, integrating concerns from engineering, product and design- but they can also benefit from integrating a less talked-about concern: QA.
Quality assurance (QA) can mean various things to various people, at different stages in the development life cycle. From general code quality to varying degrees of unit, integration, end-to-end and regression testing- to the teams or systems tasked with ensuring these tests pass, and reporting the appropriate stakeholders when they do or don’t.
Sometimes QA processes are wholly automated and baked into a continuous delivery pipeline. Sometimes QA people work in close collaboration with engineering and product. And sometimes a QA team is far removed (geographically or organizationally) from the agile team; they may never interact with developers unless they find a bug, and may never have any context of the product other than a step-by-step testing script.
Recently my company integrated our QA team members into our agile teams, and I would like to share some of the lessons learned. First the scene, from my point of view as a software developer:
Steps we took
Improvements from integrating QA team members into our agile teams
Adopting an agile framework that integrated team members from engineering, product, design and beyond had already helped our team build working, sustainable software faster, in a far less stressful environment. And these gains were easily extended when integrating QA team members.
Fine print: Yes, it’s complicated
Many organizations put significantly fewer resources into QA and would see this transformation as prohibitively or superfluously costly. My company had client stipulations requiring a certain QA threshold per release, and our team members could not work outside the US because of regulations.
Although there was a time cost in integrating QA team members into the ceremonies of our sprints, and we spent development resources when taking on end-to-end testing and pairing with QA team members, many hours and bugs were also saved by the automation and process improvements. And as with any process transformation, improvements can be made incrementally. As a start, you could easily integrate one or two QA team members, and they could report back to the rest of their teams, already increasing communication and collaboration.
These Stories On Process