Grady Booch: The developer's developer
Published: 26 Sep 2007 17:34 BST
...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.





