Quality Angels in Your Team
Quality plays a central role in the Scrum framework, and its significance is evident in the Scrum Guide, particularly through the concept of the "Definition of Done." This definition serves as a critical benchmark for product quality. It outlines the specific criteria that must be met for an Increment to be considered complete and of sufficient quality. This commitment to quality ensures that each Increment is usable, useful, and valuable to the end users.
The Scrum Guide emphasizes that quality should remain consistent and not degrade throughout the course of a Sprint. This underscores the unyielding focus on maintaining high quality in Scrum, with each Sprint Retrospective serving as an opportunity for the team to plan ways to enhance quality further.
One key question arises: Who bears the responsibility for the quality of the product or solution developed within a Scrum Team? Scrum is domain-agnostic, offering a flexible framework, and it is up to the team to determine what skills and expertise are needed to consistently produce high-quality Product Increments each Sprint. It's within this context that Quality Assurance (QA) specialists come into play.
However, a certain myth about the term "Developer" in Scrum needs to be addressed first. According to the Scrum framework, a Developer is any team member who contributes to creating a usable Increment each Sprint. This means that QA specialists, too, are Developers since their work directly contributes to the process of creating the Product Increment.
Scrum makes it abundantly clear that it is the Developers within the Scrum Team who are responsible for upholding quality by adhering to the Definition of Done. This underscores that the responsibility for the quality of the product is shared among all Developers, making them collectively accountable.
The term "Quality Assurance" implies a specific role with the focus on verifying and validating quality. However, in the context of Scrum, the role expands beyond just testing. It encompasses a broader perspective that spans both functional and non-functional requirements. Quality Assurance specialists work to ensure that the end product or service aligns with customer needs. They are, in a sense, the guardians of quality, looking beyond mere defect detection and emphasizing preventive measures to maintain a high standard of quality.
It's imperative to recognize that QA specialists, or Quality Angels as they're referred to here, do not bear the sole burden of ensuring product quality. Instead, they play a guiding role within the Scrum Team, sharing their expertise and championing quality throughout the product development process. Scrum emphasizes collaboration and teamwork, and all Developers are collectively responsible for delivering a high-quality product increment.
Quality Angels, in their role as the Scrum Team's quality guardians, offer a multitude of benefits:
- they consider the user's perspective,
- anticipate user questions,
- challenge ideas and solutions, leading to valuable discussions and insights,
- help make informed product decisions.
Moreover, they play an essential part in building a culture of continuous improvement, addressing quality issues as they arise, and raising awareness about the importance of quality within the Scrum Team.
In practice, there are various Quality Assurance techniques and practices that can enhance product development in Scrum, just to mention:
- emphasizing collaboration over sequential activities,
- promoting automation to streamline testing processes,
- allowing room for empiricism to refine testing practices,
- fast feedback loops, early issue identification, and the involvement of all team members in understanding the user's perspective,
- pair-testing, where QA specialists collaborate with other team members on testing tasks.
In summary, Scrum places an unwavering focus on maintaining and enhancing product quality. The responsibility for quality is a collective one within the Scrum Team, and Quality Angels, or QA specialists, are integral members of the team who champion quality and ensure its continuous improvement. By fostering collaboration and a culture of quality, Scrum Teams can consistently deliver valuable, high-quality products and solutions to their customers.