- What Is the Rational Unified Process?
- The Rational Unified Process as a Product
- Software Best Practices
- Other Key Features
- A Brief History of the Rational Unified Process
- Summary
Many organizations have slowly become aware of the importance of a well-defined and well-documented software development process to the success of their software projects. Over the years, they have collected their knowledge and shared it with their developers. This collective know-how often grows out of methods, published textbooks, training programs, and small how-to notes amassed over several projects. Unfortunately, these practices often end up gathering dust in nice binders on a developer's shelf—rarely updated, rapidly becoming obsolete, and almost never followed.
"Software processes are software, too," wrote Lee Osterweil.1In contrast with the dusty-binder approach, the Rational Unified Process is designed, developed, delivered, and maintained like any software tool. The Rational Unified Process shares many characteristics with software products:
-
IBM releases regular upgrades.
-
It is delivered online using Web technology, so it is literally at the fingertips of the developers.
-
It can be tailored and configured to suit the specific needs of a development organization.
-
It is integrated with many of the software development tools in the IBM Rational Suites so that developers can access process guidance from within the tool they are using.
This approach of treating the process as a software product provides the following benefits:
-
The process is never obsolete; at regular intervals companies get new releases with improvements and up-to-date techniques.
-
All project members can access the latest version of their process configuration on an intranet.
-
Java applets, such as a process browser and a built-in search engine, allow developers to reach instantaneously process guidance or policies, including the latest document templates they should use.
-
Hyperlinks provide navigation from one part of the process to another, eventually branching out to a software development tool or to an external reference or guideline document.
-
Local, project- or company-specific process improvements or special procedures are included easily.
-
Each project or department can manage its own version or variant of the process.
This online Rational Unified Process product gives you benefits that are difficult to achieve with a process that is available only in the form of a book or binder.
Organization of the Process Product
The RUP product is delivered on a CD-ROM or via the Internet and consists of the following:
-
An online version of the Rational Unified Process, which is the electronic guide for the RUP: a fully hyperlinked Web site description of the process in HTML
-
A tool called RUP Builder that allows you to compose and publish your own tailored configuration of the Rational Unified Process (see Chapter 14)
-
Additions to the Rational Unified Process, called Process Plug-ins, which cover specialized topics and which can be added to your configuration with RUP Builder. Many such plug-ins are available for download from the Rational Developers Network or can be obtained from IBM partners
A RUP configuration can be used with any of the popular Web browsers, such as Netscape NavigatorTM and Microsoft Internet ExplorerTM. Information is easy to find, thanks to these elements:
-
Extensive hyperlinking
-
Graphical navigation (Most graphical elements are hyperlinked to the process elements they depict.)
-
A hierarchical tree browser
-
An exhaustive index
-
A built-in search engine
A tool called MyRUP enables navigation through a RUP configuration and allows a user to define a personalized view of a RUP configuration. You can locate these facilities as shown in Figure 2-1, which is a snapshot of a RUP page.
Figure 2-1. The Rational Unified Process online
In a process configuration, you will find not only a complete description of the process itself but also the following:
-
Tool mentors, which provide additional guidance when you're working with any of the software development tools offered by IBM Rational Software, such as Rational XDE (eXtended Develoment Environment) for visual modeling and Rational ClearCase for configuration management
-
Templates for all major process artifacts, for example:
-
- Microsoft Word templates and Adobe FrameMaker templates for most plain documents and reports
-
- Rational SoDA templates, to automate the assembly of documents from multiple sources
-
- RequisitePro templates to help manage requirements
-
- Microsoft Project templates, to help plan an iterative project based on the RUP
-
- HTML templates for extending the online process itself
-
-
Examples of artifacts for simple projects
For the Process Engineers
For process engineers additional tools and guidance are available. The Rational Process Workbench (RPW) is the tool used to define process components, perform extensive modification to RUP, and create process plug-ins. It is composed of the RUP Modeler, an add-in to Rational XDE, and RUP organizer. A separate process configuration, called the Process Engineering Process, provides guidance on the tailoring, the customization of RUP, the creation of plug-ins, and the deployment of the Rational Unified Process in an organization. We will examine these topics in Chapters 14 and 17.
Process Structure: Two Dimensions
Figure 2-2 shows the overall architecture of the Rational Unified Process. The process has two structures or, if you prefer, two dimensions:
-
The horizontal axis represents time and shows the lifecycle aspects of the process as it unfolds.
-
The vertical axis represents core process disciplines, which group activities logically by nature.
Figure 2-2. Process structure—two dimensions
The first dimension represents the dynamic aspect of the process as it is enacted, and it is expressed in terms of cycles, phases, iterations, and milestones. This is described further in Chapter 4, Dynamic Structure: Iterative Development, and in Chapter 7, The Project Management Discipline.
The second dimension represents the static aspect of the process: its description in terms of process components, activities, disciplines, artifacts, and roles. This is described further in Chapter 3, Static Structure: Process Description.