There are different theories on what’s the optimal size for a team. In a first Scrum guide it was mentioned that development team should be 5-9 Scrum guide, February 2010. Amazon has two pizza rule, which is what? 4-7 members or so. Jurgen Appelo suggests it’s 5 in a blog post The Optimal Team Size is Five.
I say it’s - 3!
This is why I think so:
- Smaller team - less risk. I see it as an analogy to Continuous delivery and risk correlation. The less code you produce and more frequently you release - less risk of breaking something you have.
- The smaller the team - the more important each member is. When you are a member of a small team - you make much bigger impact in oppose to for example if you are one of 9 members in a team.
- Having a constrain of small teams - you will be forced to architecture your solution as decoupled as you can. Most of the time it’s a good thing if you plan to grow and scale. Which is in synch with microservices concept, everyone is talking about now.
Since team is a group of people and 1 is totally not a group and 2 is a couple :), then 3 - is a group and the smallest possible team.
There are some more nice to have features that come with teams of 3:
- When the team is 3 - it’s easier to cover for each other. Most likely you will avoid ending up with the situation when only one team member knows particular part of the code, because of a huge scope your team owns.
- Conformance will be the highest in a team of 3. According to a social impact theory, conformance is at it’s peak when the team is 3-4. Meaning that attitudes, beliefs and behaviour will match easier in such team. And as you know: Social pressure, used correctly: far more powerful that hierarchy, no damaging side-effects from Organize for Complexity.
- When you are in a really small team - the feeling of being involved and making a change is strong and direct - your actions are more immediate.
- 3 is an odd number, which is good when you need to vote for something in the team - you avoid ending-up in a dead heat.
I worked with different sized teams: from huge ones - ~15 people and to one person ‘teams’. I liked teams of 3 the most. To tell the truth, I prefer when teams form and evolve naturally; but if I needed to create one - I’d go with 3 developers.
How big is your team? What’s your optimal number?