On the Effectiveness of Teams

I just read a really great article by Joel Spolsky in which he discusses how important it is to hire the best programmers. I agree with everything he says, although he ignores the issue of teams.

The way that a team functions, as a unit, is probably more important than how any individual performs on her own. The most interesting and important systems are too complicated to be built by a single man. Effective teamwork is crucial. I’ve been told that when George Lucas cast Star Wars, he auditioned groups of actors together.

Part of this is the cliche “whole is greater than the sum of its parts” thing. It’s true, and everyone who’s ever successfully pair-programmed knows it.

But even more basically, each team member should have a slightly different skill set — ideally one which complements the abilities of the others. In Fred Brooks’ classic The Mythical Man Month, he describes a “surgical team” where only one member, the surgeon” does the actual programming. Everyone else is effectively support.

No matter how great one cog is, you need a bunch of different parts to make a useful machine. A band with five Yngwie Malmsteens would suck.


%d bloggers like this: