Wednesday, January 11, 2006

Fred Brooks and Late Projects

Scott Berkun, rapidly becoming one of my favorite reads in the internet for his sagacity about software projects, points to an interview with the legendary Fred Brooks in Fortune magazine.Fred is of course famous for The Mythical Man Month, in which he argues Brooks's Law: "Adding people to a late software project makes it later."

The article itself has some stellar bits of quotage in it, including these:

Brooks' law depends heavily on the amount of information that has to be communicated. So the argument is that if you add people to a project that you already know is late, which means you're at least in the middle of the project, you have to repartition the work.... Sometimes that can be done by subdividing the existing units, but sometimes you have to move boundaries. That's a lot of work. The next thing is, you have to train the new people.

...Peter Fagg, a really wise System/360 engineering manager, gave very sound advice: "Take no small slips." That is, if you're going to take a slip, get everybody onboard, get organized, and take a six-month slip, even though you may at the moment feel as if you're only four months late.

...The other was when I was a new IBM employee and heard Vin Learson, a VP at the time, later CEO. He said, "The problem is not to make the right decision; it's to make the decision right." ...I came to understand that he was talking from an executive-level point of view. ... Either way can be made to work, but it's very important to pick one and then go whole hog. A counter-example is IBM's PL/I language. They adopted it, they backed it, and then there was a spell when they decided maybe it wasn't going to be the language. And then they decided maybe it was going to be. As a consequence, most customers didn't stick with it. The wishy-washiness killed it, I think. Whatever you're doing, you'd better go do it.

Visibly wishy-washy corporate "positions" can be fatal or at least very damaging to a business. But it's unfortunately pretty common to hear one's customers say, "We're not sure what you're telling us to do" or "What are you recommending here, you have us confused." Brooks has some comments on open source that are interesting too.

Scott notes that there are caveats or objections to the original Brooks Law linking project lateness and adding manpower (item summary here, he says more about each): It depends who the manpower is. Some teams can absorb more change than others. There are worse things than being later. (Producing better quality work might justify being later, if you've identified a role or expertise that's required.)It depends on why the project was late to begin with. Adding people can be combined with other management action (...such as cut or reorganize work across the project, improve tools and equipment, throw a social event to accelerate team relationships, etc.).

Smart stuff.

No comments :