
picked up a few books from the library this afternoon. one of them was the mythical man-month by mr. fredrick brooks - an all time classic on the human elements of software engineering. but wait a minute, do i not already have this book somewhere on my book shelf? sure i do. mine is a 1982 reprint of the 1975 first edition (the one on the left). i had it for quite many years and had read it cover-to-cover. the one on the right is the 1995 edition that i borrowed from the library today.
i read through the first two chapters this evening and was still amazed by the messages in this book which were written over 30 years ago. the tar pits, the optimistic programmers, the interchangeable men and months, the gutless estimations, and the myth about adding more resources to a late project will improve the schedule - aren't they all sound so familiar even in the today's environment?
while technology has certainly improved and matured in a much more rapid rate since the 80s or even from a year or two ago, the overall development of software engineering processes or disciplines has lagged behind. come to think of it, is it really that much different from managing a software development project today comparing with 2, 5, 10 or even 20 years ago? sure there are differences and improvements but certainly don't think they are that dramatic or far-reaching changes. agile software development certainly is a good practice today but the concept existed in the 90s in a slightly different form or shape. remember rapid application development (RAD) back in the PL/1 or C days?
today managers of software projects face many similar difficulties and challenges as described by mr. brooks in his book. the ugly truth is it doesn't seem like we are much better off today after all these years. so exactly what happened or what didn't happen? did technology help or make the situation worse? should we focus more on process improvement or maturity? or does it all come down to the "human elements" of the whole software development ecosystem which include you, me and many others?
read this book or re-read this book. would like to hear your view ...
A wonderful book, which I believe everyone in IT should get to read at least once.
Sadly not much has really changed in IT since Fred Brooks wrote this, and I suspect it's because he is really talking about the people involved in creating and implementing technical solutions, rather than purely the technology itself.
As I recall the second edition has a number of errata and amendments, as well as containing the seminal essay "No Silver Bullets". This was not only a key essay in terms of recognising that no one 'thing' will 'fix' the problem at hand (my simplification of a great essay) but was also key in the development of what I call the 'Cult of the Programmer', i.e. that in most software engineering projects, a single developer could often produce the majority of code (and value), and would also guide the development team (this was seemingly against the consensus at the time which talked about 'the ego-less programmer').
Evolution of this concept can be seen through out software engineering, from RAD to XP, and I suspect, culminating in David West's 'Object Thinking' book (also a great read).
In fact you've got me so 'fired up' I might just go dust off my copy of MMN and read it again...
Posted by Wayne Horkan on February 18, 2008 at 05:01 AM EST #
Yep, have both books and been showing them to ERI engineering managers for the past 3 years. My 2nd edition was even autographed by Mr. Brooks himself.
In my opinion, the additional chapters on the 2nd edition is not really worth it. The 1st edition is a classic and they should not have meddled.
Posted by Sin-Yaw Wang on February 18, 2008 at 01:46 PM EST #