Friday, August 8, 2008

Team size?

Agile generally suggests pairing and collective code ownership to be good things.

However in a large team, if your code base is bigger than any one person can be familiar with, then a lot of time is spent on 'cache misses' - the learning / relearning of areas of the code base unfamiliar to yourself.

This suggests that teams and codebases/projects should be subdivided into teams small enough to grok their entire subset of the codebase. From my own empirical experience, I'd say five is just about perfect.

No comments: