Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Share this Page URL


2 THE MIGHTY BOOCH Grady Booch, October 2007 A reality TV show for developers, life-saving software and the discovery of fire... BCS managing editor Brian Runciman speaks to IBM Fellow Grady Booch, who gave the Turing Lecture in 2007. Perhaps you could tell us what you are working on currently? There are two areas that I'm giving my attention to. The overarching thing that brings them together is addressing what one can do to improve the efficiency of developing, delivering and evolving complex software systems. There is a gap between vision and execution; we can dream up many things that have a software element to them, but to turn that into running systems is a challenge. Pure computer science can limit us, so can social, legal and moral things. But where most organisations stumble is at the cusp of design and organi- sation ­ those are the two places where I'm spending my attention. In the area of design, one of the greatest advances in the last 10 years is the obser- vation of design patterns, the ability to look at things at a higher level of abstrac- tion that transcends the original programming language. Not that languages are unimportant, but to address complexity we have to move up levels of abstraction. The Hillside Group, of which I'm a founding member, has begun to catalogue several thousand design patterns, so that's a maturing discipline. We know to express patterns we needed to catalogue in the physical networking domain and the abstract logical domain. Where we lack is in our ability to describe significant or architectural patterns. In civil engineering, there is a history of architects learning by studying the works of their masters ­ Frank Lloyd-Wright, Christopher Wren, Frank Gehry. There are books that catalogue the different genres of buildings and observe the common kinds of architectures. No such reference exists for software engineering. In software, people tend to be brought up in one domain with almost no knowl- edge of others. Nor have they studied the masters. I've found that only one or two institutions in the computer science world have a reading course. This is much more common in other disciplines. So my goal is threefold: first, to build a handbook of software architectures with the idea of codifying the architecture of a number of interesting systems ­ historical, 10