Tuesday, April 15, 2008

Small Teams

My wife and I went to the "Engineering Open House" at NC State with my son Richard last Saturday. They had many cool things on display, and there were a lot of people there. Richard is very interested in doing something technical, but isn't sure what yet.

The most interesting thing that I did there was spending about a half hour talking with Grayson Randall who designed the Lone Wolf autonomous vehicle that NC State entered into the DARPA Urban Challenge contest. Grayson is a really interesting guy and has a lot of cool stories to tell. I was asking him about the development process and team they used to produce the control and management software for the 9 dual core computers they have embedded in the trunk of their Lotus plus the 4 single board computers they have in the front of the car. He said that there were 6-9 people who spent a couple of years developing this software, with various teams implementing hardware at the same time.

Having been involved in systems design, I can know how hard it is to develop both hardware and software at the same time, so getting it all running is amazing all by itself. The point that sticks out to me most of all though is that a small motivated team can accomplish more than a large one in nearly all cases.

As teams grow beyond single digits two things happen:
  1. Inertia kills agility. Too many people are too hard to switch quickly. With small teams a quick meeting can convey the essence of the change. Large teams take exponentially larger amounts of time and effort to simply communicate.
  2. Inertia kills motivation. This is obviously not true in all cases, but in the teams I've seen, there is a direct relationship between the motivation of the team and the size of the team. I've seen too many cases on large teams where "everybody thought somebody would fix it".
Note that I'm not saying that small teams are the only ones that can succeed. Simply that in my experience, small teams are more likely to.

No comments: