Most of the organizations I work with are embracing agile or some variant of lean development and delivery. While agile has been around for a while, there are still several organizations that are just beginning their agile transformation journey or are continuing to refine their agile practices.
In the Scrum implementation of agile, we have three roles: the product owner, ScrumMaster, and team members. The team works together to define the need or problem, develop the solution, and test the business value to be delivered before, during, and after development.
The ScrumMaster serves the team by providing facilitation and coaching, including helping the team remove roadblocks, orchestrating the daily standups, working with the team to define and refine their practices, and working with the product owner to prioritize stories.
Among the challenges that ScrumMasters face are prioritizing work in collaboration with the team; helping team members decide who is best suited for tasks; keeping the daily standup focused and timeboxed; facilitating communication across the team, particularly if the team is distributed and in different time zones; keeping the emphasis on quality practices and outcomes; and dealing with senior management who may not yet have fully internalized the agile principles of team empowerment.
Those in testing roles help build quality into the process and product early, so they’re in a good position to collaborate with the ScrumMaster to improve agile processes. Here are some ways testers can partner with, support, and assist the ScrumMaster—and the rest of the team:
- Lead a team discussion with the ScrumMaster on the team’s quality approaches and provide mentoring and coaching on quality assurance and testing practices
- Help the ScrumMaster and team understand the benefits of continuous quality and implement approaches for verification at every step, such as grooming the backlog and testing user stories as they are being developed
- Advise the ScrumMaster on risks and focus on completing higher-risk stories first and implementing mitigation strategies for identified risks
- Be a model team member in demonstrating communication and collaboration within and across teams and with distributed team members
- Educate the ScrumMaster on the many dimensions of functional and nonfunctional testing that may be necessary in sprints, such as testing APIs, data, mobile interfaces, application security, compatibility, performance, and so forth
- Provide the ScrumMaster visibility into the benefits of static and dynamic analysis and help the team implement tools, automation, and reporting for these early defect-prevention techniques
- Contribute to the definition and refinement of “done”
- Communicate the value and opportunities for automation to the ScrumMaster and team, not just for testing, but for the entire software development lifecycle
- Remind the ScrumMaster of the importance of a lightweight set of measures and metrics and the criticality of rapid feedback, and help implement the appropriate team dashboard
- Help the ScrumMaster be alert to cross-dependencies with other teams
In the most effective agile teams I’ve worked with, those in testing roles become true and trusted partners to the entire team. Partnering and collaborating with the ScrumMaster helps balance the focus on development and quality, yielding improved business value.
This is a repost of my article on TechWell Insights.