Connections Between Team Members
Many companies have found anecdotally that large development teams don’t work well, and J. Richard Hackman, a famous expert on team dynamics, offers an explanation as to why. It’s not the number of people but the number of connections they must maintain. He uses the formula shown in Equation 81 to determine how many connections exist between people, where n is the number of people.
Equation 8-1. Number of connections between people
In Equation 8-1, as the number of people grows, the number of connections grows rapidly, as shown in Figure 8-2.
Figure 8-2. As the number of people grows, the connections grow rapidly.
In Figure 8-2, when the number of people on a team reaches 20, they must manage 190 links; when it reaches 50 team members, the number of links is a daunting 1225. Thus, the motivation to create small teams revolves around the desire to cut down on communication links. And these small teams should be cross-functional to eliminate artificial friction imposed by coordinating across silos.
Each team shouldn’t have to know what other teams are doing, unless integration points exist between the teams. Even then, fitness functions should be used to ensure integrity of integration points.
Strive for a low number of connections between development teams.