The Mythical Man-Month, by Fred Brooks, is not a new book. It was originally published in 1975, and I had read most of it before. But I got my hands on the 20th Anniversary edition recently, and I wanted to re-read the whole book anyways. Now that managing is as much a part of my job as coding, I wanted to get a fresh perspective on this classic work.
I liked the book before. Now I think it should be required reading for anyone who designs or develops any kind of software. I believe in 95% of the book’s basic premises and arguments, and the clarify of the writing is almost unmatched.
It is just astonishing to me how really brilliant people just don’t get some of the classic mistakes made in software engineering. The myth that adding more people to software teams will make them more productive in a linear fashion just refuses to die. Brooks’ Law is totally right in my experience, but people don’t accept it mentally.
The “second system effect” Brooks described 30 years ago is still in full-force, and I deal with it on a daily basis.
What’s the deal? Why do these things refuse to die? A lot of the mistakes he points out are still happening all the time. Maybe, at Steve McConnell says in his enumeration of these mistakes, they stick around and are “classic” because they’re so intuitive and easy to make. It’s only experience (or direct, over-riding behavior from someone with experience) that overcomes them.
It’s particularly interesting to see how almost everything Brooks’ predicted in 1975, and re-affirmed in 1995, is still so true in 2009. It’s been 34 years, more than a standard generation, and certainly several technology generations. How many technology books have that predictive power?
That’s why I’m happy Brooks won the Turing Award (sometimes called “The Nobel Prize of Computing” a while ago. It’s often given to extraordinary technical achievements whose details most people never realize. To see the award given for managerial, organizational, and psychological achievements is very cool.