What is a whole team approach (team-based approach)?
The whole-team approach (team-based approach) is a style of project management in which everyone on the project team is held equally responsible for the quality and success of the project.
Agile software development, Lean production, and creative teams in advertising and other media often use the term. A whole-team approach recognizes that members cannot operate in isolation for the team to be successful.
Each team member must know and appreciate every other team member's strengths and skills. They must also be willing to switch roles when the need arises and remain focused on the success of the project, doing whatever is necessary, whether or not it's technically their job.
How does the whole-team approach work in Agile testing?
In Agile development, the whole-team approach means that everyone on the development team is equally responsible for quality.
In the book Agile Testing -- A Practical Guide for Testers and Agile Teams, Lisa Crispin and Janet Gregory stated: "The focus of agile development is producing high-quality software in a time frame that maximizes its value to the business."
As per Crispin and Gregory, the team members do not work as gatekeepers for their work. Instead, the entire team gets "test-infected."
This means that the testers are no longer the only ones required to test the product. "Tests, from the unit level on up, drive the coding, help the team learn how the application should work, and let us know when we're done with a task or story."
What skills are needed for the whole-team approach?
Each team member develops different skill sets. The developer needs to perform software testing, learn testing strategies, build acceptance tests, create test automation, conduct exploratory testing, etc.
At the same time, the tester needs to learn technical development, such as automation, system architectures, application programming interfaces, etc. Here is how the whole-team approach works out in practice:
- The team size is small and consists of about five to seven members. This enables more accessible communication and develops deeper work relationships between the team members.
- The team works together from a physical location. Each team member is similarly situated without any barriers between them. For example, all the team members might work from the same table, which can fit in multiple working spaces. The whole-team approach does not provide private offices to some members, while others work in a cubicle.
- The product owner conducts regular meetings, which all the team members attend. In Scrum ceremonies, the members are assigned tasks and share the progress of their work. This optimizes the approach for the handling of the product backlog.
- The team as a whole values working together to develop a product, as opposed to working in isolation. The business representative, developers and testers are all responsible for the quality of the product.
What are the benefits of the whole-team approach?
The whole-team approach increases the value of the software for the company. It has many benefits:
- It creates a sense of community in the workspace. This methodology helps in developing better relationships among the team members. Further, it promotes better communication among the members.
- Every team member learns more skills because of Agile development. For example, the DevOps engineer gets a chance to experience the tester's role and vice versa.
- It maximizes the value for the business. The aim is to produce a better end product in a shorter time duration than would be possible otherwise.