On team size in software projects

2 – 5 members

  • Cooperation is easy
  • The team leader’s time is split between managing the team and their own programming tasks
  • The team leader must be proficient in the programming language the team is using. They don’t need extensive management skills
  • Agile ceremonies are fast and nobody is bored. Usually an hour is enough
  • People skills grow organically. Strict career or onboarding paths aren’t usually needed
  • A member leaving is a big and long-lasting problem for the team. Capacity to deliver will be impacted for months and the customer will notice. Knowledge will be lost

6 – 9 members

  • Cooperation is getting harder
  • The team leader manages the team full-time. They can do some project or architecture work, but cannot take on large programming tasks
  • The team leader doesn’t have to be proficient in the programming language, but still needs to understand the technologies used to make good project and architectural decisions
  • Agile ceremonies are getting longer
  • People skills growth has to be taken into account at least yearly
  • A member leaving is not usually a big performance hit for the team

10+ members

  • Team members don’t know what other people are doing. You need many more sync meetings to keep everyone on the same page
  • The team leader is a manager only. There is little time for product or project involvement. This makes hiring easier—you can hire for people skills rather than technical expertise
  • Agile ceremonies are long and boring. Planning can take half a day
  • It’s hard to seat the team around one table in a restaurant or in a reasonably-sized office
  • You need to assign senior engineers to mentor newbies during onboarding. Onboarding must be prepared before new members arrive
  • A member leaving isn’t a big hit for the team—there will always be someone leaving

In

Leave a Reply

Your email address will not be published. Required fields are marked *