- How to divide the scrum teams. We will provide some guidelines for teams to consider.
- How to divide the work across the different scrum teams. In this section, we will discuss how to manage a Product Backlog when working with multiple teams.
- How to overcome challenges around agile estimation. In this section, we will talk about how distributed teams can work to gain a common baseline for story point estimates and we will also discuss ways to estimate the stories in the backlog.
Setting up the teams
Locating team members in the same building, the same floor and the same work area is the ideal scenario for organizing scrum teams. This optimizes the flow of communication and the collaboration between team members.
However, for various reasons, many software development teams are now distributed with members in many different locations. Depending on the geographical locations of these different teams, they will work in one of the following distribution levels:
- Collocated teams : This represents the ideal scenario where all team members are in the same physical location, collaborate and meet face-to-face regularly.
- Collocated part-time teams : These teams have members in the same physical location with some occasionally working off-site, either from another business location or their home offices. These teams experience some of the challenges experienced by distributed teams, however, in general, team members are in the same time zone and can meet face-to-face if necessary.
- Distributed with overlapping work hours: These teams have members in different physical locations, with working hours that overlap one another to some extent. An example of this is a North American team with members in Montreal, Canada (UTC-5:00) and in San Jose (UTC-8:00). The three hour time difference allows a part of the day where team members from both locations are working at the same time.
- Distributed with no overlapping work hours: These teams have members in different physical locations, with no common hours in their work days. An example is a project team with members in Austin, Texas (UTC-6:00) and in Beijing, China (UTC+8:00). These kinds of teams face the biggest collaboration challenges.
Figure 1 – Working hours for a project team with members in four different location
Figure 1 above shows a project team with members in four different locations. When setting up your teams, you want to reduce the distribution level between team members as much as possible to encourage collaboration and communication. In order of lowest to highest distribution level, here are some team configurations to consider:
- Collocated Scrum teams at each site : If you have enough team members and the right skills mix at each site to build cross-functional feature teams, this arrangement will bring the lowest distribution level for the project teams. The teams in different locations can coordinate using a regular scrum of scrums.
- Teams with overlapping hours : When you do not have enough team members in one location to build a cross-functional team, you may want create teams by putting together team members that have overlapping working hours between them. With the project team shown in Figure 1, the team members in Texas and California have overlapping working hours, as do the ones in India and China. Assuming these team members have the right skills to build cross-functional teams, you may want to consider creating teams this way.
- Team members with no overlapping work hours: For the sake of discussion, let’s assume this is a smaller project team with one or maybe two members in each of the different locations. In such a case, a collocated team per location or even teaming members