Wednesday, January 16, 2008

The Majesty of the Mythical Man-Month

I am still amazed at the number of software managers who are unfamiliar with "The Mythical man-month" lesson that says (paraphrasing here) adding more people to a late project makes it even later. So I decided to round-up some resources on the subject. Here they are:
Several of the materials I found were course lectures from various Universities:

I like the classic quotes! Among my favorites ...
“Adding manpower to a late software project makes it later.”

“How does a project get to be a year late?... One day at a time.”

“Nine women cannot deliver a baby in one month”

“Program maintenance is an entropy-increasing process, and even its most skillful execution only delays the subsidence of the system into unfixable obsolescence.”

“Plan to throw one away; you will, anyhow.”

“Conceptual integrity is the most important consideration in system design.”

“If a system is to have conceptual integrity, someone must control the concepts. This is an aristocracy that needs no apology.”

“The purpose of organization is to reduce the amount of communication and coordination necessary.”

“Build a performance simulator, outside in, top down. Start it very early. Listen when it speaks.”

“The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself... One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be... It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time.”

“The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn't work. Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.”


3 comments:

peaches said...

I read Brooks' Mythical Man Month in the 1990's, and it struck me as one of the best discussions of the process of human endeavor, and what goes wrong when haste is applied to projects.

The key elements of Brooks' observations on projects in process are applicable far outside of software engineering. Any group endeavor needs thresholds, boundaries, vision, flexibility, and persistance.

Brroks' observations reinforced my own belief in the idea of a group agreeing to have some level of autocracy by the designer, and most importantly, the idea of outside handlers knowing not to abridge the basic product's ability to eventually exist in a usable form by meddling with the schedule in an unintelligent manner.

I'm not an engineer. I recommend this book enthusiastically.

Anonymous said...

The Prophet Brooks has been shown time and again to have been just that, a prophet. As my field is information security, I might add that his observations are as true as ever but a bit less actionable now that large web services do not (and never will) have overall organization in full charge, no aristocracy still knows (or ever will again) how it all works, and we are past the point at which starting over is possible (hence the entropy accumulation phase is both permanent and, one should think, slowly accelerating much the way planets gravitationally grow).

This may seem apocalyptic, but it is not in and of itself. It could be apocalyptic were some mix of entropy accumulation and concentration of risk (as the diversity of alternatives withers away) were to proceed for some time. As with an asteroid impact, it may only be a question of when, not if.

Dan Geer

EthanPond said...

Professor Brooks was interviewed in August 2009 at Siggraph, discussing his thoughts about DESIGN OF DESIGN. Video can be found at: http://www.youtube.com/watch?v=TbJqUCgTF9Q&NR=1