Concepts: Process Configuration
Topics
In general, there are two levels at which the software-engineering process can be
adapted or modified:
- An organization-level process, where process engineers modify, improve,
or tailor a common process to be used organization-wide. This takes into consideration
issues such as the domain of the application, reuse practices, and core technologies
mastered by the company. One organization can have more than one "organization-level
process," each one adapted for a different type of development. In many cases the
Rational Unified Process, as it is, will serve as the organization-level process.
- A project-level process, where process engineers take the
organization-level process and further refine it for a given project. This level takes
into consideration: the size of the project, the reuse of company assets, initial cycle
("greenfield development") versus evolution cycle, etc. The project-process
level is what is described in the Rational Unified Process as a Development Case.
The project manager operates in the framework defined by the project-level process. The
project managers decide about the pragmatics: milestones, number and duration of
iterations, artifacts to be produced, and staffing.
In addition to the Development Case, the following guidelines are developed to support
the development:
Configuring the Rational Unified Process at the project-process level, requires the
creation of a Development Case. The Development Case describes how the project will use
the Rational Unified Process. It is recommended that the front-end of the Development Case
is developed as minimal set of web pages, and details, provided in the Rational Unified
Process or a similar knowledge base, are accessed by reference (through hyperlinks).

A Development Case with hyperlinks to the Rational Unified Process
online.
Customizing the Rational Unified Process, means that you develop your own
organization-specific process product, using Rational Unified Process as the baseline.
There are two ways to do this:
- Modify the existing Rational Unified Process.
- Build your own organization-specific process as a "shell" on the Rational
Unified Process.
And, of course you can use a combination of these two strategies; modify the Rational
Unified Process and build your own "shell" with hyperlinks to the modified
Rational Unified Process.
The disadvantages of modifying the Rational Unified Process is that it becomes a more
complex task to upgrade and integrate a newer version of the Rational Unified Process.
However, integrating changes in a newer version can be facilitated through careful change,
and configuration management practices. Modifying Rational Unified Process directly
obscures which parts of the process were added by the adopting organization as opposed to
that which was provided as part of the Rational Unified Process product. With
"shell" augmentation practice the distinction between the product and tailoring
is easier to make. This may of particular importance if the adopting organization makes
additions to emphasize certain parts of the process.
You can customize the Rational Unified Process by modifying the treebrowser in the left
frame, and add references to external papers, your own guidelines, your own templates, and
so on. This type of modification is both easy to do, and makes it easy to upgrade when new
versions of the Unified Process are released.

You can customize the treebrowser in the Rational
Unified Process online.
Another way of modifying the Rational Unified Process is to modify its layout and
format, to conform to your company's style and formats. You can, for example, change the
color on the banners, change the buttons, bullets, etc. These kind of changes are simple
to do, and make it easy to upgrade to new versions.
A more advanced way for modifying the Rational Unified Process is to modify pages,
diagrams, etc. so that it describes exactly how the adopting organization works. However,
this has the disadvantages that it makes it more difficult to upgrade, and that it is no
longer obvious to the users, which parts have been customized. Sometimes you want to
emphasize the parts of the process that you have chosen to customize, as opposed to the
parts that you have just left as-is. If you do these kind of changes you should put a
baseline copy of the Rational Unified Process online under configuration management,
process engineers modify it to incorporate changes, such as:
- Add, expand, modify, or remove steps in activities.
- Add checkpoints to the review activities based on experience, especially for problems
discovered late in the development cycle.
- Add guidelines, also based on discoveries made in past projects.
- Tailor the templates: add company logo, header and footer, identification, and cover
page.
- Add tool mentors as needed.
Some changes are harder than others, however:
- Changes in process terminology would have some sweeping effect.
- Using another process model.
- Changing the core workflow structure.
Not only the amount of work may be considerable to create the corresponding Development
Case, but also the reconciliation with future releases of the Rational Unified Process be
more difficult.
You can build a organization-specific process product as a "shell" on top of
the Rational Unified Process. Build it as a web site, and have hyperlinks to the Rational
Unified Process. The scope of the organization-specific process can range between a few
web pages, or a fully-feathered web site, with a search engine, index, and navigation
tools, such as a treebrowser.

An organization-specific process.
You can choose to use the same tools and techniques to develop the
organization-specific process, as are used to develop the Rational Unified Process. The
"shell" should clearly specify what parts of the Rational Unified Process that
the organization will use, and which parts it will not use.
The Development Case will then have hyperlinks to the Rational Unified Process and the
organization-specific process.

The Development Case with hyperlinks.
| |

|