Fred Brooks helped define computer software, in deed as well as word. He served as project manager for, and thus as "father" of, the IBM System/360 and led the design of its operating system. In his classic 1975 book The Mythical Man-Month, he coined Brooks' Law, which states that "adding manpower to a late software project makes it later." He left IBM in 1964, when the System/360 was introduced, to start the computer science department at the University of North Carolina at Chapel Hill. Today, at age 79, he's still teaching and has published a new book, The Design of Design: Essays From a Computer Scientist (Addison-Wesley Professional, April 2010).
You're famous for Brooks' Law, but you also said that when building something, "you should plan to throw one away. You will anyway." That was the first edition of The Mythical Man-Month. In the second edition, I say that was misguided! You ought to plan to continually iterate on it, not just build it, throw it away and start over. Some of the things I said in 1975 were wrong, and in the second edition, I correct them.
In your new book, you draw on your experiences designing things such as a beach house. Are you trying to get people in programming to look beyond software? That's my central thesis. There are these invariants across mediums in which one designs. Let's try to identify these invariants and learn from the older design businesses.
In IT, a long-held belief is that business people don't understand technology and tech people don't understand business. Is that a truism?I don't think it is. It's true that some business people don't understand tech and some tech people have no interest whatsoever in business. But the pointy-headed boss in Dilbert is a caricature. It characterizes some situations where we have bosses running software projects who don't understand what software is about. I think that's no longer the prevailing situation.
You raise the idea of the team vs. the individual designer and how we've shifted toward team design in part because things have become so complex. What about Steve Jobs? Is he an exception to the broader rule you're discussing? He's unquestionably a great designer in that he has the vision of what the product ought to be. [Polaroid founder] Ed Land was the same way. Now, what Land did and what Jobs did is gather a team of people with the various skills to realize the vision. Jobs doesn't do [everything], but he sees the things to be done and casts that vision before a team that can realize it.
What about the rest of us? How are we supposed to make something great? The secret is to start with a vision of what will be useful, why it will be useful. Ed Land said, in an annual report from Polaroid, what you do is you start with a vision of the product and one by one remove the technical obstacles until it's realized. That's a nice way of thinking.
My net message is, if you're designing something new, find and choose your chief designer and trust them to do it their way instead of putting all kinds of shackles around them. Give them authority over what the design should be. As far as I can tell, when [architect] Christopher Wren was entrusted with building those 66 churches in London after the big fire [of 1666], they don't seem to have nitpicked him. The famous Lockheed Skunk Works -- they locked the door, let the people go off, and they came back with a radar-invisible airplane. We had watchbirds galore [for the System/360], but at the final sprint, I shut them out.
You also note that organizations often behave worse than individual members of the group would on their own. Why is that?I don't fully understand that. There's something about peer-group pressure that encourages people to cross bounds they wouldn't cross by themselves.
How can we curb that Lord of the Flies tendency? I think it's leadership. You train individuals to have character enough not to go along with the stream. And that has to be done at home and in the schools.
What's the state of computer science education in the U.S.? Our Achilles' heel is elementary and middle school preparation. We are not getting as many people prepared to go into technology -- and well prepared to go into technology -- as we should.
I see some remarkable accomplishments happening in strong schools. But I see disaster happening in many, many schools. I think there are organizational reasons why that's true. I think the teaching profession is not paid and recognized as well relative to other professions. As a consequence, I don't think that many people who two generations ago would have gone into teaching go into teaching anymore. I also think that bureaucratic requirements put on teachers now hamper teaching of a lot of substance.
What can we do to get kids more interested in technology? The critical place is middle school. We're doing a lot of things. Lab visits where people go out and talk to the schools. We're doing science fairs; we bring people into our labs. The scientific community is really concerned with trying to get more people interested.
But there are two issues: One of them is getting them interested, and the other is seeing to it that they get the mathematics foundation, particularly in middle school. If they didn't get the algebra at the right time, or they got turned off on science, the trouble goes on and on.
Fitzgerald is a freelance writer in Millis, Mass.