There are few trends that have influenced software development quite to the extent that agile has. Teams that were once spread out over continents, never to interact in any measure, are now working together at arm's length to create innovative, polished applications. As hinted at in the name, agile development allows developers to be more responsive to user demands thanks to a more collaborative, objective-driven approach to projects.
From a managerial standpoint, however, this model raises some unique questions, especially when it comes to QA management. For instance, where is that lukewarm middle ground between collaboration and independence? More importantly, how much of a role do mangers play in striking this balance? Let's take a closer look:
Independence and collaboration go hand-in-hand
It may sound counter-intuitive at first pass, but interweaving traditionally siloed processes in an agile environment simultaneously enhances collaboration and independence – that is, when done right. How can this be possible? Mainly because the point of agile is to eliminate overly rigid roles and replace them with a shared sense of accountability for the overall deliverable. Since processes no longer happen in separate vacuums, there's greater fluidity in what an individual can and cannot do, which is the very definition of independence.
According to agile consultant George Dinwiddie, this doesn't mean that testers need to be experts in programming, and vice versa, but it's certainly beneficial to have a basic knowledge of coding. The cornerstone of agile development and deployment is that it frames software development more like a creative design project rather than an assembly line. At the end of the day, who is doing what is not nearly as relevant as how well they're doing it, and how effectively the team can organize workflows.
It's also important to understand that in agile project management, a QA manager isn't necessarily viewed as a link in a long chain of command. Rather, TechTarget contributor Yvette Francino stated that any project manager in an agile team "has the role of a 'servant-leader,' acting as a facilitator to remove blockers." As such, it's in the best interest of the manager to steer away from nit-picking. Having one manager tell everyone else what to do not only stifles independence, it also curtails the collaborative mindset in which each individual on the team feels that they can contribute meaningfully to the quality of the solution.
Striking a better balance with the right test management tool
The only real way to ensure that the entire QA team can collaborate, but also work independently if they so choose, is to make sure that there is a central hub for all activity taking place within a project. A strong test management tool achieves this with real-time tracking features that help keep everyone on the same page. This agile testing methodology streamlines defect management because as soon as a bug is caught, everyone on the team is made aware of it. Likewise, as soon as programmers go back in and fix it, QA management will know about it and run any necessary tests right away to expedite release of the new iteration.
Another empowering feature of a strong test management tool is test automation integration. The ability to automate regression tests – which need to be run each time a change is made to ensure nothing breaks – as well as unit tests eliminate the need to run repetitive test cases and introduce room for human error on mundane tasks. This gives testers the chance to focus more intensively on manual testing, acceptance testing, load testing and other tasks that are more hands on. At the end of the day, this lets teams operate more effectively, while also freeing up time that would otherwise be spent on rote processes.