Since the early 1980s, he has been the chief scientist of development tools specialist Rational Software, which IBM acquired in 2002. Booch is a geek's geek and one of the original developers of the Unified Modeling Language.
Such is his dedication to his craft that Booch refused to let a little thing like a heart attack last year get in the way of maintaining his blog. Spending an increasing amount of time on research, he remains an active participant in IBM's vision for next-generation software engineering, which includes experimenting with Second Life and mashups.
Q: You blogged from your hospital bed last year. Do you have a mild case of cyberdependency, or were you just staying focused?
Booch: About an hour after I'd regained consciousness from my open heart surgery, I started a conversation with my nurse and mentioned that I had a blog. He visited the site real-time and suggested that he be my eyes and hands to blog for me while I lay there, still wired to a variety of software-intensive machines. So I'd not call it cyberdependency, but rather I'd call it just exploiting the resources at hand.
You are championing virtual programming environments with IBM's Codestation in Second Life. How does this work, and do you think it represents a new era for global collaborative development?
Booch: For me, it's a simple economic choice. For example, this week I'm in London and yet need to give a keynote to a group in Brazil. I could fly there--at a cost of several thousand dollars and the cost of days of my time, increasing my carbon footprint--or I could be there virtually, which is not quite as good as being there in the flesh but still far better than just voice or video.
Do you buy into the argument that business mashups will drive the next wave of Web services?
Booch: Economics will drive the next wave of Web services. Mashups are on the edge, and service-oriented architectures (SOA) at the core are the economically viable and technically viable choice for a large set of problems now. Remember, the mashups themselves must be well-architected if they are to endure, and remember also that SOA is really just a particular manifestation of the classic message-based architectures.
You're one of the original
Booch: In a software-intensive system, the ultimate truth is in the code. However, the code is never the whole truth, because there is a loss of information from design to code: information that cannot be reverse engineered from the code--elements such as rationale and design patterns that cut across individual components. Models are always an abstraction of reality and, thus, to expect that models address the complete truth of code and vice versa represents a fundamental misunderstanding and misuse of models. One can argue that code itself fails to convey the complexity of a system's architecture and, thus, code itself is inadequate.
It's been five years now since IBM brought Rational Software into the fold. How has the broader platform support that the acquisition was intended to create manifested itself?
Booch: I'm just an uber-geek at heart and, thus, I was only a minor player in the business of the acquisition. But in its early stages, I was tasked with managing the Rational-IBM Research relationship, which has proven to be most fruitful. Prior to the acquisition, Rational had made a commitment to the Eclipse platform and worked closely with IBM on a variety of technical and customer elements, such as the UML standard.
Now that we are part of the larger IBM, there has been a much broader opportunity for. So we have exploited products, parts, personnel, technology and processes from other software group divisions, and in turn they have exploited elements from Rational, leading the sum to be, as they say, much greater than the parts.
Pundits have criticized your Eclipse-based team-collaboration platform, Jazz, as being a "me too" version of Subversion. How do you react to that?
Booch: Subversion addresses only a small element of what's in the Jazz platform. Alan Brown and I published a paper some years ago regarding the nature of collaborative-software development and our conclusion is that it involves weaving together a hundred small things to form a frictionless surface for development. Jazz is in essence the platform for that frictionless surface and, thus, embodies the mechanisms for those hundreds of small things.