What is the role of the QA Manager in an agile environment? Do we really need QA Managers in Agile projects?
The role and responsibilities of QA Managers have changed a lot over the past few years, mainly due to many organizations moving to agile development methodologies where there are clusters of Agile Teams working together to deliver business objectives.
Many QA Managers often feel confused about their roles and feel out of place when put in an agile context, especially when they have been in charge of managing a testing team and defining QA processes for an organization.
No Testing Department
For starters, in a proper agile setup, there is no such thing as “Testing Department”, where a group of testers are sat together, usually away from the developers and managed by a Test Lead or Test Manager.
Also in an agile environment, there is much less emphasis on heavy documentation such as detailed test plans which is usually the job of the QA Manager to write these documents in traditional methods.
In Scrum, which is a popular agile development methodology, there are three main roles: Product Owner, Scrum Master, and Scrum Team. The Scrum Team is self-managing and composed of developers, designers and testers and the team itself is responsible to deliver high-quality software.
QA Manager in Agile is not needed to manage the testers and the testing effort, as in Agile testers become part of the Scrum Team.
Gone are the days when the QA Manager was held accountable when there was a defect leaked to production. In Agile, everyone is accountable and quality is everyone’s responsibility.
When a production incident is encountered, everyone gathers together to see what went wrong and how it can be avoided in future.
There is no place for QA Manager in Agile because it indirectly takes away team responsibility for QA which is the whole reason why good Scrum teams deliver much higher quality. It is important to realize that QA and thus testing, is an inherent part of Agile development methodologies.
No Day-to-Day Management of Testers
In Agile, business priorities change frequently and the Scrum Team needs to accommodate the changing priorities. It is almost impractical to keep up with all the changes especially when there are multiple Scrum Teams in a large organization.
As Stephen Janaway cites in his blog post on “The End of Road for Test Managers?”
Being a Test Manager in an Agile environment can be isolating at times, particularly when the department is big, and the number of agile teams is large.
It requires an ability to balance a lot of information, priorities, and tasks, across a number of areas. Stakeholder management and influence become key. Context switching comes as standard. Often it’s not much fun.
More Developers Test
In Agile teams, developers are encouraged to test their own code and to write sufficient and effective unit tests to ensure the new code has no obvious errors and to get notified quickly as soon as something is broken.
When we have a solid foundation of good unit tests that we can rely on, it removes the responsibility of testers having to test for obvious mistakes; instead, they can focus more on exploratory testing and assist with UAT which doesn’t require extensive planning and documentation.
Role of QA Manager in Agile
Although the traditional role and responsibilities of a QA Manager might not be seen as necessary in the Agile context, there are certain areas where QA Managers can add value.
A QA Manager in Agile needs to be an experienced tester to be able to provide advice on challenging situations. They have to know how testing fits into an agile project.
The points covered on blog post Test Manager in Agile by Katrina Clokie (aka Katrina the Tester) gives a good summary of the new role of QA Manager in Agile:
- Facilitation of inter-team communication across many agile projects within an organization
- Presenting an aggregate view of testing to the high-level management
- Personal support, mentoring, and professional development for testers
- Being an escalation point for testers
- Budgeting or forecasting for testing as a service dependent on organizational process
Other areas where QA Managers in Agile can add value are:
- Be an advocate of QA throughout the organization
- Recruitment of QAs and Automation Engineers
- Providing technical expertise, e.g. proper use of test techniques in appropriate cases
- Ensuring the teams (Scrum Teams) implement and follow best practices to prevent defects
To summarize, the role of a QA Manager in Agile is more of a support, training, facilitating and consulting other QAs and other team members and to ensure QA best practices are established and that quality is baked in from start.