Team size is a concern in agile methodologies. Many articles about this topic recommend a team no greater than 9 people. Amazon uses an interesting concept for defining if the size of an agile team is not too big, the 2-pizza team: no team should be larger than 2 pizzas can feed.
Why smaller teams are better and what is the optimal size?
Shmula explains the size issue based on the number of links between each member of the team. Increasing the number of members increases the number of links exponentially:
Links = n * (n – 1) / 2 where n is the number of team members.
Doug Putnam, QSM Vice President, shows some very interesting empirical data on team size and project success:
From the 491 projects that were analyzed we would conclude that a 3-7 person team has the best performance (3-5 would be the best, but 5-7 people is a very close second).
So my advice is to break large teams of tens or hundreds of engineers into small teams of 3-7 people plus a Product Manager to act as a client proxy. A good way to break teams is either by product and/or by sub-system. Well, how to break the development team into small teams probably deserve its own post. So, stay tuned! 🙂