The Evolving Role of Testers in Agile Teams: From Gatekeepers to Quality Enablers

Rodrigo Alves Costa
Software Testing Daily
5 min readJun 17, 2024

--

This article is also available at: https://www.linkedin.com/pulse/evolving-role-testers-agile-teams-from-gatekeepers-quality-costa-uwxkf/

In the evolving landscape of software development, the role of the tester in Agile teams has been a subject of intense debate. While some argue that testers have no place in a Scrum team, the issue lies not with the role itself but with how it is traditionally perceived and executed.

To truly integrate testers into Agile teams, we must move beyond outdated paradigms and embrace a collaborative, quality-first approach.

The Traditional Tester-Coder Dynamic

Historically, testers and coders have operated in silos, each estimating their efforts separately and working sequentially rather than concurrently. This division often results in inefficiencies and frustrations, with testers feeling pressured to catch defects late in the development cycle and coders feeling burdened by last-minute fixes. The remnants of the waterfall model persist, undermining the Agile principle of shared responsibility for quality.

Two common practices exemplify this flawed dynamic:

  1. Separate Estimations: Coders and testers provide independent story point estimates, leading to inflated final estimates and a disjointed workflow.
  2. Testing Phases in Workflow: Steps like “Awaiting Testing” and “Test In Progress” perpetuate the notion that quality assurance is a downstream activity rather than an integral part of the development process.

The Pitfalls of Separate Estimations and Testing Steps

When teams estimate development and testing efforts separately, several issues arise:

  • Lack of Shared Responsibility: Quality becomes the sole responsibility of testers, with coders focusing only on completing their tasks, leading to potential quality lapses.
  • Extended Lead and Cycle Times: Separate testing phases create bottlenecks, delaying feedback and increasing the time to resolve defects.
  • Corner-Cutting: Under pressure to meet deadlines, teams may skip essential testing steps, compromising quality.
  • Low Automation Adoption: Teams relying heavily on manual testing struggle to keep pace with development, resulting in inconsistent quality and delayed releases.

Shifting Left and Shifting Mindsets

To address these issues, we must fully embrace the shift-left approach, which emphasizes integrating testing activities early and throughout the development lifecycle. This shift necessitates a change in mindset for both testers and coders.

From Quality Control to Quality Assurance

Testers should focus less on Quality Control (QC) activities, such as defect detection after code completion, and more on Quality Assurance (QA) activities that prevent defects from being introduced in the first place. This proactive approach involves participating in design discussions, refining requirements, and identifying potential pitfalls early.

For coders, this means adopting a quality-first mindset, where writing clean, testable code is a fundamental part of their responsibility. Quality should not be an afterthought but an intrinsic element of the development process.

Three Pillars of a Collaborative Agile Team

Collaboration

Testers and coders must break free from their silos and collaborate closely throughout the development cycle. This collaboration starts with requirement refinement, where testers can contribute by identifying negative scenarios and edge cases that coders might overlook. Pair programming sessions, where testers and coders work together on the same codebase, can foster a shared understanding of quality goals and reduce the need for separate testing phases.

As teams practice this approach, coders will naturally consider negative scenarios during development, further integrating quality thinking into their workflow.

Automation

Manual testing alone cannot keep pace with the rapid iterations of Agile development. Automated testing is essential to ensure that new changes do not break existing functionality. Both testers and coders should be skilled in creating and maintaining automated test suites. Coders, in particular, should take ownership of writing tests for the scenarios identified by testers, making quality a continuous activity embedded in the development process.

With many automation tools available, from code-heavy frameworks to codeless platforms, teams can choose solutions that best fit their skill sets and project requirements. Investing in automation training for testers can also bridge gaps and empower them to contribute more effectively.

Continuous Integration and Delivery

Agile teams thrive when they deliver increments of working software frequently and reliably. Continuous Integration (CI) and Continuous Delivery (CD) pipelines, with automated tests embedded at every stage, enable teams to detect and address issues quickly. This approach reduces the reliance on manual testing at the end of the sprint and ensures that testing is an ongoing, integral part of development.

By integrating various types of tests—unit, integration, and acceptance tests—into the CI/CD pipeline, teams can catch defects early and maintain a high standard of quality throughout the development process. This continuous approach ensures that every code change is validated in real time, reducing the risk of last-minute surprises and enabling smoother, faster releases.

The Benefits of a Quality-First Approach

Adopting this collaborative, quality-first approach offers several benefits:

  • Reduced Cycle Times: By integrating testing throughout the development process, teams can identify and fix issues early, reducing the time spent on rework.
  • Higher Quality Releases: Continuous testing and automation lead to more reliable, defect-free releases, enhancing user satisfaction.
  • Enhanced Team Morale: A shared responsibility for quality fosters trust and collaboration, leading to a more positive and productive work environment.

Conclusion

The role of the tester in Agile teams is not obsolete; it is evolving. By moving away from traditional QC activities and embracing a QA mindset, testers can become invaluable quality enablers. Through close collaboration, automation, and continuous integration, Agile teams can achieve higher performance, faster delivery, and greater customer satisfaction. The key is to view quality as a collective responsibility, ingrained in every step of the development process.

Although this transition may require an initial investment in training and tool adoption, the long-term benefits far outweigh the costs. Teams that embrace this approach will find themselves better equipped to handle the demands of modern software development, delivering high-quality products that delight users and customers alike.

--

--