How To Customize Process Methodology
Methodologies in Team Systems are defined as process templates. A process template is a set of files that Team Systems can use to define a given process or methodology. As we have discussed, Team Systems ships with two process templates: MSF for Agile and MSF for CMMI. You use the Process Template Manager to modify a process template. This tool lets you export a process, tweak it, and then reimport it. You can access this tool from Team Explorer. The following figures show the menu structure for accessing the tool.


The Process Template Manager saves all the files that define the process to a folder upon download. This folder contains XML files that define a lot of the process. It also contains the default documents, queries, and process guidance associated with the methodology.
Suppose that you want to customize the Bug work item. You want to add a field to indicate bug type. This will allow the person triaging bugs to categorize them.
To make your edits, you again would export a methodology. For this example, use the one you exported previously (CMMI). You then navigate to the work item type definitions (\WorkItem Tracking\TypeDefinitions). This folder contains definitions for each work item defined by the process. Of course, you are interested in the Bug.xml file.
This definition file contains the core fields defined for bugs as well as common fields that apply to most work items. The definition is long and does not bear repeating here. You will add your new field to the core fields area in this XML.
<FIELD name=”Bug Type” refname=”Unleashed.BugType” type=”String”
reportable=”dimension”>
<HELPTEXT>Represents the type of bug</HELPTEXT>
<REQUIRED/>
<ALLOWEDVALUES>
<LISTITEM value=”Error”/>
<LISTITEM value=”Requirement”/>
<LISTITEM value=”Change”/>
<LISTITEM value=”Navigation”/>
<LISTITEM value=”Text”/>
<LISTITEM value=”Cosmetic”/>
</ALLOWEDVALUES>
<DEFAULT from=”value” value=”Error”/>
</FIELD>
This field is added to the Fields section of the XML. Notice that you restrict the values that can be entered in this field by using the AllowedValues node. This will tell Team Systems to display this field as a drop-down list for users. This field is also marked as required (<REQUIRED/>) and has a default value set using the Default element. Finally, the field definition indicates that the field is reportable. This tells Team System to include this field when doing analysis for reports.
You must also define how the field should appear on the form. You do this inside the Form section of the XML. You want the field to appear at the top of the form to the right of the Title field. To accomplish this, you add a column to the Group element that contains the Title field.
<Group>
<Column PercentWidth=”70”>
<Control Type=”FieldControl” FieldName=”System.Title” Label=”&Title:”
LabelPosition=”Left”/>
</Column>
<Column PercentWidth=”30”>
<Control Type=”FieldControl” FieldName=”Unleashed.BugType” Label=”&Bug Type:”
LabelPosition=”Left”/>
</Column>
</Group>
Finally, you upload the new process template. The following figure shows the results of this work.
