Software Engineering and CS Resources !

Provide useful guidelines, tips, and references for Computer Science and Software Engineering students, professional, and normal computer users that we have found from our research so that you don't have to spend 100's of hours researching or searching those information again.

Location: WI

Wednesday, September 27, 2006

The Mythical Man-Month

Essays on Software Engineering / Frederick P. Brooks, Jr

Adding people to a late project makes it later
If a certain job can be done by ten people in one month, they say that this job requires ten man-months (or “person-months” as they are called today). Simple arithmetic shows that if you allocate twenty people to that same job, if should be finished in half that time. I guess this kind of logic must be right in some sort of projects, because otherwise, economists wouldn't have been so fond of it.In the world of software design, however, this premise is an outright fallacy. There is no gentler way to put it. A program that can be crafted by one programmer in two months will probably take two programmers three months to complete.

As far back as 1975, when software engineering was a very young profession, Frederick Brooks keenly observed that the man-month concept is but a myth.The problem with software project management back in the 70's was that most managers were educated in the fields of economics rather than computing, and many of the theories they were familiar with were simply not applicable to software projects. In fact, there were no equivalent theories for software design projects. And since even today, most software projects are never released on schedule, we have a bold indication that this problem, along with many other problems that Brooks outlines in his book, is still unsolved.In the preface to the 20th Anniversary Edition, Brooks writes:

To my surprise and delight, The Mythical Man-Month continues to be popular after 20 years.Actually, this is really a shame. It indicates that in twenty years, the software industry hasn't learned some serious lessons, and it is still paying the price. Software engineering is still considered to be more of a strange art than an engineering profession. Truly, I would be the first to admit that there is art in software writing. It is a beautiful, delicate art that can be appreciated only by others versed in the same art. It is, I believe, a more fascinating art than architecture, more arresting than painting, more thought-provoking than music, when done by a true coding artist. However, an architect will not let the artistic aspect of designing of a house distract him from assuring that the house will withstand at least minor earthquakes.

This realization is yet to dawn on most software professionals, those who consider themselves artists only and refuse to refer to themselves as engineers (an interesting solution was suggested by a good friend of mine, who considers himself a “software architect.”)Brooks' work is simply a must to anyone who considers a profession in the software business, and doubly-so for would-be managers in this field.

The book not only outlines the problems, but also suggests some interesting solutions (“The Surgical Team,” for example). It outlines some very important pitfalls (like the “Second System” effect) that every professional in the field should be aware of. And finally, it provides many important insights and case studies.Most of the material in the book is as relevant today as it was when originally written. Understandably, though, part of the material is outdated. In the 20th Anniversary Edition, rather than update the original text, which is considered “classical,” Brooks has wisely decided to add update chapters. These discuss the issues presented while shedding fresh light from the 90s on them.

Personally, I recommend reading the relevant parts of Chapter 18 after reading each previous chapter. Chapter 18 is titled, “Propositions of The Mythical Man-Month: True or False?”, and it contains updated information about each of the chapters from 1 to 17.Finally, this new edition includes a reprint of Brooks' famous essay, “No Silver Bullet”, which was originally an invited paper for the IFIP '86 conference in Dublin, and later published in Computer magazine. In this paper, Brooks speculated that no technology will be found, within ten years of its publication (in 1986), which will enhance the process of software development by an order of magnitude. Nine years later, in retrospect, Brooks sadly notes that he was right.

  • Ref: Frederick P. Brooks, Jr, "The Mythical Man-Month"


Anonymous Anonymous said...

very interesting reading

6:26 AM  
Anonymous Anonymous said...

Great thoughts you got there, believe I may possibly try just some of it throughout my daily life.
software product engineering

5:09 AM  
Anonymous Chevy HHR Turbo said...

Hat’s off. Well done, as we know that “hard work always pays off”, after a long struggle with sincere effort it’s done.

12:45 AM  
Blogger Nick said...

Thanks for post such as very useful and very lovely post.....

Software Product Development Services: - Ampere offers full cycle custom software programming services, from product idea, offshore software development to outsourcing support and enhancement.

2:37 AM  

Post a Comment

<< Home