DEV Community

Eduardo Klein
Eduardo Klein

Posted on • Originally published at eduklein.com.br

Software Engineering Team Size

The right size of a software engineering team and the number of engineers an Engineering Manager (EM) can properly support is at the core of organizational design in tech companies.

The Scrum Guide states that "The Scrum Team is small enough to remain nimble and large enough to complete significant work within a Sprint, typically 10 or fewer people". The Two-Pizza Teams, coined by Jeff Bezos at Amazon, also says that "We try to create teams that are no larger than can be fed by two pizzas", which I guess can't feed more than 8 or 9 people.

A more accurate answer depends on how the team operates. Teams at big tech, for example, are responsible for innovation, keeping the lights on, on-call processes, among other responsibilities. By the way, those teams are usually not running the Scrum framework to manage projects anyway.

The truth is, this question has been puzzling me for a while. I feel I've been in both extremes of this dilemma: Small teams that lack skills and are highly impacted by vacation, on-call, sick leave, etc.; and big teams that get too complex to manage, loose focus easier, and don't adapt fast. Both usually don't perform as expected.

Being in the EM's seat, having a small team impels you to act hands on with your engineers, whereas with a big team you can't properly support all engineers the way you wish. Neither helps your career development as an Engineering Manager.

In his book An Elegant Puzzle, Will Larson offers, from his experience, a playbook on sizing teams at big tech, which I feel is well aligned with my perceptions.

From his playbook we can get valuable insights:

  1. Managers should support 6 to 8 engineers
    • Those who supports fewer than 4 engineers are hands on Tech Lead Mangers (TLMs)
    • Those who supports more than 8 engineers, typically act as coaches and safety nets for problems
  2. Managers of managers should support 4 to 6 managers
    • Managers supporting fewer than 4 managers should be in a period of active learning (Ramp up)
    • Coaches: Supporting more than 6 managers leaves you functioning purely as a problem-solving coach
  3. On-call rotations want 8 engineers
  4. Small teams (fewer than four members) are not considered teams

This is a simple and straightforward set of principles that can guide the way we organize teams effectively.

Top comments (0)