April 30, 2010

The Mythical Man-Month

From Thursday's Dilbert:


One of the Great Geek Truths is the concept of The Mythical Man-Month, which is named after the book of the same title. Although written as a guide to software engineering, it has implications for all collaboration and knowledge projects. The myth is that adding people to a project makes it go faster, when it fact it has the opposite effect.

Here's a visual: how many connections can occur between various numbers of telephones?


Author Fred Brooks' primary claim, since called Brooks' Law, was that adding people to collaborative projects would always make the project later. This was due to:
  • time to get the new people up to speed
  • communication overheads increase exponentially with the number of people


To elaborate on the point, here's a table of the number of people in the project, and the number of possible communications connections between those people.
# people#connections
10
21
33
46
510
615
1045
1155
1266
nn(n-1)/2

Let's say you're running a project with a total of 5 people. To keep everybody involved, you have to support up to 10 channels of communication. Your project misses a few milestones, and your boss wants to help so they add 5 more people to your project.

They've just condemned you to failure. In order to maintain communications between 10 people, now you need to support up to 45 channels of communication. Your project is doomed, and your people will recognize it as a death march.

Want to know why large groups don't work? Because they can't, due to the number of channels. Their only hope is to constrain the number of internal connections, usually by forming committees with focal points authorized to communicate. I'm not surprised when Congress fails to act; I'm amazed that it acts at all.


Brooks' Law only involves collaborative efforts, in which additional people (nodes) increase complexity exponentially. In contrast, most non-collaborative work is linear. If 1 workman can dig a three foot deep trench 10 feet long in 8 hours, then 10 workmen (working in parallel) can dig 100 feet of trench in 8 hours.

Sometimes Fred Brook's insight applies to physical projects as well as to intellectual or social projects. He famously said, "it takes nine months to make a baby, no matter how many women you put on the project". The reason childbearing does not scale in a linear manner is that gestation is a sequential process, whose stages cannot run in parallel.

Fred Brook's Mythical Man-Monthis one of three books that I own multiple copies of, and at any given time I've usually got all but one lent out. The other two are Effective Cycling(because of his emphasis on vehicular cycling) and Rashomon and Other Stories(because it contains the short story "In A Grove").

Dilbert, Death March, Ditch Digging. It is a good day to be a geek.

0 comments:

Post a Comment

Comments and Feedback? Love that stuff. Please leave your thoughts in the box below--