Well, first off, in most Agile teams, the golden number is said to be between 5 and 9 members. Again, these are heuristics. In Scrum, teams larger than 10, are considered to be a bit unmanageable, as the daily meeting tends to become more than the time boxed 15 minutes. Moreover, large teams tend to mutate into smaller informal teams. You may consider this to be “nature’s” way of correcting itself.
As for how to decide what is the right size for you, I’d suggest you consider the following scenario, and see if it feels right for you:
- Your teams are agile, and feature driven, as opposed to component-oriented teams (i.e. GUI team, service team, DB team, etc.)
- Your team should be capable of completing entire features on their own (self sufficient). This means your team should have at least one person capable of completing every task required to get the feature done.
- Ideally, besides your specialist (i.e. GUI designer, architect, DBA), you should have at least one other person qualified to do the job – even if not as well as the specialist.
- Ideally, in my opinion, at any given moment the entire team should be working together on the top-priority feature. This means that you have enough team members to work on an average sized feature, no more, no less.
- Consider whether or not your team is suited for Pair-Programming. This will greatly increase your internal quality and productivity.