In an Agile project there is no such thing as a ‘testing department’, where a group of testers sit together, usually away from the developers, and are managed by a test lead or test manager. There is also much less emphasis on test documentation, which in traditional working environments is usually the main responsibility of a QA Manager. In short, thanks to Agile working, the traditional role of a QA Manager is no more.
The responsibilities of a QA Manager have changed a lot over the years as organizations have taken on new development methodologies such as Agile, where teams based in different locations around the globe work together to deliver one business objective. As a result, many QA managers often feel confused about their responsibilities and sometimes even redundant. In Scrum, which is one of the Agile methodologies, there are three main roles: Product Owner, Scrum Master and Scrum Team. The Scrum Team comprises Business Analysts, Developers and Testers, and is self-managed and responsible for the delivery of high-quality software. This self-management eliminates the need for a QA manager.
In the past, a QA Manager was held responsible when a production issue was found. Now in Agile, everyone is accountable and responsibility for the quality of the software is shared among the Scrum Team. When a production bug is found, everybody in the team owns it and is responsible for finding the cause and generating a solution. In Agile, development priorities change frequently and the Scrum Team needs to adapt quickly to accommodate the changing priorities. This situation is exacerbated when there are multiple Scrum teams located in different geographical locations and can make the job increasingly difficult for a QA Manager, who can end up feeling very isolated.
Aligning the releases and supporting test activities in such scenarios can be a difficult task. A QA manager needs to be able to manage information and prioritise tasks across multiple areas. He must have the ability to influence, and liaise with, different stakeholders, business experts and to switch between different areas. It can often be a difficult job. In Agile teams, developers write and test their own code by writing sufficient effective unit tests to ensure that any new code works as intended and has not regressed the application. Having a strong and robust pack of unit tests reduces the work for testers as they don’t need to spend time verifying obvious errors and can focus more on end-to-end scenarios, exploratory testing and assisting with UAT which doesn’t require extensive planning and documentation.
Even though the traditional practices and responsibilities of a QA Manager are not directly compatible with today’s Agile way of working, there are still certain areas where his expertise and skills are required.
The QA Manager’s role should be to set the team up for success and then provide support from the outside. He is required to provide team sponsors who can champion and cheer them through their challenges. He is key in enabling the team to solve its own problems and come up with its own insights and products. Skills such as assessing team health, removing organizational impediments, making room for failure, and having the ability to coach from his experience, become his central goals.
Even in the Agile world, there is still a need for centralised standards and control over the quality of testing. Large programs delivered with different Agile teams working together need a consistent approach and a way of sharing information about what works between the teams.
A QA Manager in Agile needs to be well versed in testing and able to innovate and provide advice in difficult and challenging situations. He is no longer restricted to managing testing activities, but takes on a high-level position where he needs to operate at a program level, with an overview across many streams of work.
Responsibilities of a QA Manager in Agile:
- To manage inter-team communications and interactivity across different Agile teams within the same project in the global organization
- To ensure progress is reported to senior management and other stakeholders in an appropriate manner, translating the information from the team’s ‘task boards’ and ‘burn downs’ into precise and detailed status reports.
- To provide personal support, mentoring, and professional development for testers and facilitate access to appropriate functional or technical training.
- To act as the point of contact for any problems.
- To provide technical expertise to the team and help ensure the appropriate testing techniques are used to find defects early in the test cycle.
- To implement QA best practices throughout the organization.
In summary, a QA Manager in an Agile environment is more of a support, training, and consultative role, facilitating good communication between teams and their members and ensuring best practices are developed and exercised to achieve the highest business objectives.