Excerpt from Wired:
Wired: What provoked you to write The Mythical Man-Month?
Brooks: As I was leaving IBM, Thomas Watson Jr. asked me, “You’ve run the hardware part of the IBM 360, and you’ve run the software part; what’s the difference between running the two?” I told him that was too hard a question for an instant answer but that I would think about it. My answer was The Mythical Man-Month.
Wired: You say that the Job Control Language you developed for the IBM 360 OS was “the worst computer programming language ever devised by anybody, anywhere.” Have you always been so frank with yourself?
Brooks: You can learn more from failure than success. In failure you’re forced to find out what part did not work. But in success you can believe everything you did was great, when in fact some parts may not have worked at all. Failure forces you to face reality.
Wired: In your experience, what’s the best process for design?
Brooks: Great design does not come from great processes; it comes from great designers.
Wired: How has your thinking about design changed over the past decades?
Brooks: When I first wrote The Mythical Man-Month in 1975, I counseled programmers to “throw the first version away,” then build a second one. By the 20th-anniversary edition, I realized that constant incremental iteration is a far sounder approach. You build a quick prototype and get it in front of users to see what they do with it. You will always be surprised.
Wired: You’re a Mac user. What have you learned from the design of Apple products?
Brooks: Edwin Land, inventor of the Polaroid camera, once said that his method of design was to start with a vision of what you want and then, one by one, remove the technical obstacles until you have it. I think that’s what Steve Jobs does. He starts with a vision rather than a list of features.
Wired: In the past few decades, we’ve seen remarkable performance improvements in most technologies—but not in software. Why is software the exception?
Brooks: Software is not the exception; hardware is the exception. No technology in history has had the kind of rapid cost/performance gains that computer hardware has enjoyed. Progress in software is more like progress in automobiles or airplanes: We see steady gains, but they’re incremental.