Questions to Grady Booch:
Q: As you and Rumbaugh started in 1994 your Unified Method adventure, that seemed a very difficul task. Now that you've achieved it, what do you think have been the factors that have helped you on the road?
A: I think there are two that come to mind. The first is, we were supported and encouraged by Rational to do this work. Iíve been with Rational since its foundation, and around the time of late í80 there were some 50 identifiable OO methods. We at Rational made the strategic decision to eliminate the fragmentation in the marketplace by first hiring Jim, and Rational largely left us alone to do what we needed to do, and that was tremendous because we were given the charter to do the right thing technically Ė that helped a grat deal.
The second factor that I believe helped was the presence of the Object Management Group, because they gave us a focus thereafter, with the Request For Proposal to produce a sounded OO method. They gave us a schedule and a pretty clear outline of what they needed to create. And so that was not only a matter of bringing us to work together, but it forced us to consider a formal statement of the UML semantics, and that was I think a good thing.
Q: The UML is a collective creation. You, Jacobson and Rumbaugh are its main authors, but many others helped to refine it. Firms, and fellow methodologists. Was it difficult to achieve an effective cooperation between so many egos and so many different interests?
A: In fact, if you look at the list of UML partners, it includes companies such as IBM, Oracle and Microsoft. The astounding thing to think of is getting those three companies to agree upon anything, and the challenges there were far greater than among any of the individuals. But I think the reason we succeeded is because that was a Win-Win situation, for everyone. The presence of the UML added a great value to everyone of our partners Ė IBM, Oracle, Microsoft, Texas Instruments, MCI Systemhouse, Hewlett-Packard, a whole list of whoís who in the software industry. UML was the right technology at the right time.
Yes we certainly had some challenging technical discussion, there were lots of people who were involved, very passionate people, and yet we were all trying to do the right thing, and that focus, I think, was why we were successful.
The other thing that helped is, we expected that there were going to be certain areas of conflict, particularly with regard to notation, the actual graphical symbols, so, to avoid that, we focused upon the meaning of things first, the semantics, and then we stepped back and considered what the right notation is, and that forced us to consider the technical issues before the emotional issues, and once the technical issue were decided, the emotional issue largely evaporated.
Q: How do you think the existence of the Internet, mailing lists, newsgroup helped communication between the different partners? Would have it been different ten years before?
A: The presence of the Internet made it possible for us to develop the UML even though, as I think about it, there was never a time when the entire development team ever got together in one place. We were communicating via e-mail, we posted ideas on a website, I had teleconferences and occasionally videoconferences, and most of the work, quite frankly, I did from the security of my home, and that technology simply would have not been there ten years ago. We also leveraged our tools. We used Rational Rose to design the UML itself, and everyone of the team had Rose, and that enabled us to share models very easily. Yes, it was a collaborative effort, and the presence of the Internet helped that in many ways.
Q: What pros would you suggest to an It company or to an IT department in order to persuade them to use the UML?
A: If you consider the nature of software development today, for the average IT organization, there are some challenges they face. To begin, those organization are asked to be creating larger applications, with fewer people, in less time. On top of it, there is an incredible amount of technology churn (turnover), for example we have the great debate between C++ and Java, ve have NT versus Unix, now there is Microsoftís DNA versus Enterprise Java Beans, and even more recently, Sun announced a technology called Jini, for use within distributed devices. So, for the IT shop, this is a period of incredible change, and coping with that change, and coping with complexity, are extremely hard.
If you think abou the challenges in civil engineering, itís easy to build doghouses, because all you need is do it, but if you build a high-rise, it requires lots of work. In the civil engineering community, there are blueprints, and thatís how they model these things, and thatís exactly what the UML is, it is the language of blueprints for software. So the value to the IT shops is that it enables them to capture all the important decisions about their architectures, so to move them away from the challenges of the technological change, and that allows their teams to communicate to one another, in a degree that could be not achieved in the past. Many IT shops are involved in hetereogeneous systems, meaning itís probably bits of Cobol, C++, Java, who knows what else there. And when you deal with so many languages, trying to just get control of what you are building is very difficult, and the UML can deal with all those languages, and so offers you that degree of control. UML is all about control. Couple that with the Unified Process, which is Rationalís approach to basically get a level you see in SEI level 3, that plus the UML has tremendous benefit to the IT shops in terms of giving them greater predictability in what they produce.
Q: Do you see a difference in this regard between IT shops and IT departments of firms in other sectors?
A: I think that there are some sectors that have different views of the world such as for example the computer gaming industry, the world of embedded systems where hard real time domains are very different. In those particular domains they are less constrained by legacy. For IT shops, legacy code, legacy data, the distraction ot the Y2K problem, these are things that other sectors donít have to be so much concerned about. So the pressures for IT shops are particularly intense.
Q: What about IT shops that are not using object technology? Do they see the UML strictly tied with OT?
A: I think it is certainly true that the UML is best suit to OT, but even for those organizations that are not in an OO world, there are forces arounding them that are pushing them in that direction. And two in particular come to mind. If you look at the trends of database technologies, witnessed by Informixís data blades and Oracle 8, these are both technologies that are hybrid object-relational, and so you can certainly stay with what you have today, but their database vendors upon whom they rely, are moving to the brave world of objects.
The other thing that is happening to traditional IT shops is the Internet is becoming the common vehicle to deliver applications, and so whereas before we might have had traditional client-server things, now the client lives in the context of a web browser. To build applications on the web inherently involves OO languages such as Java and C++. So even for those IT shops that have a large backend in non- OO things, they are being forced to put Object Oriented layers on top of those. And for them therefore the UML offers tremendous advantages, because it enables them to build the bridge between their OO and their non-OO worlds. In fact, we at Rational are working with Oracle to define some simple extensions to the UML, to make it easier to model relational databases, so that the database administrators can use the UML to speak easier to other roles.
Q: When will these extensions you are working with Oracle be effective?
A: We have a technical paper that we have circulated and developed jointly with Oracle, and the intent of both Oracle and we will support those extensions in our products. Itís not they are violating the OMG, itís outside, because itís standard extensions to UML, and the extensibility of the UML permits that.
Q: The UML is meant to model every kind of system, not just software. Do you know any application of the use of UML outside the software domain?
A: Cadence, an hardware company, has used the UML to design a port-level speech-compression device. At an University a group has produced a coupling of the UML to VIACTL, a language for VLSI design at the chip level. An health care organization that has used the UML to model the processing of patients in their healthcare system, and lastly the US Navy that is working to a new generation destroyer, and one of their prime contractors has been using the UML as a system design language for that destroyer, modeling both hardware and software.
Q: Any use of the UML in the business process reengineering area?
A: I know that Oracle is using it, because they are the group that brought us the idea of activity diagrams, for the primary purpose of being able to do business modeling. In Oracle situation, they have a large consulting group, yes they have technology in their backend, but the focus of that group is to work with the customer to understand and model their business, and thatís exactly what the UML does. We worked with Guus Ramackers and D.Clegg from Oracle UK for that very purpose.
Q: Now it is the diffusion phase. What are the main forces that are contributing to this diffusion?
A: There are three. The first of this is that every one of the UML partners is actively supporting the UML. We find for example IBM using it for their San Francisco framework, Microsoft ships a version of Rational Rose called MS Viewer in every one of their development tools, Visual Studio, Unisys uses it for their Repository, MCI uses it for their products, so whatís happening is that, with very little resistance, the partner companies that have embraced the UML are now promoting it, and in fact it is been done in such a broad basis that it is absolutely wonderful.
If you look at Microsoft in particular, they recognize that for them to penetrate the enterprise marketplace, their customers have to be successful in architecture, and the UML is a standard that adds value to their customers. If you look at their developer courses, they are increasingly starting to use the UML. And, if you visit the DNA website, they use the UML to describe examples of DNA. So Microsoft is already using it.
I think thatís better than an active promotion of the UML, because itís like compilers, you know you need them, there no debate over whether or not you need it, itís obvious. And thatís whatís happening with the UML. The best technologies become transparent over time.
The second thing thatís happening is that we find a lot of tools that are supporting the UML. The UML is not a proprietary thing. Our Rose certainly supports the UML, and we think itís the best support for the UML (smile), but there are other tools that support it as well. And frankly that competition is good for everyone.
The third thing that happens is that there are a lot of resources to help people use the UML. There are, by my count, almost a hundred books on the UML, in a variety of languages, with many courses in Universities, and in industry too. So the diffusion is happening because there are several third parties that have made the UML accessible.
The UML is a very simple language, but, like in civil engineering, just because I know how to draw a blueprint, it doesnít mean I can design a beautiful building. And so there is an important role for academia and consultants and other companies to play, to help people be effective with the language.
Q: What are major obstacles to deal with now?
A: Now the UML is relatively stable, and the good news is that there is a process in place within the OMG to manage its natural evolution. We are apparently on a fast track for ISO standardization as well too, which is good. The UML is in good hands.
The next challenges for me and for Rational are to take the UML primarily in the areas of e-commerce, and in distributed devices, so the next big thing for us is applying the UML to capture architectures in a way that we can then execute those models. The future of the UML is pretty clear and pretty stable. I donít see any obstacle.
Q: Now the greatest part of the effort is done. Are you going to rest, and capitalize on it, or are you moving forward to other areas of interest? What next?
A: In this industry, sitting still is death, and so there is no time to rest. For me personally, Iím spending more of my own work in the area of architectural patterns, I am for example looking at a few dozen industry architectures around the world and try to capture them, Iíve been spending time with IBM in the design of their Olimpics 2000 software, because they had developed a very good and scalable solution for web systems, and Iíve been studying their architecture and seven other architectures that they have evolved for web systems. The other extreme Iíve been working with places such as the Jet Propulsion Laboratory, in Pasadena, Florida, that is using UML for the next generation of Mars landers.
Q: And the other partners of UML, Jacobson and Rumbaugh?
A: We will spread apart. We came together and we did the right thing with the UML, but now the UML is done, and I spend less time with Jim and Ivar.