Workers, activities (organized in workflows), and artifacts represent the backbone of the Rational Unified Process static structure. But other elements are added to activities or artifacts to make the process easier to understand and use and to provide more comprehensive guidance to the practitioner. These additional process elements are
Guidelines
Templates
Tool mentors
Concepts
These elements enhance the primary elements, as shown in Figure 3-7.
Activities and steps are kept brief and to the point because they are intended to serve as references for what needs to be done. Therefore, they must be useful for neophytes looking for guidance as well as for experienced practitioners needing a reminder.
Attached to activities, steps, or artifacts are guidelines. Guidelines are rules, recommendations, or heuristics that support activities and steps. They describe well- formed artifacts, focusing on their specific qualities, for example, what constitutes a good use case, or a good design class. Guidelines also describe specific techniques to create certain artifacts, or the transformations from one artifact to another, or the use of the Unified Modeling Language (UML). Guidelines are used also to assess the quality of artifacts ”in the form of checklists associated with artifacts ”or to review activities. The following are types of guidelines:
Work guidelines, which give practical advice on how to undertake an activity, especially for group activities; for example:
Work guidelines for reviews
Work guidelines for a use-case workshop
Artifact guidelines are associated with a particular artifact, and describe how to develop, evaluate, and use the artifact; for example:
Modeling guidelines, which describe well-formed modeling elements such as use cases, classes, and test cases
Programming guidelines, for languages such as C++ or Ada, describing well-formed programs
User-interface guidelines
Guidelines on how to create a specific artifact, such as a risk list or an iteration plan
Checkpoints to be used as part of a review or by a worker to verify that an activity is complete
Some guidelines may need to be refined or specialized for a given organization or project to accommodate project specifics, such as the use of a particular technique or tool. The following are examples of this latter type of guideline:
User-interface guidelines, such as a description of the windowing style specific to a project: color palette, fonts, gallery of icons, and so on
Programming guidelines, such as a description of naming conventions specific to the project
Templates are models, or prototypes , of artifacts. Associated with the artifact description are one or more templates that can be used to create the corresponding artifacts. Templates are linked to the tool that is to be used. For example:
Microsoft Word templates for documents and some reports
SoDA templates for Microsoft Word or FrameMaker that extract information from tools such as Rational Rose, RequisitePro, or TeamTest
Microsoft FrontPage templates for the various elements of the process
Microsoft Project template for the project plan
As with guidelines, organizations may want to customize the templates before using them by adding the company logo, some project identification, or information specific to the type of project.
Activities, steps, and associated guidelines provide general guidance to the practitioner. To go one step further, tool mentors are an additional means of providing guidance by showing you how to perform the steps using a specific software tool. Tool mentors are provided in the Rational Unified Process, linking its activities with tools such as Rational Rose, RequisitePro, ClearCase, ClearQuest, and TestStudio. The tool mentors almost completely encapsulate the dependencies of the process on the tool set, keeping the activities free from tool details. A development organization can extend the concept of tool mentor to provide guidance for other tools.
Some of the key concepts, such as iteration, phase, artifact, risk, performance testing, and so on, are introduced in separate sections of the process, usually attached to the most appropriate core workflow. Many other concepts are also introduced in this book.