Guideline: Customizing a Process
This guideline provides recommendations for customizing a process, including specific customization scenarios.
Relationships
Main Description

This guideline describes how to customize an existing process. For more information on key process definition concepts like activities, capability patterns, delivery processes, process diagrams, descriptors, and so on, see Guideline: Defining Processes.

When customizing a process, it is important to explicitly identify what process you will actually customize (remember: a specific process may be defined in one place and "applied" in many other processes, either copied or linked to). Once you have identified what process to customize, you can execute the scenarios described in this document on that process.
      
The following questions can help you decide what process to customize:
  • Do you want to change an overall process?
    • If so, then that process is the process to be customized.
        
  • Do you want to change an activity in a process (i.e., the elements it contains or its flow)?
    • If so, is the activity you want to change a reference to process/activity that is defined elsewhere (i.e., what it created by extending or copying a capability pattern/activity defined in another process)?
      • If so, do you want to change all instances of the activity?
        • If so, find the base definition of the process that the activity was created from. That process is the process to be customized.
        • If not, the current process is the process to be customized.
      • If not, then the activity you want to change is defined in this process, so this process is the process to be customized.
           
  • Do you want to change a role, task or work product descriptor in the process? 
    • If so, is the descriptor linked to a method content element?
      • If so, do you want the change to affect all occurrences of the role, task or work product? 
        • If so, you need to customize the method content elements (see Guideline: Customizing a Method Content Element) and then update the process to pick up the changes (see the "Update a process to include changes made to the underlying method content " scenario in this guideline).
        • If not, you will be making a local process change to the descriptors. For more information, see the "Change the role, task or work product descriptors" scenario in this guideline.
      • If not, you will be making a local process change to the descriptors. For more information, see the "Change the role, task or work product descriptors" scenario in this guideline.

Once the process has been customized, you need to decide if you want to customize other processes that were originally dependent on (or built from) the process that you customized. If so, then you need to perform the "Replace an existing activity with another activity " scenario for those processes so they reflect the customizations you made.        

It is assumed that the process being customized cannot be modified directly. Thus, all process changes must be stored in a separate plug-in from the process being customized. To see the resulting changes, you need to browse or publish a configuration that includes the element being customized and the customizations. If you can modify the process directly, you should follow the guidelines described in Guideline: Defining Processes.

The following are some ways you can customize a process:

  • Update a process to include changes made to the underlying method content
  • Change the textual descriptions of the process itself or its elements
  • Add new activities
  • Add new roles, tasks or work products
  • Replace an existing activity with another activity
  • Change the role, task or work product descriptors
  • Change the process flow
  • Add a new, or change an existing, process diagram

The following sections describe these scenarios in more detail.

  

Update a process to include changes made to the underlying method content

Perform the following steps to customize a process to include changes made to underlying method content:

  • If one does not already exist, create a new plug-in to contain the customized process.
  • Make a copy of the default configuration for the process to be customized.
  • In the new configuration, add the new plug-in and the plug-ins that contain the method content changes.
  • Copy the original process and place the copy in the new plug-in.
  • Change the default configuration of the new process to the new configuration.
  • Synchronize the new process against the new configuration. For more information on descriptors and process synchronization, see Guideline: Defining Processes.

The method content changes should now be picked up.  


Add a new role, task or work product to the process

Roles, tasks and work products are represented as descriptors in a process. For more information on descriptors, see Guideline: Defining Processes.

Perform the following steps to add a new role, task or work product (descriptor) to an existing process:

  • If one does not already exist, create a new plug-in to contain the customized process.
  • Make a copy of the default configuration for the process to be customized.
  • In the new configuration, add the new plug-in and the plug-ins that contain the method content elements to be added.
  • Copy the original process and place the copy in the new plug-in.
  • Change the default configuration of the new process to the new configuration.
  • Synchronize the new process against the new configuration. For more information on descriptors and process synchronization, see Guideline: Defining Processes.
  • Drag and drop the role, task or work product to be added into the process. Descriptors are created.
  • Refine the flow between the new element and the existing element, as needed (for example, adding predecessors to the new task descriptor, or specifying the new task descriptor as a predecessor to an existing task descriptor). The method content elements are now part of the process.
  • Change the definition of the new process to specify that it is to replace the original process.

     

Replace an existing activity with another activity

Perform the following steps to replace an activity with another activity:

  • Create a new plug-in to contain the customized process.
  • Make a copy of the default configuration for the process to be customized.
  • In the new configuration, add the new plug-in and the plug-ins that contain the method content changes.
  • Copy the original process and place the copy in the new plug-in.
  • Change the default configuration of the new process to the new configuration.
  • Synchronize the new process against the new configuration. For more information on descriptors and process synchronization, see Guideline: Defining Processes.
  • Change the definition of the activity to be replaced so that the activity is an extension of the new activity. The process now includes the new activity.
  • Change the definition of the new process to specify that it is to replace the original process.

  

Change the role, task or work product descriptors

Roles, tasks and work products are represented as descriptors in a process. For more information on descriptors, see Guideline: Defining Processes. The relationships between the descriptors are created at the time the elements are added to the process and those relationships reflect the relationships as resolved in the process'es default configuration.

The descriptor text and relationships can be changed directly in the process. If the descriptors are associated with method content elements, such descriptor changes do not affect the associated method content elements (they are considered local process changes).

Perform the following steps to change the role, task or work product descriptors directly in a customized process:

  • Create a new plug-in to contain the customized process.
  • Copy the original process and place the copy in the new plug-in.
  • Change the descriptor textual descriptions or relationships directly in the new process. The process now includes the descriptor changes. 
  • Change the definition of the new process to specify that it is to replace the original process.

    

Change the process flow

The process flow is the flow between the activities or task (descriptors in the process. You can change the flow by changing the predecessors of the activities and the task descriptors). This can be done directly in the work breakdown structure, or, if there is an associated activity diagram, by changing the control between the elements on the activity diagram. For more information creating a new or changing and existing activity diagram, see the process diagram section of this guideline.

Even if the elements in the process are associated with method content elements, changing the flow between the elements in a process does not affect the associated method content elements (flow changes are considered local process changes).

Perform the following steps to change the process flow of an existing process:

  • Create a new plug-in to contain the customized process.
  • Copy the original process and place the copy in the new plug-in.
  • Change the predecessors in the work breakdown structure, as needed to obtain the desired flow, or, if there is an associated activity diagram, change the control flow in the activity diagram. The process flow is now changed.  
  • Change the definition of the new process to specify that it is to replace the original process.

  

Add a new, or change an existing, process diagram  

There are two types of process diagrams, activity diagrams and activity detail diagrams. For more information on these diagrams and when and how they can be used, see Guideline: Defining Processes.

Perform the following steps to add a new, or change an existing, process diagram:

  • Create a new plug-in to contain the customized process.
  • Copy the original process and place the copy in the new plug-in.
  • Create a new or change an existing process diagram, at the desired levels in the process. The process now contains the desired process diagram.  
  • Change the definition of the new process to specify that it is to replace the original process. 
More Information