Number of Communication Channels and the Mythical Man Month

I’ve always felt strongly that keeping a team small is the only way to remain functional. The mythical man month will always rear its ugly head:

Tonight on IM I was chatting with a friend and figured that it would be interesting to graph.

The formula is simple. The number of communication channels in an N person team is N^2-N. Note that Wikipedia uses N(N-1)/2 which I believe is incorrect. They’re assuming that communication is unidirectional which it is not – it’s directional. For example in a two person team there are two lines of communication – from alice to bob and from bob to alice.

Microsoft found that keeping a team to about 3-5 persons is ideal. Here’s why. It’s the beginning of the elbow in the geometric progression.

For easier frame of reference a six person team has 5x as many connections as a three person team.

Note that the same geometric progression is present in unidirectional modeling it’s just that the slope is more shallow and the elbow is pushed out a bit more.


  1. Kevin,

    While I’m definitely in favour of small teams, short iterations and all that goodness, I think that there is a problem with your model. You are assuming that each actor has exactly the same communication profile (propensity to express opinion, etc.). In fact, even in small teams, there will be those who feel the need to communicate a lot and those who can get by with more listening and less talking. In addition, the roles that these different people play in the team should vary enough to make this peer-to-peer model too simple.

    Vision is not a democratic process.

  2. What about when communication is done via group channels? (IRC, campfire, blogs, etc).

    I still think small team can do more (and better) but from a group communication perspective, I sure feel many-to-many is a gain in efficiency if the team can manage “noise” (those conversations you wish you should not have to “participate” in)…

    Just thinking out loud here.

%d bloggers like this: