MULTI-TEAM COORDINATION & PLANNING
Scrum of Scrum
To coordinate the different Scrum Teams "Scrum of Scrum"-Meetings can be used. It is similar to the Daily Scrum but the focus here is on team-level.
The meeting takes place every day and should be limited to e.g. 15 minutes. Each team sends out one member to participate and answer the following questions:
The answers should concentrate on the things that impact any other team.
- What did the team finish?
- What does the team plan to finish today?
- Are there any impediments?
The Chief Scrum Product Owner should moderate the meeting. Participate should not only the Scrum Master of the teams, one approach could also be to shift participation on a daily base within the team.
Common Sprint Reviews
Instead of multiple small Sprint Review meetings a common Sprint Review with all teams could also be used. This will show everyone what has been done within the Sprint and what the status of the project is.
Common Sprint Retrospectives
For the Sprint Retrospective there are two possibilities. The first possibility is that each team has their own Sprint Retrospective meeting followed by a Common Sprint Retrospective where all results are discussed that concern multiple teams.
Another possibility is that topics are collected, selected and then worked on in smaller groups with members of all teams. This approach will take more time but the advantage is that members from multiple teams are closely working together.
Multi-Team Planning - Scrum Product Backlog
Even when working with multiple teams it is important to keep only one common Scrum Product Backlog for all teams. The Scrum Product Backlog shall be maintained by the Chief Scrum Product Owner but is filled by all Scrum Product Owners.
If necessary the items in the Scrum Product Backlog can be broken down into more team-specific stories and maintained in a team-specific Scrum Product Backlog, e.g. only the relevant parts for an infrastructure team. In this case references between these Scrum Product Backlogs shall exist.
In a distributed Scrum environment it is possible to choose how to synchronize the different teams. One possibility is to use synchronous sprints. In this case all teams start and end their sprints on the same day.
Synchronous Sprints are the easiest approach since it makes communication and coordination simpler.
Another possibility is to use asynchronous sprints. Here the sprints do not start on the same day. Using asynchronous sprints has the advantage that not all meetings have to be performed on the same day and makes it possible for e.g. the Scrum Product Owners to participate in more of these meetings.
When one team provides services to other teams asynchronous Sprints might also be a good option because here the results of the service-providing team is already available during the development time of the other teams and could be integrated.
It is important that all items in the Scrum Product Backlog are estimated using the same base for estimation. If story points are used all teams have to agree on the same metric and a common scale to use. If Component Teams are used it is important that members of all teams participate in the estimation to ensure that all efforts are covered.