DragonImages - Fotolia
Scrum teams must be nimble during a software project. Accordingly, these teams need to be small -- typically 10 or fewer people -- but large enough to complete significant work during each sprint.
Three Scrum team roles must exist regardless of how an organization structures its team:
The product owner is responsible for proper project delivery and the overall alignment of the work a Scrum team does.
One major responsibility of the product owner is product backlog management, which includes being able to:
- collaborate with stakeholders to ensure the team translates business requirements into product backlog items;
- communicate product features to the team;
- create and communicate product backlog items;
- order product backlog items; and
- ensure that the product backlog is transparent and understood.
The product owner can choose to handle all the tasks or delegate certain responsibilities -- especially product backlog tasks -- to other members of the Scrum team. Regardless of who accomplishes the work, the product owner remains the main point person for the project.
Product owners need to be empowered to make decisions. If someone wants to change the product backlog, they will need to work with the product owner.
Critically, the product owner should always be one person and not a committee. Even if the product owner represents the needs of all project stakeholders, the Scrum team role is designed for one person and one person only. Multiple product owners can mean slower decision-making.
The Scrum Master position is responsible for facilitating communication between Scrum team members and for leading the Scrum meetings. This person helps everyone -- including management -- understand Scrum theory and apply that practice across the organization.
The Scrum Master serves the team in essential areas, including to:
- coach team members in self-management and cross-functionality;
- remove impediments to progress;
- ensure that all Scrum events are held and kept within the timebox;
- help the Scrum team define sprint goals, and focus the team on creating high-value increments that meet the definition of done; and
- buffer interruptions to developers that can slow or impede them from accomplishing their tasks.
Along with the team, the Scrum Master also serves the product owner in several ways, including to:
- establish techniques for effective product backlog management;
- set up and maintain the schedule for all Scrum events;
- help the Scrum team understand the need for clear and concise product backlog items; and
- facilitate stakeholder collaboration as requested or needed.
The Scrum Master role is central to interactions between the product owner, developers and any other members of the organization involved in the project. Outside of the project, the Scrum Master acts as the point person for Scrum adoption throughout the entire organization and removes barriers between stakeholders and the Scrum team.
Among the three core Scrum team roles, developers are the members that create the product during each sprint.
The developer role is the least-defined one within the Scrum team structure and largely depends on the type of work the software needs during a sprint. Largely, developers:
- create a plan for the sprint and the sprint backlog;
- instill product quality by adhering to the definition of done;
- apply the pillars of Scrum to every sprint: transparency, inspection and adaption; and
- hold each other accountable.
Developers are the closest team members to product creation and handle the technical elements that make up the backbone of the product. Each developer on the team needs to work collaboratively with colleagues to ensure the work is completed correctly and on time.
In theory, a Scrum team has no hierarchies. It's a cross-functional, cohesive unit focused on one objective. Team members possess skills that add value during each sprint. The team also self-manages, which means team members internally decide who does what, when and how; but this isn't always the case in practice, especially at the developer level.
Members of the developer team often have different types and levels of experience. It's common within this framework for a lead -- or most-experienced -- developer to facilitate task selection for the team based on strengths and weaknesses.
Scrum team modifications
If Scrum teams become too large, organizations should consider breaking them into multiple teams that focus on specific, related sprint goals that all lead toward project delivery. These teams should share the same product goal, backlog, owner and possibly even Scrum Master, but the teams should have independent Scrum events that align to their specific sprint goals and duration.
On the other hand, very small teams will run into problems with Scrum team roles designated for one person instead distributed across multiple people. For example, two people -- like the product owner and a development team member -- might handle the Scrum Master role. The product owner handles the management and facilitation elements of the position, while the developer leads daily meetings and sprint reviews. This arrangement isn't ideal, but it can succeed on a small, simple development project. However, the tradeoff is that each team member that performs Scrum Master tasks won't have as much time to focus on their primary tasks and goals.
The Scrum team structure highlights the importance of the separation of powers between different branches of the team. While each organization can create its own structure based on staffing and skills, they should maintain the basic structure of a product owner, Scrum Master and developers for an easily traceable relationship during product development.