Customize a project using an inherited process
Each project is based on a process that defines the building blocks for tracking work. The first project you create uses one of the default processes—Agile, Scrum, or CMMI. You can only customize inherited processes. Any changes you make to the inherited process will automatically appear in the projects that use that process.
To customize an on-premises TFS project, see On-premises XML process model. This article applies to Azure DevOps Services only.
The general sequence for customizing a project is to customize an inherited process, verify your customizations, and then change the process of the project(s) to use that process.
You primarily customize a process by adding or modifying a work item type (WIT) defined for that process.
Learn how to perform these tasks:
- Open Settings>Process
- Create an inherited process to customize
- Add or modify a field
- Add or modify a rule for a work item type
- Add or modify work item types
- Modify the workflow of a work item type
- Add or modify a custom control
- Add an extension to a work item type
- Verify the customizations you made
- Change the process used by a project
- You must have an organization created in Azure DevOps Services. If you haven't created one yet, do that now.
- Users granted Basic or Stakeholder access are automatically granted permission to create, edit, and delete processes, change the process of a project, and administer process permissions. To change these defaults, you can restrict access by setting permissions at the organization level and set permissions explicitly.
- To create a project, you must be a member of the Project Collection Administrators group, or have the permission Create new team projects set to Create new projects.
Choose Previous navigation when you see a top-level, blue-bar. Choose New navigation if you see a vertical sidebar or if you enabled the New Navigation preview feature. The vertical sidebar along with other navigational features are enabled when the New Navigation preview feature has been enabled for the signed-in user or the Azure DevOps Services organization. To learn how to use the web portal effectively, see Web portal navigation.
As you customize an inherited process, all projects that use that process will update automatically to reflect the customizations. For this reason, we recommend that you create a test process and test project when you have a number of customizations to make in order to test the customizations prior to rolling them out to your organization. To learn more, see Create and manage inherited processes.
Create an inherited process
The first step is to create an inherited process that you can customize. The default, system processes are locked from being customized.
From the Process page, open the … context menu of the process you'll use to create an inherited process, and then choose Create inherited process. Choose the same system process—Agile, Scrum, or CMMI—that was used to create the project that you want to customize.
Here, we create an inherited process from the Agile system process.
Enter a name for your process and optionally a description. Process names must be unique and no more than 128 characters. For additional restrictions, see Create and manage inheritance processes, Process name restrictions. Optionally, add a description.
Add or modify a field
Locked fields and inherited fields correspond to fields inherited from a system process. You can't customize locked fields. You can customize some options for inherited fields. You can fully customize fields that you add to a process.
To begin, choose your inherited process, and then choose the WIT you want to customize.
To add a field, choose the (New Field icon).
In the dialog that opens, choose the type of field that you want to add. To learn more, see the following articles:
To modify an existing field, you can exercise these choices:
Add or modify a rule for a work item type
You add rules to support specific workflow and business use cases. Rules allow you to clear the value of a field, copy a value into a field, and apply values based on dependencies between different fields' values.
To add a rule, choose your inherited process, the work item type, and then choose Rules, and then choose New rule.
To learn more, see Add a rule to a work item type .
Add or modify work item types
You use different WITs to plan and track different types of work. The main reason you add a custom WIT is to customize the web form and workflow states to meet specific business use cases.
To begin, choose your inherited process, and then choose the WIT you want to customize.
From the Work Item Types page, choose the New work item type.
Name the WIT and optionally specify a description, icon and color. The icon and color you specify will appear throughout the web portal, including on the work item form and when associated work items appear on a backlog, boards, query results, and more.
Click Create to save.
You can now add fields to the WIT, or customize it in the following ways:
Modify the workflow of a work item type
Workflow states allow you to track the status of a work item as it moves from new to completed.
To modify a workflow, choose your inherited process, the WIT, and then the States page.
You can modify the workflow in the following ways:
Add a custom control
Custom controls provide additional functionality to a work item form.
To add a custom control, choose your inherited process, the WIT, and then Add custom control.
To learn more, see Add extensions and custom controls to a work item type.
Add an extension to a work item type
An extension is an installable unit that contributes new capabilities to your project.
Group and Page extensions are automatically added to all WITs for all processes, both system and inherited . You can choose to hide an extension for selected WITs within an inherited process.
To add an extension to a work item type, choose your inherited process, the WIT, and then choose Get extensions.
Select the extension you want to add. Here we choose the Work item checklist.
Select the organization you want to add it to and choose Install.
Extensions are available to add to all projects and processes.
Return to the process and WIT and verify the location of the extension is where you want it. Look for it at the bottom of the middle column and drag it to where you want it on the form.
Modify the backlog and boards
You can add additional WITs to a backlog level or add another portfolio backlog. As shown below, we've added a third level portfolio backlog labeled Initiatives which tracks the custom Initiative WIT, and we've renamed the product backlog to Stories and Tickets to indicate that we not only track User Stories, but also Customer Tickets on the product backlog.
To modify the backlogs and boards configuration, begin by choosing your inherited process, and then choose the Backlog levels page.
You can modify the backlog and board configuration in the following ways:
Verify the customization you made
We recommend that you create a test project and apply your customized inherited process to it to verify the changes you've made. All customizations made to a process go into effect immediately on all projects. If you want to stage your changes, you can do that using one of two methods:
- Create a test project and copy of your customized process
- Create a test organization and import/export your process
Create a test project and copy of your customized process
Open the All processes page, and choose the … context menu for the process you want to use, and then select New project.
The Create new project page opens. Fill out the form.
Open the Work>Work Items page (user context) and choose New Work Item and select a WIT you customized. Here we choose Bug.
Verify that the field(s) you added appear on the form. Note that the (exclamation mark) icon indicates the field is required.
Create a test organization and import/export your process
You can also use the following steps to verify the customizations you've made to an inherited process.
- Create a test Azure DevOps Services organization.
- Use the import/export process tool to copy the process to the test organization.
- Verify the process customizations in the test organization.
- Use the import/export process tool again to import the modified process to the production organization.
Apply the customized process to your project
After you've verified your customizations, you can now apply the process to your existing project.
As you customize a WIT, all projects that reference the inherited process that you're customizing will automatically update to reflect the custom WITs you've added. To view your customizations, refresh your web browser.
Open the … context menu for the process and choose the Change team projects… option.
Here we open the menu for the MyAgile inherited process.
Check the checkbox of those projects you want to change to use the Agile process. The system lists only those projects that are valid for the current process.
Here we choose to use the Agile process for the Fabrikam Fiber A and Fabrikam Fiber projects. Only those projects created from the Agile process or one that inherits from Agile will appear under the Available projects column.
After you've confirmed that the projects you want to change are correct, choose Ok.
Programmatically work with processes
You can get, create, update, and delete processes defined for an organization using the REST API, Processes.
Keep in mind that all projects that reference the inherited process that you're customizing will automatically update to contain the modifications you make.
To customize a single project, always start by creating an inherited process and changing the project to use that process. Then, all the customizations that you make to the inherited process automatically appear for the project you migrated.