Guest Author - Julie L Baumler
Brooks, Frederick P. Jr. The Mythical Man Month: Essays on Software Engineering: Anniversary Edition with Four New Chapters. (Reading, Mass.: Addison-Wesley, 1995.)
The Mythical Man Month is a classic book of essays about computing projects and software engineering. Fredrick P. Brooks Jr originally wrote these essays in 1975 reflecting on his experience as the manager in charge of developing the IBM OS/360 (an operating system for the the IBM System/360 mainframe that was developed concurrently.) In 1995 the twentieth anniversary edition came out with 4 additional essays, one written as a stand alone article in 1986 reflecting on some of the responses to his essays and three written just for the book. One of the new essays is a summary of the propositions in the original essays with updates where necessary based on the preceding twenty years of experience. Thirty-five years from original publication, these essays still contain valuable information for those of us involved in software engineering and other computer projects.
The title The Mythical Man Month comes from the concept that work can be measured and managed on the basis of how much work one person can do over a period of time and that if the work needs to be done faster, doubling the staff will double the time to completion. (Another common 'solution' is to have the existing staff put in overtime.) This is a persistent myth that most people in software engineering have probably experienced and seen fail. Brooks looks at a number of reasons why this doesn't work and discusses ways to optimize staffing that actually work.
If you are thinking about a career as a programmer (or wondering why you made that choice), chapter one includes a very good discussion of the intrinsic joys and pains of programming. Some of my other favorite sections cover why a team of programmers in a garage seemingly do better than a large team working for a large company when it comes to innovative software design (and why those comparisons are often apples to oranges.) I also really like Brooks discussion of how good tools have lead to performance improvements. Although it isn't really discussed directly, this book really helped me see the value in keeping track of what works and how in a quantitative manner so that you can measure success and failure. Each essay was an interesting and enjoyable to read and full of good and useful ideas. It's rare for me to have trouble putting down a technical book, but that was the case with The Mythical Man Month
I highly recommend this book not just for those interested in software engineering, but for anyone who is in, or is considering any sort of project related computer field. The Mythical Man Month is available in many libraries, but my experience is that this is a book you want to own. I find myself regularly going back to look up exact quotes to back my point (or remind myself that I'm not crazy) when discussing scheduling and resource allocation issues. If you are trying to save money, it is not uncommon to find inexpensive used copies as I did.