Customize your work tracking experience
Azure DevOps Services | Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015 | TFS 2013
As you plan and track your project, you'll find you may want to configure a feature or customize your experience to meet your team's tracking needs. You configure teams and team Agile tools through the web portal administration context. The method you use to customize projects, which impacts all teams, depends on the process model you use.
Customizations you make occur at one of three levels:
- Team assets or tools: Each team can customize or configure their specific tools, for details,see About teams and Agile tools
- Project level: Add or modify work item types, data fields, backlog levels, and other objects shared across teams
- Object level: Grant or restrict access to work tracking tools, which includes setting permissions for objects and the project and assigning users or groups to specific access levels.
If you're new to the work tracking system, see Get started with Agile tools to plan and track work.
Each project provides a number of shared resources that support all teams added to the project. You configure these features through the user interface or the admin context of the web portal. To understand how the system uses area and iteration paths, see About area and iteration paths.
|Area path pick lists||Sprint/iteration pick lists|
|Change the pick list of area paths to support grouping work items by team, product, or feature area.
||Change the pick list of iteration paths to support grouping work into sprints, milestones, or other event-specific or time-related period. Activate sprints for each team.
|Open shared queries or create your own
query using the query editor to list work items
or show hierarchical or dependent items.<br/
|Add tags to work items to filter backlogs and queries, or list items by tags
Projects and process customizations
Your project determines the objects available to track work and the configuration of Agile tools. Specifically, the project determines the work item types (WITs)—user stories, tasks, bugs— and the data fields used to capture information. Customized objects are shared across teams added to the project.
The method you use to customize work tracking depends on the process model you subscribe to:
- Inheritance: Supports WYSIWYG customization, available for Azure DevOps Services and Azure DevOps Server 2019
- Hosted XML: Supports customization through import/export of process templates, available for a select number of customers of Azure DevOps Services who have opted into this model
- On-premises XML: Supports customization through import/export of XML definition files for work tracking objects and is available for all on-premises deployments
The following table summarizes the differences between the three supported process models. For definitions of the main work tracking objects, see Agile glossary.
|Feature||Inheritance||Hosted XML||On-premises XML|
|Create inherited custom processes|
|Create custom process templates (see note 1)|
|Inherit changes in system processes (Agile, Scrum, CMMI)|
|Updated process changes automatically apply to projects|
|Basic customizations supported (fields, workflow, work item types, backlog levels)|
|Global lists||Picklists||(see note 2)|
|Advanced customizations supported (custom link types, team fields, global workflow)|
|Update Microsoft field mappings using the TFSFieldMapping command-line tool|
|Use the witadmin command-line tools to edit projects|
|Use the witadmin command-line tools to list information about projects|
|REST API (read)|
|REST API (write)|
- A process determines the building blocks used to track work. A process template specifies an interdependent-related set of XML definition files that provide the building blocks and initial configuration for tracking work and other functional areas.
- Hosted XML customization supports adding and updating global lists with a process update (subject to limits on maximum size of each list). To learn more, see Work tracking object limits.
Choose the process model for your project collection
For Azure DevOps Server 2019, you have a choice of process models. When you create a project collection, you'll need to choose between XML (On-premises XML process model) and Inheritance (Inheritance process model), as shown in the following dialog.
The choice you make is not reversible. Once the collection is created, you'll only be able to customize work tracking objects using the model selected. Also, there is no way to migrate existing project collections that use the On-premises XML process model to the Inheritance process model.
To learn more about project collections, see Manage project collections.
Grant or restrict access to work tracking tools
You can grant or restrict access to select features and functions through the web portal. When you add user accounts to your team, they're automatically added to the Contributor group. They then have access to most of the features they'll need to contribute to code, work tracking, builds, and test. However, the Contributor group doesn't allow users to create shared queries or to add area or iteration paths. You have to grant these permissions separately.
For a simplified view of the most common, default permissions and access assignments, see Permissions and access. If you're new to managing permissions, see Permissions and groups reference, Inheritance.
Otherwise, to grant or restrict access to select features or functions, review one of these topics:
|Customization area||Customization support|
Customize the test experience
Several WITs support the test experience within the web portal Test pages and Test Manager client. You can customize these WITs as you would any other WIT. The following image illustrates the support link relationships.
See the following resources for additional usage and customization information:
Change the pick list for a person-name field
To add values for fields associated with user accounts such as Assigned To add users to a security group or by restricting access to a group or set of users. By default, the list for the Assigned To field contains the account names for all users and groups that have been added to the server. These accounts are often synchronized with Active Directory or Azure Active Directory. See Add AD/Azure AD users or groups to a built-in security group.
Less common customizations
You can only perform the following customizations when working with the Hosted XML or On-premises XML process models. The customizations made to process configuration apply to all teams added to the project.
Backlog and board limits (Hosted XML, On-premises XML)
To limit the display load time to acceptable parameters, the task board is restricted to a maximum of 1000 work items. For details, see Process configuration XML element reference.
You can increase this value up to a maximum of 1500 by specifying a value for the
workItemCountLimit attribute of the TaskBacklog element. For details, see Process configuration XML element reference.
<TaskBacklog category="Microsoft.TaskCategory" pluralName="Tasks" singularName="Task" workItemCountLimit="800" > . . . </TaskBacklog>
Change field assignments (Hosted XML, On-premises XML)
You can change the work item fields that are used in calculating capacity, burndown charts, forecasting, and velocity. Any change you make to one of the default assignments should correspond to a change made to the WIT used to define and capture information for that value.
For example, if you change the
refname assigned to
type="Activity" then you should include the same field in the WIT definition assigned to the Task Category which captures the activity information. For details, see Process configuration XML element reference.
The fields you assign are used by the following tools:
|Task board, capacity tools, sprint burndown||Remaining work|
|Product and portfolio backlogs||Backlog priority|
|Velocity and forecast||Effort (maps to Story Points, Effort, or Size)|
|Task board, capacity tools||Remaining work|
|Capacity tools||Activity (Task Activity or Discipline)|
Do you want to customize your tools in a way that's not supported?
Here are a few options available to you: