Customizing the RUP

Some organizations may see the need to create RUP Process Configurations that are different from what can be produced with the RUP Plug-Ins available from IBM Software and its partners . These organizations can customize the RUP to accommodate the specific needs, characteristics, constraints, and history of its organization, culture, and domain. Maybe the organization needs to develop software according to a certain quality standard or management lifecycle. They can also customize the RUP to include examples or reusable assets from previous projects. Customizing the RUP should be done by creating RUP Plug-Ins; this enables you to create a different set of RUP Process Configurations. Plug-ins are very powerful and can be grouped into two major categories: Thin RUP Plug-Ins and Structural RUP Plug-Ins:

  • Thin RUP Plug-Ins ”changing content files for existing process elements. Plug-ins of this type allow customers to add, modify, or remove content files associated with existing process elements. This allows you, for example, to change the guidelines for how to produce a Vision Document based on experiences from previous projects, modify the templates for a certain artifact, add examples from your specific domain, or add reusable assets harvested from previous projects. These types of changes are done using a component of Rational Process Workbench (RPW) called RUP Organizer.

  • Structural RUP Plug-Ins ”changing process elements and their relationships. Plug-ins of this type allow process-mature customers who have developed process content outside the RUP to integrate that content into the RUP. You can add, modify, or remove process elements such as artifacts, activities, roles, disciplines, workflows, and tool mentors. This flexibility allows you to make major alterations to the RUP Library, for example, by adding your own process guidance on how to do package implementation or legacy system integration to the RUP. These types of changes are done using RPW. Modifications to the process elements and their relationships are done using an RPW component called RUP Modeler. Changes to the associated files for each model element are done using RUP Organizer.

You should avoid doing customizations of the RUP by modifying the RUP Base and the existing RUP Plug-Ins directly. If you make customizations in these tools directly, you will have to redo those customizations whenever new versions of the RUP product become available. By making customizations through the means of plug-ins, you can more easily migrate changes to future versions of the RUP. This strategy minimizes your maintenance costs since you do not directly modify the content that IBM Software and its partners produce; instead, you specify what changes to make to the content.

Rational Process Workbench and Process Engineering Process

You create RUP Plug-Ins by using Rational Process Workbench, a process authoring tool that consists of the following:

  • RUP Modeler. This tool allows a process engineer to visually model process elements such as activities, artifacts, roles, disciplines, and tool mentors and their relationships, and to compile them into RUP Process Components . RUP Modeler is an add-in to Rational XDE and works in conjunction with RUP Organizer .

  • RUP Organizer. This tool allows you to associate content files to process elements such as activities, artifacts, roles, disciplines, and tool mentors, all of which comprise a Process Component, and to compile these RUP Process Components and create a RUP Plug-In with the new or modified files. The files can be examples, guidelines, or reusable assets (among others). RUP Organizer also allows you to modify Extended Help.

  • RUP Process Library. This contains process models with all the process elements such as roles, artifacts, activities, and tool mentors defined in the RUP as well as related content files for each model element.

  • Process Engineering Process. This provides process guidance for customizing, implementing, and improving the process, as well as templates for content authoring, such as HTML templates for descriptions and guidelines, a template for producing plug-ins, and all graphics needed for process authoring.

Most organizations should consider using RUP Organizer to augment the process continuously through Thin RUP Plug-Ins, thus incorporating experiences and assets from previous projects, but only process-mature organizations should build Structural RUP Plug-Ins using RUP Modeler and RUP Organizer because this undertaking requires a fair amount of expertise.

Creating Thin RUP Plug-Ins Using RUP Organizer

RUP Organizer is an easy-to-use tool. You create content pages with your HTML editor of choice, create templates, and harvest examples and reusable assets. RUP Organizer allows you to associate these content files with the appropriate process elements in a process component by dragging and dropping them on a process element (see Figure 10.6). You can then create a Thin RUP Plug-In containing all the changes you have done to one or several process components. In this way, you can create a plug-in that consists of only a couple of files, or one that consists of a large number of files. In most cases, most of the time spent to create a plug-in involves editing the actual content files. Note that Thin RUP Plug-Ins will not change the structure of your process elements, that is, it will not change what artifacts, activities, roles, workflows, tools, or tool mentors you have ”nor will Thin RUP Plug-Ins change their relationship to each other, such as which artifacts are input or output to which activities.

Figure 10.6. RUP Organizer Allows You to Build Thin RUP Plug-Ins. RUP Organizer allows you to associate content files, such as examples, guidelines, templates, or reusable assets, to process elements and produce a Thin RUP Plug-In containing these changes. This allows you to rapidly include lessons learned in future RUP Process Configurations.

graphics/10fig06.jpg

Creating Structural RUP Plug-Ins Using RUP Modeler and RUP Organizer

RUP Modeler is a tool for the advanced process engineer. This tool allows process engineers to create or evolve an object-oriented model of the process using UML. In particular, they can introduce new process elements ”roles, activities, artifacts, and the relationships between these process elements:

  • Which artifacts are input or output of which activities.

  • Which roles are responsible for which artifacts (see Figure 10.7).

    Figure 10.7. RUP Modeler Allows You to Visualize and Customize Your Process. RUP Modeler is a process-modeling tool that brings the power of visual modeling and the UML to process modeling. It allows the advanced process engineer to make major alterations to RUP .

    graphics/10fig07.jpg

  • Which guidelines, templates, and examples accompany artifacts and activities.

RUP Modeler allows you to define how these process elements should extend or override process elements in the RUP Base or other RUP Plug-Ins. It allows you to visualize the many thousands of links you may have among all of these process elements, which will be stored in the RUP Library. Later on, RUP Builder will use all this model information to automatically generate thousands of hyperlinks as it publishes the RUP Configuration.

While process engineers who use RUP Modeler appreciate its power, using the RUP Modeler requires a certain level of expertise. You need to be familiar with object-oriented modeling, Rational XDE, and the RUP product to build a Structural RUP Plug-In. It can be quite time-consuming to produce a plug-in, so you should undertake this effort judiciously. We recommend you use the RUP in a few projects before attempting to create Structural RUP Plug-Ins; make sure that you understand what changes are necessary and what changes can be postponed or skipped completely.

Creating a plug-in with RUP Modeler and RUP Organizer may require anything from a couple of weeks to a few months, depending on available personnel and the complexity of the plug-in. Listed here are the basic requirements for producing these Structural RUP Plug-Ins:

  • Understand the RUP . Make sure that you really understand what is already in the RUP product and how it is used in practice. If you do not have practical experience in using the RUP, you should consider working with somebody ” ideally , a mentor ”who has this experience. What is available in the RUP may not suit your needs perfectly , but the content may prove adequate compared to the effort and cost involved to change or extend it.

  • Understand what changes to make to the RUP . Get a clear understanding of the process you would like to have your organization or project follow before you start doing the actual customization. Develop a clear mapping of your desired process to what is already contained in the RUP. Use the RUP Development Case template to help you with this mapping. Exactly what would you like to add, delete, or change? Is it crucial to make those changes immediately, or should you perhaps wait until you have first used the RUP on a few projects? Many people who are new to the RUP have a tendency to change a lot of things just because they are used to a different terminology or a slightly different set of artifacts or activities. However, the cost of making these changes can be very high, and the value of the changes can be relatively low. Consider instead doing a simple mapping of "old terminology, artifacts, and activities" to "new terminology, artifacts, and activities," and publish it in your development case.

  • Outline what process elements to add, change, or delete. By producing a brief specification of which process elements (disciplines, roles, artifacts, workflow details, activities, tools, and tool mentors) to add, change, or delete, you will gain a better understanding of the scope of the customization effort. With this adjusted delineation of your elements, you can prioritize your changes and develop your content in iterations, as advocated by the RUP. You also need to decide whether you will be producing one or several process plug-ins. If more than one, you will typically want to develop one plug-in at a time, saving you from taking on too big a project all at once.

  • Produce the RUP Plug-In without the content. Using RUP Modeler and the templates provided, create your new process elements, and describe how they should override the process elements in the RUP Base or other RUP Plug-Ins. Avoid making changes directly to the RUP Base or to RUP Plug-Ins provided by IBM Software or its partners. Otherwise, you will be forced to redo your customizations when there is a new release of the RUP Base or RUP Plug-Ins.

  • Develop your process content. Developing (actually writing down) your process content is by far the most time-consuming task. There is a huge difference between knowing how to do something and providing a detailed and clear step-by-step guide on how to do it. If you already have the content written down in some form, such as whitepapers or technical notes, you will save a lot of time. You can write the process content directly in text format and then copy it over to the RUP HTML templates provided, or you can write it directly using your preferred HTML editor. Other content files may consist of examples from previous projects or reusable assets that you have harvested.

  • Update your plug-in with the created process content. The next step is to tie the content pages to the right process element, using the drag-and-drop capabilities of RUP Organizer. You then need to do a thorough testing of your plug-in. RUP Modeler will verify that your plug-in is semantically correct. Using RUP Builder, you can try out your plug-in by creating a number of different RUP Configuration Web sites and testing them to make sure that the content looks like you expect it to look.

Once you have created RUP Plug-Ins, you can import them into the RUP Builder and create RUP Configurations containing the content you have developed in-house.



The Rational Unified Process Made Easy(c) A Practitioner's Guide to Rational Unified Process
Programming Microsoft Visual C++
ISBN: N/A
EAN: 2147483647
Year: 2005
Pages: 173

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net