Purpose
  • To harvest existing or develop new templates for use by the project.
  • To prepare the templates for project use by partially instantiating them with project-specific information.
  • To make the existing templates accessible to the project members when needed.
Role:  Process Engineer 
Frequency: The initial collection of templates is done during the inception phase, as part of tailoring the process for the project. The activity is performed again whenever there is a need for a new or changed template 
Steps
Input Artifacts:    Resulting Artifacts:   
Tool Mentors:   
More Information: 

Workflow Details:   

The development case defines which document artifacts and reports that should be used together with information on how to customize them to the project needs. A project should consider preparing templates for all document artifacts and reports that the project needs.

Identify Templates for the ProjectTo top of page

Purpose: To identify which templates are needed by the project, based on the deliverables specified in the development case.

The Artifact: Development Case defines which artifacts to produce and the formality level required for individual artifacts. This serves as an important input to identifying the set of templates needed and their format. Preparing templates is considered part of tailoring the process for the project, and the process engineer will spend a fair amount of time with the project manager deciding which templates to make available to the teams.

Project-specific templates serve several purposes, including :

  • To ensure that artifacts are produced consistently and follow the defined conventions and styles.
  • To describe certain standards required for the project adherence.
  • To get a jump-start on producing artifacts.

Below is a list of some of the artifact types you should consider collecting templates for :

  • Documents
  • Reports
  • Plans
  • Models
  • Source Code

Prepare the Templates for Project Use To top of page

Purpose: To make the identified templates ready to use by the project.

Sub-topics:

Obtain Existing TemplatesTo Prepare Templates for project use

Templates may be available from different sources. Some development organizations keep templates in their asset repositories for cross-project reuse. Some projects will make use of the ones shipped with the RUP product. In other cases, satisfactory templates might not be available, so the project should consider developing its own.

Templates that ship with the RUP are packaged into two plug-ins that can be included in any RUP configuration built using the RUP Builder tool, and thus be accessible to the project members via the published RUP Website. The RUP templates contained in your configuration are listed on Overview: Templates page and referenced from the description page of the artifact in question.

Note: A project does not require templates for all of it's artifact types. In some cases, a relevant example provides equal or better value. Some documentation jobs are best done using tool automation. Document generation tools, such as Rational SoDA(TM), provides lots of ready-made report templates to use for generating reports from project artifacts.

Develop New TemplatesTo Prepare Templates for project use

The project management might decide to develop new templates as part of the project if one or more of the identified templates is not available or deemed not applicable to the project. This work should be accounted for in project planning, assigned to a team member and followed up as you would for the development of any project artifact. These activities are often performed on a just-in-time basis, or they might even be a result of transforming a produced artifact into a template.

The project manager should consider promoting any new or modified templates as candidate assets for future projects. This is usually done as part of project assessment work and is often a collaboration with the organization's process improvement team.

Customize the Templates for Project Use To Prepare Templates for project use

Preparing templates for a project includes customizing them to fit the context of the project, and the style of the development process. Some of the traditional templates that ship with the RUP might be too formal for some types of projects, but not formal enough for others. Customizing the collected templates ranges from just inserting the project meta-data, such as company name, project code, and logo, to removing or adding complete sections. Most of the RUP templates have some process guidance in them, to provide in-document assistance for the production of the artifact. This text is meant to be erased as the artifact evolves. Projects that want all process guidance to be an integral part of the RUP Website, can remove this in-document guidance from the templates as part of their customization task.

Make the Templates AccessibleTo Prepare Templates for project use

There are different ways of making templates available to the project members. The most efficient way is to make them part of the workspace of the tool you use for the production of the artifact, for example, if you use Rational Rose(TM) for designing the system, then it is desirable that your model template appears as a selection when you select to create a new model file. Different applications have different ways of handling this integration. Refer to the on-line help of the application for further details. Regardless of whether its possible to achieve this level of integration, it is valuable to make the templates part of your project-specific process Website to allow the team members to browse and inspect the templates.

The RUP templates are packaged as RUP plug-ins, and can be included in your RUP configuration by selecting one or more of these plug-ins in the RUP Builder tool.

You can also make your own templates available using the plug-in technology. See Concept: RUP Tailoring and the Tool Mentor: Packaging Project-specific Assets into Thin Plug-ins with RUP Organizer for further information.

Maintain TemplatesTo top of page

Purpose: To improve the templates based on the consumers experience of use.

In any reuse focussed organization, it is critical to the process improvement effort that projects provide feedback on their use of assets. Remember that most good practices generally become good because they've been used a number of times before and have had time to be fine-tuned and improved.

As the templates are instantiated and the artifacts evolve, the project members are likely to identify improvement areas for the templates. A project might choose to modify the template or raise a change request for it to be handled outside the project, depending on the complexity of the required change. Most projects will benefit from updating the templates as needed, and promoting the improved template to the organization's process group as part of the process improvement effort.



Rational Unified Process   2003.06.13