Steps To Build A Perfectly-Sized Software Team

Using the Dunbar Numbers to calculate perfectly sized cohesive software teams

Adnan Sahinovic
Nerd For Tech
6 min readDec 18, 2023

--

Photo by Museums Victoria on Unsplash

A good team is a combination of capabilities and interactions; it is more than the sum of the parts.

Introduction

Most software developers had experience working in understaffed or overstaffed teams. I can’t remember how often teams tried solving productivity issues by adding just one more developer.

Adding a new developer is more complex than it seems at first. Firstly, it takes time to onboard and get him up to speed; secondly, it adds communication load to existing team members.

Different companies have different rules. Amazon tends to organize small teams (max five people), and their rule of thumb is if the group can be fed with two pizzas, they’re perfectly sized.

According to Scrum, the ideal software team size is between three and nine members, with seven being the best match.

However, the ideal team number depends on various facts. When forming a development team, it is essential to consider the team's needs and not just random numbers. Here are some factors to consider:

  • Team: The team should have the skill set to build the product.
  • Availability: Ideally, each team member works on just one project at a time.
  • Stability: The members spend significant time on this team and must be reliable.
  • Diversity: A wide array of ideas, backgrounds, beliefs, and life experiences might be helpful for creativity and versatility of approaches.
  • Psychological safety: The environment within the team should be favorable so that the team members can share ideas.
  • Communication Equality: Each team member should be able to speak their mind and be heard
  • Manager: How many people the team leader can manage well
  • Types of work: The kind of work done in the team
  • Team overall demographics: The age and personality of the team (not the team members)

Communication Load

Each new member adds productivity to the team but increases the communication load.

A formula is applied: N (N — 1) / 2.

The formula shows how many interactions will be within teams of different sizes.

  • N is the number of people on the team.
  • In a team of five, there will be ten interactions. This means ten different combinations of communication among the team members.
  • In a team of seven members, there will be 21 interactions.
  • In a team of nine, there will be 36 interactions.

An increase in team size from five to seven members almost doubles the communication load, which can hurt productivity after a certain point.

When adding new members, the team needs to put extra effort into onboarding and bringing them up to speed. And all that time not spent developing the project means the performance could be better.

To avoid this challenge, understaffing the team initially with the intent of growing it later is a good solution.

When planning team size, make sure to take the communication load into calculation.

The Dunbar Numbers

The Dunbar Number, named after anthropologist Robin Dunbar, is the maximum number of social connections a human can actively maintain. It’s based on studies in the early 90s attempting to quantify our brain sizes and behavior.

5, 15, 50, and 150 are essential numbers to consider when considering group size and workplace productivity.

Dunbar’s optimal team numbers

Human capacity is an essential constraint in steering team building.

Groups of 5 People

Dunbar’s numbers tell us that around five people can closely trust each other. Trust is a crucial thing, being a necessity for psychological safety.

Smaller teams benefit from stronger bonds, which keep work focused and contained and provide less room for social loafing.

Assuming meetings are productive, everyone is contributing, and goals are being met, teams of around five people are optimal for maximum productivity.

Groups of 15 People

Dunbar says, "Fifteen is the number of good friends in our inner circle — friends we interact with regularly and have strong bonds with, including our five best friends. You can turn to these people for help whenever you need it."

People-to-manager ratios of 15:1 tend to be an upper boundary, as connections between members become geometrically more complex and more difficult to manage once you hit those digits.

“While it is not the only lens to look through when designing an optimal team size, it’s my belief the moment that when it becomes a struggle to spend 30 minutes a week with each of the folks on your team, it’s time to consider your team might be too big.” — Michael Lopp.

Groups of 50 People

Dunbar says that 50 is the number of people we call friends, including our five closest and 15 good friends. Having 50 people in a group means weaker connections, as we usually don't hang out with 50 people regularly.

You can have over fifty team members on Slack, but you'll only talk about 40% of them.

At this size, a company must establish a solid structure and well-defined roles to maintain order, stay in control, and thrive.

Adding new members increases the communication load.

Groups of 150 People

The number that Dunbar is best known for is 150 (rounded from 148). It’s the maximum number of social connections humans can manage, beyond which groups struggle to operate effectively.

For example, once Facebook exceeded 150 employees, they ran into large-scale communication, retention, and turnover problems that were only solved by establishing solid structures, goals, and all-inclusive company values.

Dunbar numbers found that a long time ago, Roman legions were about 150, and army troops in WW2 were similar in size. Neolithic farming communities would, like many tribes, subdivide into separate communities at around 150.

Groups of 500 & 1500 People

“At around 500-strong, these people are acquaintances and tend to remain just that.”

500: The number of not-so-close acquaintances we can keep. We have contact with these people, but the additional 350 people are not part of your network, and you don’t know much about them.

1500: The number of people you can recognize, but these are people with whom you don’t have much social contact.

Dunbar’s findings affect our personal lives and how we interact at work and maintain business relationships. It means there are limits to the number of people on one team, the number of people that should belong to a department (~50), or a division (~1500).

Conclusion

Ultimately, ideal team size depends on more than Scrum or any other recommendations. To build a perfect team, we need to consider a few factors:

  • Scope of project
  • Deadlines
  • Experience of developers
  • Team capabilities and their stack
  • Did this team ever work together?
  • What is a general team organization structure?
  • Who is the team lead, and their capabilities

Additionally, it’s essential to consider the manager's capabilities and whether he can manage a group. Ideally, a software team shouldn’t be larger than ten and lower than three members.

--

--

Adnan Sahinovic
Nerd For Tech

Building tools on phones and browsers and documenting my expedition. React-Native since v0.5 • Android dev since KitKat