Customizing TFS Process Templates - Part 1: Basic structure

This post is the first in a three part series that will describe the basic steps to create your own process template. When working with TFS there is a fair chance that there are some part of the process templates that you either do not agree with or that you need to change in order to fit requirements from your customer. In my case it was a combination of the two: I wanted to make a few more fields required and we also needed to adopt the customers terminology regarding Severity of bugs.

The steps to customize a template for usage in new projects are fairly simple:

  1. Download an existing template to your local disk. You do this by right-clicking the root-node in Team Explorer and select Team Foundation Server Settings / Process Templates Manager, then select a template and click Download.
  2. Customize the files you have saved on disk.
  3. Upload the modified template, either using a new name to create a new template or use the same name to overwrite the old template. You Upload a template from the Process Template Manager. 
  4. Create a project based on the template to test it.
  5. Remember to make your new process template the default template if you like it. Select a template and click Make Default in Process Template Manager.

Most developers will not have a hard time to understand how to make basic changes to the templates, a template is basically a collection of XML files in a folder structure. But there are also other files, primarily report templates and process guidance. I will only discuss making changes to the XML files in this series, as that is what I have experience with, perhaps creating custom reports will be a later subject.

Below is the basic directory structure of the downloaded CMMI process template.

 

Directory Contents
MSF for CMMI Process... ProcessTemplate.xml is the overall process template definition, holding references to other definition files.
Classification Definitions for Iterations and Areas.
Groups and Permissions Definition of standard TFS Groups and their priviledges.
Reports SQL Server Reporting Server templates.
Version Control Default security settings for SCC and other SCC related settings.
Windows SharePoint Services Documents and structures that will be added to the WSS site for the project.
WorkItem Tracking WorkItems.xml which contains references to other XML definition files along with the default work items that are created in a new project.
Queries Definition files for standard work items queries, these are (more or less) SQL queries which are imported into new projects.
TypeDefinitions Definitions for the different types of work items that the process template supports, e.g. Task, Bug, Change Request.

 

The next part in this series is called Part 2: Process Template Name, Areas, Iterations and Version Control.