IBM fellow Grady Booch remains one of the company's most respected authorities on programming. The chief scientist, since 1980, 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.
You blogged from your hospital bed last year. Do you have a mild case of cyberdependency or were you just staying focused?
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?
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?
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 authors of the Unified Modeling Language (UML). What would you say to developers who distrust the simplicity of a UML diagram and argue that it fails to convey the complexity of the underlying code, which may be bug-riddled?
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?
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 Rational to enter IBM's existing customer base. 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 criticised your Eclipse-based team-collaboration platform Jazz as being a "me too" version of Subversion. How do you react to that?
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.
IBM Rational Software general manager Danny Sabbah said earlier this year that, in recent times, there has been a lack of architectural governance in many software projects as distributed systems have had to be brought together haphazardly. How will we get around this problem and work more effectively in the future?
Two things I've said about architecture in the past: first, every system has an architecture — most are accidental, some are intentional; second, the hyperproductive projects I've encountered all tend to proceed by the incremental and iterative release of an executable architecture. In short, architecture is central to enduring software. One of the things I'm doing with my work on building a handbook of software architecture is to codify the best practices and patterns of architecture.
How does IBM's Extreme Blue programme work to address the IT skills gap?
The European Extreme Blue Expo features real-world issues that are given to teams of university students from across Europe who work in collaboration with IBM over the summer to fuse some of the brightest minds in academia. I've been engaged with some Extreme programmes, but only as a mentor or participant.
Keep in mind, though, that the issue of IT skills is a complex, global, interdisciplinary one. IBM's university relations, its work on standards, its work on processes, and its efforts to grow technical talent are all parts of the solution.