Grady Booch is chief scientist at IBM'sRational Software unit and an IBM fellow who also holds the title "free radical." His software development approach and the Unified Modeling Language, which he helped create, have been used to build the software that runs pacemakers, avionics in certain large airliners, antilock brake systems, and financial trading systems in the U.S., Europe and Asia.
How would you characterize the state of software development today?
Software has been and will remain fundamentally hard. In every era, we find that there is a certain level of complexity we face. Today, a typical system tends to be continuously evolving. You never turn it off, [and] it tends to be distributed, multiplatform. That is a very different set of problems and forces than we faced five years ago.
Traditionally -- we're talking a few decades ago -- you could think of software as something that IT guys did, and nobody else worried about it. Today, our civilization relies upon software.
All of a sudden, you wake up and say, "I can't live without my cell phone." We, as software developers, build systems of incredible complexity, and yet our end users don't want to see that software.
Most of the interesting systems today are no longer just systems by themselves, but they tend to be systems of systems. It is the set of them working in harmony. We don't have a lot of good processes or analysis tools to really understand how those things behave. Many systems look dangerously fragile. The bad news is they are fragile. This is another force that will lead us to the next era of how we build software systems.
What have been the biggest advantages from IBM's 2003 acquisition of Rational, and what are some of the drawbacks about being part of IBM?
I've got much cooler business cards.
Now, we're dealing with an organization that is two orders of magnitude larger and operating in businesses that [Rational] had no traction in.
It is really cool working with brilliant people. When the acquisition was first consummated, one of my first tasks was to manage the IBM/Rational research relationship. There are some really fascinating things going on there, dealing with static and dynamic analysis and collaboration. We have a team now looking at using virtual worlds for doing distributed software development.
When you have an organization that is 100 times larger, there is a little bit more bureaucracy. [IBM asked me] to destroy bureaucracy. I have a license to kill, so to speak. IBM is a target-rich environent.
What is your take on the effects of increasingly popular open-source projects like Eclipse on programming?
Consider where Rational was prior to Eclipse. We had to split our loyalties because there was a variety of IDEs [integrated development environments] that were interesting in the marketplace [and] none had reached critical mass. We worked with IBM to help make Eclipse happen. Now, all of a sudden, Eclipse was the de facto standard. There is no value added in Rational building an IDE.
[Open-source] projects that have really gotten traction represent a codification of things that are commodities. The OS wars are largely over. Let's decide on a common platform. Therefore, Linux makes sense.
Open source represents an economic process where you find some applications you can't make money on, and it makes sense for us as an industry to pool our resources.