The Mythical Man-Month Matt 25 Aug 2005

13 comments Latest by pratishiscool

The Mythical Man-Month: Essays on Software Engineering, a book on software project management written by Fred Brooks, was mentioned by a few commenters at the recent thread on Three people for version 1. Here are some insights mentioned at the Wikipedia page about the book:

Adding manpower to a late software project makes it later.

A single chief architect (or a small number of architects), acting on the user’s behalf, decides what goes in the system and what stays out. A “super cool” idea by someone may not be included if it does not fit seamlessly with the overall system design. In fact, to ensure a user-friendly system, a system may deliberately provide fewer features than it is capable of. The point is that if a system is too complicated to use, then many of its features will go unused because no one has the time to learn how to use them.

When designing a new kind of system, a team will design a throw-away system (whether it likes it or not).

Software is invisible. Therefore, many things only become apparent once a certain amount of work has been done on a new system, allowing a user to experience it. This experience will yield insights, which will change a user’s needs or the perception of the user’s needs. The system will therefore need to be changed in order to fulfill the changed requirements of the user.

13 comments so far (Jump to latest)

iain 25 Aug 05

>Software is invisible. Therefore, many things only become >apparent once a certain amount of work has been done on a >new system, allowing a user to experience it. This experience >will yield insights, which will change a user�s needs or the >perception of the user�s needs. The system will therefore >need to be changed in order to fulfill the changed >requirements of the user.

Sounds an awful lot like XP to me?

iain 25 Aug 05

bugger, I thought that’d render nicely: sorry everyone.

Sam Newman 25 Aug 05

> Sounds an awful lot like XP to me?

And the problem is…?

Remember that this book came along before XP. XP is only a specific set of Agile processes - many of those agile processes predate the book (although back then they were never called “agile” - typically they were called “common sense”).

It’s still the best book on software project management I’ve ever read, and no matter which development approach you use, you’ll ignore its wisdom at your peril.

searchy 25 Aug 05

hey you usability gurus - how about a search on your site? or if you have it, one that i can find?

iain 25 Aug 05

Sam:
It’s not a problem at all! I just found it interesting that despite XP practices seemingly being advocated in one of the definitive books on project management, some people still think BDUF is the only way to do things *cough*joel*cough*.

Wesley Walser 25 Aug 05

kind of going along with searchy can anyone point me to a system that will allow someone to add search to a site without a too much cost.

There are a lot of free ones out there, and a lot of expensive ones. I want someone that I can re-archive more frequently than google, but not as expensive as the higher end stuff. The problem is that I am working for a non-profit, and even with that some of the nice system are over 5k to implement.

topfunky 25 Aug 05

That’s an awesome book.

His essay called “No Silver Bullet” predicted that there would be no single significant development in programming that would increase productivity by an order of magnitude (whatever that means).

I’d be interested to hear JF/DHH’s opinion on that re: Ruby on Rails. Does RoR constitute an advancement of this type? Or, does RoR incorporate multiple technologies which collectively increase productivity (thus validating Brooks’ assertion).

Don Schenck 25 Aug 05

I don’t think one particular methodology is as important, or as much to blame, as the flat-out incompentence that I come across on an almost-daily basis! It’s friggin’ unbelievable.

I’ve worked with huge, huge customers (think “largest in the world in their field”) and yet they have people that are clueless or else driven by politics to the point of being clueless.

Combine that with a corporate “don’t take chances” attitude and you have a recipe for failure — often the outcome.

Even if you don’t know, humble yourself and be teachable.

I could scream from this soapbox for hours.

iain 26 Aug 05

topfunky:

My take on this (and I have thought about it before now) is that rails is not a silver bullet. It’s just that the other ways of doing things are so bad that it looks like one!

L. A. Silberman 26 Aug 05

“In fact, to ensure a user-friendly system, a system may deliberately provide fewer features than it is capable of. The point is that if a system is too complicated to use, then many of its features will go unused because no one has the time to learn how to use them.”

Yes!! I don’t know how many times I have argued this!

At one of the companies I worked for the best project results were always from the underfunded projects, as there was only enough money to build the minimum needed to fullfill function. Then usually about three months later a version 2 was released with those things that were REALLY needed to enhance the application.

Most other sofware project ended up with something that had the learning curve of Mt. Everest as every single process flow exception that had been used was recreated in the software. No matter how seldom it was invoked, or how few accounts it pertained to.

Tijl Koenderink 02 Sep 05

In the same category, I have a bok that you will quite surely like. It is written by Joe Marasco, retired senior vice-president of Rational Software. He uses a simple mathematical model to prove that it is close to impossible to add enough people to actually reduce the time.

Check out the ‘Software Development Edge’ on Amazon.com, it’s loaded with a number of his insights into Software Development, written in a simple, logical and often entertaining way.

pratishiscool 28 Nov 05

It goes with the idea that ‘The Best’ is the enemy of ‘The good’. Trying to deliver the best might jeopardize the entire thing.