After our recent discussions on ‘Keeping Your Estimates Honest’ and ‘No Silver Bullets’, I decided to blow the dust off my copy of The Mythical Man-Month, (Frederick P. Brooks, JR, 20th Anniversary Ed. Addison Wesley, 1995) and reread it.
What amazes me about this book is that it is over 30 years old, and yet it is still very relevant today. Am I amazed that people haven’t learned from these well-documented problems and solutions? No. It reconfirms that software development is not an easy task, and managing these projects from estimation through conclusion is more stressful now (with greater business demands and competition) than it was 30 years ago.
The book covers many topics, but a recurring point Brooks makes is that Conceptual Integrity is central to product quality. If there is not purity of design that is applied to the whole application, this lack of integrity will cause problems down the road. Brooks discusses the art of growing software rather than building it at length, and suggests using ‘Surgical Teams’ and division of responsibilities (similar to that seen in Scrum practices today), which leads to a better-integrated team and a higher quality result.
All of this reminds me that the various manufacturing metaphors that are often applied to the software development process are unhelpful at best. While it is important to ensure consistency of behavior of the finished application, you can’t get away from the fact that the software development process is, by its nature, a creative activity and demands freedom of creative thought.
It also raises questions in my mind about the viability of outsourcing: we have several clients who outsource the development of various parts of their applications to different groups, often at different external vendors in different countries. (I wonder what impact that approach has on Conceptual Integrity.)
Another area Brooks comments on is “adding manpower to a late project makes it later” (Brooks’ Law). This is one lesson that I believe the industry has learnt over the past 30 years. Brooks’ observation “The bearing of a child takes nine months no matter how many women are assigned” is one I have heard many times in my own career.
Brooks wrote The Mythical Man-Month largely from the experience he gained when managing the IBM System 360 project back in the 1960’s. But most of the concepts of the book are still relevant today; fundamentally, this book is about managing and organizing teams to become more productive. Brooks expands on this subject in the last chapter of the 20th Anniversary Edition - The Mythical Man-Month after 20 years – and many of his conclusions are proven with references to numerous projects and studies. In my opinion this will still be staple reading for any project manager or development manager for many years to come.