“The strength of the team is each individual member. The strength of each member is the team.” — Phil Jackson
Agile teams are built on collaboration, communication, and shared ownership of tasks, making the role of each team member crucial to the success of the project.
You can think of a role as a group of related tasks, activities, and responsibilities.
By knowing the responsibilities and core types of activities up front, you can help make sure you have the right people on the team so that you can achieve project success in a healthy and sustainable way.
Whether you’re a developer, product owner, or scrum master, each role has specific responsibilities and brings unique value to the team.
In this article, we’ll explore the key roles on agile teams and how they work together to deliver high-quality products.
Design, Development and Validation
On smaller teams, the key roles include: team lead, team members, product owner, and stakeholders.
The team lead is often a “project lead,” or a “team coach” or, in Scrum, the “Scrum Master.”
The main activities being performed by team members include design, development, and validation against requirements and constraints.
Architecture and Integrator
On larger teams, additional roles include architecture owner and integrator.
Some of the key issues to orchestrate and coordinate include: architecture and technical issues, project management activities, requirements management, and system integration.
As teams get bigger, the strategy becomes a “team of teams” approach. At Microsoft, this is a common practice.
Whole Team, Product Owner, Self-Organizing Team, and Sustainable Pace
A few key concepts for Agile teams include: “whole team”, “product owner,” “self-organizing team”, and “sustainable pace.”
Whole team is an Extreme Programming (XP) practice where the team has all the skills it needs to complete the project, without relying on external experts.
Product owner, in Scrum, is a project’s key stakeholder, and usually a lead user or customer advocate.
In XP, this was the on-site customer, but is now part of “whole team.” The main idea is that the customer is available throughout the project to shape, guide, and validate the priorities and acceptance criteria for the team.
Self-organizing is the idea that teams are empowered to organize themselves, rather than fit canned roles.
“Sustainable pace” (originally, “40 hour week” in Extreme Programming) is the idea that you set a sustainable, measurable, and predictable pace for the team.
Team Stability + Generalists
In practice, there are a couple more concepts that help team success: team stability and generalists. To achieve team stability, avoid swapping out team members.
Teams go through forming, storming, norming, and performing so swapping out team members is more than just losing the knowledge and experience, it disrupts the team chemistry.
As Fred Brooks reminds us, adding members to an already late project just makes it later. Using generalists (that are specialists in one or more domains) helps create a more flexible team that can respond to challenges and better support a “whole team.”
Agile Roles and Responsibilities at a Glance
On the Microsoft patterns & practices team, these are the roles and responsibilities that we typically defined at project kickoff:
Subject Matter Expert
|Architecture and Design
Product Group Alignment
Support / Sustained-Engineering
Team and People
Nothing is worse than getting mid-way through a project, only to realize you don’t have a “whole team” that can execute successfully, or that you don’t have the right “product owner” to validate that what you’re shipping meets the needs of your users.
How To Create a Self-Organizing Team
Creating self-organizing teams in agile requires a shift in mindset from traditional hierarchical structures to more collaborative and flexible approaches. Here are some key steps to help create self-organizing teams:
- Establish clear goals and vision: Teams should have a clear understanding of their goals and the overall vision of the project. This helps to align everyone towards a common purpose and allows them to make informed decisions.
- Encourage open communication: Communication is key to self-organization. Encourage team members to communicate openly and frequently with each other. This includes sharing ideas, feedback, and concerns.
- Empower team members: Give team members the authority and autonomy to make decisions that impact their work. This helps to build trust and empowers team members to take ownership of their work.
- Foster a culture of continuous improvement: Encourage teams to experiment and learn from their mistakes. Create a safe environment for team members to take risks and try new approaches.
- Provide support and resources: Ensure that teams have the necessary resources and support to achieve their goals. This includes providing access to training, tools, and other resources that can help them be successful.
By following these steps, organizations can create self-organizing teams that are better equipped to handle the complexities and challenges of agile projects.
You Might Also Like
10 Ways to Make Agile Design More Effective
40 Hour Work Week
Agile Practices at a Glance
Don’t Let the Big Get in the Way of the Small
Don’t Push Agile, Pull It
Extreme Programming at a Glance
How Agile Skills Improve Job Security
How To Drive Digital Transformation the Agile Way
Kanban for High-Performance Teams
MSF Agile at a Glance
MSF Agile Workstreams and Activities
Scrum at a Glance
The 4 Circles of Extreme Programming
Waterfall to Agile
What is Agile?