Skip to main content

Q&A with Grady Booch: Collaborative Development Environments

alphaWorks talked to Grady Booch, the IBM resident expert on Collaborative Development Environments (CDEs), about the concept, what it all really means, and whom it benefits. Mr. Booch is an IBM fellow and Chief Scientist for Rational software. Learn more about CDEs in Mr. Booch's paper, which helped to establish the foundation for this far-reaching idea many years ago.


alphaWorks: What is a CDE?

Mr. Booch: This is a term I coined a few years ago. I had been asked to keynote the first EclipseCon and decided to offer a history of tools for the developer experience, starting with command line tools to integrated development environments (IDEs, which brought most programming tools together on the desktop) to extended development environments (such as Rational's XDE, which was an IDE plus other lifecycle development tools).

Increasingly, in my interaction with large projects across the globe, it was clear that the problems of temporally and geographically distributed development were looming larger and larger. This lead to my proposing the next generation in the developer experience, a collaborative development environment (CDE) which would take the previous generations but subtly change the focus from the needs of the individual developer to the needs of the team.

alphaWorks: The idea of CDEs have been around for some time in various forms. In software development, there are many examples from Web sites such as SourceForge and large-scale enterprise applications. What are the emerging aspects of collaborative development environments?

Mr. Booch: It's not just in the software domain that one finds these things, by the way. Rather, companies involved in mechanical design (especially automative and aeronautical engineering), multimedia (movie production is a distributed problem) and civil engineering all have developed means of collaboration across the Web.

It turns out that there's no killer feature that defines a CDE; there are 100 small things that can come together to facilitate collaboration. The obvious ones include instant messaging and shared desktops (note that I don't include email -- now, that is a collaboration killer) but if you dig a little deeper, you'll realize that features such as Wikis, discussion lists, presence, the ability to form and reform groups, having a portal for shared arfitacts all contribute to useful collaboration features.

alphaWorks: What are the benefits of using browser-based CDEs for developers? What other communities or groups can benefit from them?

Mr. Booch: I've mentioned several other industries where Web-centric CDEs have already worked. While the code warrior might live in Eclipse, there are many other stakeholders involved in the development of useful software who don't live in Eclipse, and thus work best in a browser-based world. With the advent of Ajax (OK, Ajax is really nothing new either, but that's a topic for another discussion... let's just say that the technologies behind Ajax have reached critical mass), it's possible to have pretty rich browser-based experiences that are accessible from anywhere in the world, from outside and behind firewalls.

alphaWorks: What are some industry examples of CDE emerging technology and concepts?

Mr. Booch: Well, the most visible ones at the moment are SourceForge and Collab.net. I had cataloged such examples a few years ago (and about 20-30% of those companies are no longer in business....) and am in the process of resurveying the state of the practice. So, stay tuned.

alphaWorks: What are some examples of IBM research and development in the area of CDEs?

Mr. Booch: IBM Rational and IBM Research have had several funded joint programs the past three years, including a project called Jazz (think of it as messaging on steriods, with the ability to show team organization and presence) and another associated with the visualization of complex project information.


Grady Booch Grady Booch is recognized internationally for his innovative work on software architecture, software engineering, and modeling. A renowned visionary, he has devoted his life's work to improving the effectiveness of software developers worldwide. Mr. Booch served as Chief Scientist of Rational Software Corporation since its founding in 1981 and continues to serve in that capacity within IBM. Mr. Booch is one of the original authors of the Unified Modeling Language (UML) and was also one of the original developers of several of Rational's products. He has served as architect and architectural mentor for numerous complex software-intensive projects around the world in just about every domain imaginable.

Mr. Booch is the author of six best-selling books, including the UML Users Guide and the seminal Object-Oriented Analysis with Applications, and he has published several hundred articles on software engineering, including papers published in the early '80s that originated the term and practice of object-oriented design.

Related content
alphaWorks Services
Introducing Collaborative Development Environments
Grady Booch
Blog: Grady Booch