Example: A Small Project Adopts RUP
This example describes a scenario where a small project has decided to adopt RUP.
Relationships
Main Description

For more information on how to tailor RUP for a small project, see Concept: Tailoring a Process for a Small Project.  For more information on tailoring RUP, in general, see Concept: Tailoring RUP

Project Overview

The following scenario describes a project of ABC Company, called Project X. Project X is a team consisting of a project manager, Jill, and four programmers, Angus, David, Susan, and Philip.  The duration of the project is four months. 

Jill is considering using the RUP as the basis for her project's software development process. She installs the RUP, which by default installs the "Classic RUP" process configuration. She reviews the parts of Classic RUP relevant to tailoring a process for a project.

She begins by evaluating the process needs for the project, in consultation with the team. Her conclusions are as follows.

  • The existing process and tools for configuration management are working well, so this aspect of the process can remain unchanged.
  • The team has some experience with use cases and component architectures, but could use more guidance in these areas.
  • The project would benefit from an iterative development approach, as a means of quickly driving down key project risks.
  • The stakeholders have good informal working relationships with the development team, and there is no need for formal contracts or reviews. The stakeholders have ongoing visibility during development.  The team is highly skilled and disciplined, and has shown in the past to produce quality products without much formal process.
  • Given the short time-frame of the project, only minor changes will be made to the toolset.
  • A separate parallel activity will be initiated to investigate tool benefits, re-use opportunities, and to further refine the process for future projects.

Jill then takes on the task of tailoring an appropriate process for the team to follow.

General Tailoring

Packaging Project-Specific Assets in a Plug-In

The existing RUP process is reasonably close to what the project needs, but not quite. Jill refines the process further by creating a project-specific plug-in that contains applicable project-specific assets.

Specifically, Jill launches Rational Method Composer (RMC) and creates a new method plug-in that contains:

  • guidelines for the tools to be used on the project
  • guidelines re-used from a previous similar project, including Design Guidelines and Configuration and Change Management Guidelines
  • guidelines for review and assessment.

In addition to associating this guidance to the appropriate RUP method elements, she also refines existing RUP process views to include this guidance.

She also adds an "Introduction to the Project X Process" page to the RUP Getting Started view, where she describes the basic philosophy of the configured process. For example, she states that the included templates are intended to guide content, but the format is optional. She also indicates where current versions of key project work products will be located.

For information on how to create a method plug-in using RMC, see Tool Mentor: Creating a Method Plug-In Using Rational Method Composer.  For information on how to populate the plug-in, see Tool Mentor: Developing Method Content Using Rational Method Composer.

Defining a Process-Specific Configuration and Publishing

Now that Jill has packaged the project-specific assets into a plug-in, she can develop a RUP configuration that includes the project-specific plug-in.

Jill launches Rational Method Composer (RMC) and selects the Small Project configuration as a starting point. She copies the Small Project configuration to a new configuration she names "ABC Project X". 

Jill opens the new configuration and selects and de-selects some method packages and plug-ins to perform a coarse configuration of the desired configuration.  For example, she de-selects the method package "Database Design", as the team does not intend to do any data modeling on this project, and she selects the project-specific plug-in created in the previous section.

Jill then creates a new delivery process in her method plug-in by using the delivery process provided in the Small Project Configuration as a starting point.  She edits the new delivery process, adding some tasks to each phase, and suppressing others. She then publishes the results.

For information on how to develop processes using RMC, see Tool Mentor: Developing Processes Using Rational Method Composer.  For information on how to publish processes using RMC, see Tool Mentor: Publishing a Method Configuration Using Rational Method Composer.

Roles and Lifecycle

Project X has a small team, so each person is responsible for a variety of RUP roles. Jill describes each person's responsibilities in the Software Development Plan. For example, on Project X, Jill is responsible for the Project Manager and Process Engineer roles.

Review

Jill provides a draft of the configured RUP, and the Software Development Plan to the team and other stakeholders for review. The team begins to follow the process. Some mistakes are made, and the process is refined. In the end, the project is successful, and the team has an appropriately tuned process that can be applied on future projects.