Customizing Process Templates
Updated: August 2012
Before you create a team project, you can customize the process template so that the resulting team projects that you create from it match your team processes. A team project is a central planning tool that you use to track information and to organize source code, builds, tests, and plans for your team. A team project supports your team’s ability to collaborate and share information that is required to develop software products.
As the following illustration shows, the New Team Project Wizard uses a process template to create a team project and all its artifacts. Many of these artifacts depend on the creation and definition of the objects that are defined for tracking work. For example, you use the fields in each type of work item to define work item queries and reports. In addition to these artifacts, you can also define the initial project areas and milestones, the security configuration, and other default settings that support version control, builds, test, and lab management for the team project.
All team projects that are created based on the same process template are constructed with the same artifacts and workflow processes. For an overview of the artifacts that the process templates for Microsoft Solutions Framework (MSF) provide, see Artifacts (Agile) or Artifacts (CMMI).
After a team project is created, you can still customize or modify some elements to support your individual process requirements. However, later modifications are made, in general, to a specific team project and must be applied to each team project that you want to customize. You can also customize most process settings after a team project is created. The main exception is the test resolution states that are defined for Microsoft Test Manager. For more information, see Defining the Initial Configuration of Test Manager.
In this topic
To customize a process template, you first download an existing or blank process template, modify or add files, upload the process template files, and then verify your changes. The following illustration shows the sequence of the five main tasks that you perform to customize a process template, and the following table summarizes each step in the workflow customization sequence. For more information, see Step-by-Step Customization Process.
Choose a Process Template. To minimize the modifications that you must make, you should select a template that most closely matches your team processes. In general, you choose a process template based on types of work items and workflow.
Download a Process Template. Before you can customize a process template, you must download it to your local computer. You can download an MSF, blank, minimalist, or other process template that is available online from the Process Template Manager.
Customize the process template. You customize a process template by modifying, deleting, or adding files that are defined for a process template.
Upload a Process Template. After you have customized your template, you must upload it to the team project collection where you will create the team project. To perform this procedure, you must either be a member of the Project Collection Administrators group, or your Manage process template permission must be set to Allow.
Create a Team Project. You create a team project by accessing the New Team Project Wizard from Team Explorer. Depending on the plug-ins that you included in your process template, you must be a member of several security groups to successfully create a team project.
Verify Changes to Process Templates. Before you put your process template in production mode and use it as the basis for several team projects, you should verify that it is well-defined. You perform this task by systematically verifying that each object and artifact works as expected.
As the following illustration shows, MSF process templates consist of nine plug-ins. Plug-ins define the tasks that will be run and the screens that appear when you launch the New Team Project wizard. Tasks set permissions, create folders, upload files, activate sites, or set other configurable variables. Plug-ins also specify the dependencies that a task has on the successful completion of other tasks.
You cannot customize Microsoft Excel reports and dashboards through the process template files. These artifacts are created for a team project depending on the selections that you make in the New Team Project wizard. For more information, see Customizing Team Foundation Server Project Portals.
For each plug-in, a file defines the configuration of a functional area in Visual Studio Application Lifecycle Management (ALM). These areas include security, organizational hierarchies, reports, project portal, work item tracking, Team Foundation version control, Team Foundation Build, Visual Studio Lab Management, and Microsoft Test Manager. Each file defines one or more tasks. You can add or remove plug-ins from a process template, except for the Classification plug-in. This plug-in is required to create a team project. You can also customize the contents of a plug-in file. For more information, see Working with Process Template Files and Customizing Functional Areas within a Process Template.
You use the ProcessTemplate.xml plug-in file to define which plug-ins to include in the template. This file contains all the task groups that you want to run to create a team project. Each task group references a subordinate XML plug-in file where the specific tasks for that plug-in are defined. For more information, see Defining the Root Tasks Using the Process Template Plug-in File.
The following table indicates the resources that are required to support the Build, Portal, and Reporting plug-ins. For more information about requirements for specific components that the Portal plug-in supports, see Launching a New Team Project.
Team Foundation Build
SQL Server 2008 Analysis Services
SQL Server 2008 Reporting Services
Only required to support basic dashboards
Several dependencies exist between plug-ins and the tasks that they perform. Tasks that specify objects that reference other objects must be performed in the correct sequence. Tasks have two types of dependencies. The first type is referred to as task group dependencies, which have to do with the sequence in which plug-in tasks are performed. The second type is task dependencies, which correspond to the sequence in which tasks within a plug-in are performed.
As the following illustration shows, the plug-in for Work Item Tracking depends on the successful completion of the Groups and Permissions plug-in, which depends on the successful completion of the Classification plug-in. The remaining plug-ins have additional dependencies. For more information, see Defining Dependencies for Task Groups and Tasks in Plug-in Files.
You customize a process template to support your project teams so they can follow standardized processes and quickly access similar information. The following table indicates the plug-in or component that you must customize to support many of the main process requirements. You customize a plug-in or definition file by modifying its XML content. Each plug-in file and type definition file must conform to its XML schema definition. You can download the schema files from the following page on the Microsoft website: Process Template and Work Item Schemas for Visual Studio Team Foundation.
You can create and modify types of work items and global lists, and you can view the fields that are defined for a project collection by using Process Editor, a power tool for Visual Studio. This tool is not supported. For more information, see the following page on the Microsoft Web site: Team Foundation Server Power Tools.
Add fields to support monitoring and reporting.
Work Item Tracking
Customize the states, reasons, or transitions for tracking work.
Work Item Tracking
Add fields or information to a work item form.
Work Item Tracking
Add a type of work item to track specific issues or dependencies.
Work Item Tracking
Define security groups.
Groups and Permissions
Add team queries.
Work Item Tracking
Limit who can create or modify a work item.
Work Item Tracking
Specify project areas and milestones to organize work.
Specify standard build processes and workflow.
Specify test variables, configuration, resolution states, and default test settings for use with Microsoft Test Manager.
Set check-in and check-out policies.
Customize the folder structure and the set of reports that are available through SQL Server Reporting Services.
Create the document library, customize its structure, add documents to upload, and activate dashboard features.
Add fields to support integration with Microsoft Project.
Review the resources that are required to support team processes and team projects. The artifacts that you can provision a team project with depends on the servers that are configured for the project collection that will host your team project. Enterprise dashboards require configuration of an Enterprise Edition of SharePoint Products.
Update a process template to support previous customizations. When Visual Studio Team Foundation Server is upgraded from an earlier version, the MSF process templates are replaced with the most recent versions. To use the features that are available with the updated MSF templates and to access customizations that you made previously, you must add the customizations to the new templates.
Upload, download, create, and delete process templates. You manage process templates by using the Process Template Manager in Team Explorer.
Determine how you will support your team to follow team processes. Process guidance is content that documents the process that team members who work on a team project should follow. MSF process templates provide topic-based process guidance that is available offline in the Help for Visual Studio ALM and online through the MSDN library. For information about how to download these topics and customize and host your own guidance, see the following page on the Microsoft website: Customizable process guidance.
You can host other process guidance on your team project portal or on another website that you designate.
Modify the processes for your team project after it is created. As you work with a team project, the initial settings that the process template defined may no longer meet your needs, and you might need to customize one or more areas. You can customize some areas through the user interface. Other areas require that you modify an XML file and upload it to Team Foundation Server.
Look up the definition for an element that is used in a plug-in file for a process template. Two main schema definitions are used within the process template files. Plug-in files are based on the process template schemas, and the type definitions for work items are based on the schema for tracking work.
You can download both sets of schema files from the following page on the Microsoft website: Process Template and Work Item Schemas for Visual Studio Team Foundation.
Review basic restrictions on labels and file sizes. When you add objects to a process template, you will want to make sure that you label them correctly so that you avoid XML validation errors.
You can get more information from the following resources on the Microsoft website:
Answers questions about how to customize process templates.
Provides access to additional tools, information, and process templates from Microsoft and its partners.