Customize work tracking objects to support your team's processes

Go here to open the Visual Studio 2015 version of this topic.

For on-premises deployments of Team Foundation Server (TFS), you can customize how you plan and track work. To add or modify a field, a work item type (WIT), or an Agile planning tool, see one of the topics listed in the table below.

If you have additional needs for customizing your team project, see An end-to-end view of what you can configure and customize in Visual Studio TFS.

Lookup a definition or description conceptual ima
Conceptual image for client tools
Conceptual image for working as a team

Scope your requirements

Depending on your customization requirements, you might want to configure defaults by customizing a process template. You create a team project from a process template. Objects that you customize within the process template provide the initial configuration of the object. By customizing a process template, you increase compliance with processes across all team projects that are created with the process template. For more information about default TFS process templates, go here.

You can make many customizations at different scope levels. As you plan your customization requirements, consider the scope areas outlined in the following table.

Scope

Implementation notes

Project or collection scope

  • Process template: Choose this option when you plan to create several team projects and you want to minimize the time to get projects up and running and enforce compliance of team processes. To learn about customizing a process template, go here.

  • Project collection: Changes you make to work item fields, global lists, and link types impact all team projects defined in the team project collection. Consider the implications when implementing changes at this level.

  • Team project: Choose this option when you only want to make changes that your team or group of teams working in the same team project require.

    To apply changes to several team projects, you will need to import changes to object definition files to several team projects.

  • Team: Choose this option when only your team requires the changes. To learn what you can configure, see Collaborate using team resources.

Data integration requirements

A select set of fields integrate with Team Foundation Build, Test Manager, and Team Foundation version control. These applications automate the assignment of data to these fields. See Fields that support integration with test, build, and version control.

Localization and globalization requirements

You can localize the names of WITs, fields, and many elements defined for a WIT. See Localization and globalization of WITD child elements.

Category groups required to support cross-group efforts

When you have similar WITs with different names, you can use categories to group them and generate reports more easily. Categories support flexible queries, reporting, process configuration, and integration across team projects. See Use categories to group work item types.

Before you customize, understand the maintenance and upgrade implications

Upgrades to TFS could introduce new features that require updates to the objects used to track work. These objects include work item types, categories, and process configuration. Minimizing changes to the workflow for a WIT or the process configuration can help minimize the work you must do when you upgrade your TFS.

To minimize the amount of manual work you’ll need to do after a TFS upgrade, understand which customizations support an easy update path and which do not.

Customizations compatible with updating team projects using the Configure Features Wizard

With the following customizations, you can use the Configure Features Wizard to automatically apply any changes to your team project required for new features.

  • Fields: Add custom fields, customize a pick list, add or modify area and iteration paths, add rules to a field

  • WITs: Add custom WITs, change the form layout

  • Categories: Add custom categories

  • Agile planning tools: Customize the columns on the Kanban board, customize the quick add panel

  • Office integration: Add or change how Project fields map to TFS fields

To learn more about the Configure Features Wizard, go here.

Customizations that might require manual updates to a team project or process template when upgrading TFS

The Configure Features Wizard requires that specific work item types, workflow states, and fields are defined in the process template objects and process configuration. When you make the following customizations, you might need to modify the existing process templates for the wizard to run, or you might have to update your team project manually.

  • Fields: Change attributes of an existing field, remove fields that are referenced in the process configuration

  • WITs: Change the workflow

  • Agile planning tools:

    • Change the WITs defined for the Requirement Category, Task Category, or Feature Category.

    • Change the metastate mapping defined in the process configuration.

    • Change a field specified for a TypeField in the process configuration.

In addition, changes you make to WITs or the workflow could require updates to other artifacts provided with your process template, such as Excel or SQL Server Reporting Services reports.

Customizations to avoid

You should avoid making the following customizations because they can result in schema conflicts in the data warehouse or cause problems when updating team projects after a TFS upgrade.

  • Fields:

    • Change the friendly name of a default field (field defined in the process template)

    • Change the reporting name, reporting attribute, or syncname attribute of a default field

  • WITs: Rename or delete work item types

  • Categories: Change the name of default categories, or change the work item types defined within default categories

To learn more about reporting attributes, see Add or modify work item fields to support reporting.

  • Identify the best options for customizing WITs that support your tracking requirements. When you change objects that track work items, you should identify how these changes will affect existing and future team projects.

  • Put process templates and all XML definition files under version control. Do not deploy objects that you define but have not stored in a repository.

  • Test your customized objects just as you would test your software.

  • Minimize the number of custom fields that you introduce. Minimize the number of fields that you make reportable.