Rational Software was an independent software development company until 2003, when it was bought by IBM. It sought to advance its customers' practice of Modern Software Engineering through process, tools, and services. It is currently known as an IBM Software product family. This family (set of software tools) is focused on software requirements, design, construction and testing.
Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development.
Released in 1985, the Rational Environment was an integrated development environment for the Ada programming language, which provided good support for abstraction through strong typing. The Rational Environment was organized around a persistent intermediate representation (DIANA), providing users with syntactic and semantic completion, incremental compilation, and integrated configuration management and version control. To overcome a conflict between strong typing and iterative development that produced recompilation times proportional to system size rather than size-of-change, the Rational Environment supported the definition of subsystems with explicit architectural imports and exports; this mechanism later proved useful in protecting application architectures from inadvertent degradation.
The Rational Environment ran on custom hardware, the Rational R1000, which implemented a high-level architecture optimized for execution of Ada programs in general and the Rational Environment in particular. The horizontally-microprogrammed R1000 provided two independent 64-bit data paths, permitting simultaneous computation and type checking. Memory was organized as a single-level store; a 67-bit virtual address presented to the memory system either immediately returned data, or triggered a page fault handled by the processor's microcode.
The company's name was later changed from "Rational Machines" to Rational to avoid emphasizing this proprietary hardware.
Rational later added code generators targeted to then-popular instruction set architectures such as the VAX, Motorola 68000, and X86; much of this was accomplished through a partnership with Tartan Labs, founded by Bill Wulf to commercialize his work (PQCC) on optimizing code generators semi-automatically produced from architecture descriptions.
Rational's field organization was noteworthy for its team-based approach to customer success. Sales teams were led by an account representative, and included 3 to 5 software engineers referred to as technical representatives (techreps). Sales teams engaged with their customers both pre-sales and post-sales, and were held accountable for customer success as well as for revenue targets. This approach encouraged deep engagement between techreps and customers, which in turn helped Rational develop a significant experience base in the successful development of complex long-lived software. The Best Practices underlying the later Rational Unified Process (RUP) - iterative development, component-based architecture, modelling, quality by design, requirements management, and automated testing -- are all traceable to this experience base.
In 1990, Rational launched three parallel development efforts: re-implementation of the Rational Environment (for Ada) to run on Unix-based workstations from Sun and IBM, development of a comparable Rational Environment for C++ to run on Unix-based workstations from Sun and IBM, and development of a workstation-hosted modeling tool based on a graphical notation developed by Grady Booch. Apex, the Rational Environment for Ada, was launched on Sun and IBM Unix platforms in 1993, and the Rational Environment for C++ followed on the same platforms a year later. A version of Apex that ran on Microsoft Windows NT was successfully developed and released by Rational's Bangalore team.
Rose arose from a few engineers formerly at GE in Waukesha, Wisconsin. After Rational acquired the product, it moved much of the development to California. Rational developed and maintained Rose, afterwards called Rational Rose, as a flagship product. Rose 1.0 was introduced at OOPSLA in 1992, but performed poorly in multiple dimensions and was withdrawn from the market.
The development of Rose 2.0 combined a Windows-based Booch notation editor called Object System Designer (acquired from Wisconsin-based Palladio) with a new intermediate representation, and with new semantic analysis, code generation, and reverse engineering capabilities. The latter, which allowed prospective customers to analyze existing C++ code to produce "as-built" navigable class diagrams, helped overcome Rational's late re-entry into the market for object-oriented modeling tools. Rose 2.0 ran on Windows PCs and on several Unix-based workstations.
Rose originated to support Ada programming. It currently supports C++, Java, Visual Basic and other add-ins. Unlike many programming artifacts, which developers retain and maintain, Rose Models merely form a stage in the development of a program; hence designers and programmers can discard them after a few uses, because they can re-generate them from the developed program, using round-trip engineering.
There have been additional tools introduced in this space (referred now as 'Model Driven Development') such as RSA Rational Software Architect and RSM Rational Software Modeler. These new tools combine the IDE Interactive Development Environment and the modeling tools into one user experience thus making it easy for developers to use.
Rose RealTime originated to support the development of complex reactive systems, typically ones written in C, C++ and Java. It combines the Real-Time Object Oriented Modeling (ROOM) method developed by Bran Selic at ObjecTime Corp, and the UML capabilities from Rational Rose. Rose RealTime supports a model-driven development approach that uses forward engineering to generate, directly from a UML model, up to 90% of the real-time application code found in telecommunications switches and industrial controllers. By annotating the UML model with action code, the model can produce 100% of the application code.
ObjecTime developed the original product in Kanata, Canada prior to its acquisition by Rational Software on December 14, 1999.
UML and RUP
In 1994, Rational acquired Verdix, a public company that produced a wide array of Ada compilers targeted to many architecture/OS combinations. The resulting entity was named "Rational Software", and promptly integrated the Rational Ada and C++ environments with the code generators and runtimes developed by Verdix.
In 1995, James Rumbaugh joined the company, and Rational acquired Ivar Jacobson's firm Objectory AB from Ericsson. With Grady Booch already aboard, this brought within one company all three leading object-oriented software methodologists; these "three Amigos" were immediately tasked with the unification of their work. To eliminate the method fragmentation that was impeding commercial adoption of modeling tools, their Unified Modeling Language (UML) was developed openly, providing a level playing field for all tool vendors. At its 1.0 release, the Unified Modeling Language was contributed to the Object Management Group, which has managed its subsequent development.
Philippe Kruchten, a Rational techrep, was tasked with the assembly of an explicit process framework for modern software engineering. This effort combined the HTML-based process delivery mechanism employed by Objectory with Rational's 15-year experience base in working with customers developing significant software systems. The resulting "Rational Unified Process" (RUP) completed a strategic tripod: a process that guided development, tools that automated the application of that process, and services that accelerated adoption of both the process and the tools.
The momentum generated by Rose and the UML enabled Rational to establish a partnership with Microsoft, which then saw model-based development as a means of attracting enterprise-scale developers to the Windows platform; Rational's aim was to secure Microsoft's public support for modelling in the software development process. This engagement with Microsoft convinced Rational to address the broader Windows-based IT market. With only one Windows-based tool (Rose) supporting RUP, Rational chose to acquire tool companies with Windows-based products that could be integrated to provide comprehensive RUP support. Beginning in 1996, Rational acquired Requisite (Requisite-Pro), SQA (Robot), Performance Awareness (preVue), and Pure-Atria (Purify, ClearCase); these joined the previously-acquired Verdix, Objectory, and Palladio teams to establish a set of business units whose mission was to create individually best-of-breed products that could be combined in interoperating Suites. The Rational Suite for Windows was introduced in 1999, and drove the company's transition to the Windows platform as its primary source of revenue.
In 2001, Rational founders Levy and Devlin founded Catapulse -- an independent company aimed at providing hosted software development services using products from Rational and elsewhere. Catapulse was later acquired by Rational.
Rational peaked at $850M in revenues and ~4000 employees. After the dot-com crash, its revenues declined to $650M, but it was dominant, profitable, and cash-rich (~$600M) when its founders chose in 2003 to sell the company to IBM for $2B. It is now a division of the IBM Software Group.
Today, Rational's revenues derive mainly from two products: ClearCase and ClearQuest. ClearCase, a source-control (SCM) tool contributes about 40% of revenue while ClearQuest, a change management (CM) tool, contributes about 30%. ClearCase and ClearQuest markets are largely limited to traditional engineering shops and companies.
Under IBM, Rational is trying to expand its sales to the IT market, which is IBM's traditional focus. In doing so, it faces stiff competition from open source tools, and potentially from Microsoft and other smaller vendors in the SCM/CM spaces. The technical strategy for Rational appears to be converting their existing tool offerings to use Eclipse and WebSphere J2EE hosting.
At RUC(Rational User Conference) 2006 recently, IBM announced a new Rational server-side collobrative initiative codenamed "Jazz", based on the Eclipse/OSGI framework. It is essentially similar to Microsoft Visual Studio Team System(MVSTS) to engage Rational and other IBM software components at higher level in the technology stack as a middleware, with market added value. In this paradigm, Rational tools like Rational RAD, ClearCase, ClearQuest, TestManager and Lotus Notes/IM, for example, would be unified as some sort of "plugin" grafted onto the Jazz service bus via Web services, exposing it as a developer tool "portal". The main use of this portal is a one-stop shop for a developer's activities associated with typical development processes. Other third-party tools or open source tools are envisioned to be pluggable onto Jazz via some standardized service interfaces. Both Eclipse and Web versions of Jazz are planned.