Hear me out. It may not be as far fetched as it may first seem.
I’m not going to say how long I’ve been around, but I have two copies of The Mythical Man-Month. I have the Anniversary Edition and the 1982 edition of the original 1975 book. I’m not sure why someone on Amazon is trying to sell the 1982 book for $ 129.95. The Anniversary edition contains four chapters not in the original edition including “No Silver Bullet”.
Brooks concludes “No Silver Bullet” with Promising Attacks on Conceptual Essence. His four major points are:
- Buy versus build.
- Requirements refinement and rapid prototyping.
- Incremental development – grow, not build software.
- Great designers.
Here’s what he as to say about these points.
Buy versus build
“The most radical possible solution for constructing software is not to construct it at all.” pg 197.
Requirements refinement and rapid prototyping
“… For the truth is, clients do not know what they want. They usually do not know what questions must be answered … Complex software systems are, moreover, things that act, that move, that work. The dynamics of that action are hard to imagine. So in planning any software activity, it is necessary to allow for an extensive iteration between the client and designer as part of the system definition.” pg 199
Incremental development – grow, not build, software
“The building metaphor has outlived its usefulness. It is time to change again. If, as I believe, the conceptual structures we construct today are too complicated to be accurately specified in advance and too complex to be built faultlessly, then we must take a radically different approach. … Some years ago Harlan Mills proposed that any software system should be grown by incremental development. … One always has, at ever stage in the process a working system. I find that teams can grow much more complex entities in four months than they can build“. pg 201
“The central question of how to improve the software art centers, as it always has, on people. … Great designs come from great designers. Software construction is a creative process. Sound methodology can empower and liberate the creative mind; it cannot enflame or inspire the drudge.” pg 202
Agilista or Not?
I find it interesting that Brooks originally published “No Silver Bullets” in 1986. That he nails the agile techniques of build only what you must, iterative and incremental design and delivery, and focus on people amazes me. In the next chapter “No Silver Bullet” Refired, he reviews many of the more serious comments and in the end concludes: “Net on Bullets – Position Unchanged.” pg 226
Such are the joys of 20/20 hindsight. So what do you think? Agilista? Forward thinker? I’m spending too much time reading meanings into what I’m re-reading? Drop me a note and let me know.