Customize a project using an inherited process

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

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, Basic, Scrum, or CMMI.

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 automatically appears in the projects that use that process.

Important

This article applies to Azure DevOps Services and Azure DevOps Server 2019 and later versions. To customize any project defined on a collection for TFS 2018 or earlier, see On-premises XML process model.

Important

You can only use the Inheritance process model for projects defined on a project collection configured to support the Inheritance process model. If your on-premises collection is configured to use the On-premises XML process model, you can only use that process model to customize the work tracking experience. To learn more, see Customize work tracking, Choose the process model for your project collection.

To customize any project defined on a collection for TFS 2018 or earlier, see On-premises XML process model.

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.

Create an inherited processCustomize the inherited processApply inherited process to  project(s)Refresh and verify changes

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

Note

You can review changes made to an inherited process through the audit log. To learn more, see Access, export, and filter audit logs.

Prerequisites

Prior to customizing a process, we recommend that you review Configure and customize Azure Boards, which provides guidance on how to customize Azure Boards to meet your business needs. For a description of the different backlogs and boards, see Tasks supported by Backlogs, Boards, Taskboards, and Plans.

Open Settings>Process

You create, manage, and make customizations to processes from Organization settings>Process.

  1. Choose the Azure DevOps logo to open Projects. Then choose Organization settings.

    Open Projects>Organization settings.

  2. Then, choose Process.

    Then, choose Process.

    Important

    If you don't see Process, then you're working from TFS-2018 or earlier version. The Process page isn't supported. You must use the features supported for the On-premises XML process model.

You create, manage, and make customizations to processes from Collection Settings>Process.

  1. Choose the Azure DevOps logo to open Projects. Choose the project collection whose processes you want to customize, and then choose Collection Settings.

    Open Projects>Organization settings

  2. Then, choose Process.

    Then, choose Process.

You create, manage, and make customizations to processes from Admin settings>Process.

  1. Choose the Azure DevOps logo to open Projects. Then choose Admin settings.

    Open Project>Organization settings.

  2. Then, choose Process.

    Then, choose Process.

Note

As you customize an inherited process, all projects that use that process are updated 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.

  1. 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, Basic, 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.

    Context menu, Choose Create inherited process, Azure DevOps.

    Context menu, Choose Create inherited process, Azure DevOps Server 2020.

    Context menu, Choose Create inherited process, Azure DevOps Server 2019.

    Important

    If you don't see the Create inherited process menu option, then the collection you've selected is set to work with the On-premises XML process model. You can import and export process templates and use the features supported for the On-premises XML process model.

  2. 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.

    Create inherited process dialog

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.

  1. To begin, choose your inherited process, and then choose the WIT you want to customize.

  2. To add a field, choose the (New Field icon).

    Process Work Item Types page, Add a field to a WIT

    In the dialog that opens, choose the type of field that you want to add. To learn more, see the following articles:

  3. 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.

Process, WIT, Bug, Layout, New custom control

To learn more, see Rules and rule evaluation.

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.

  1. To begin, choose your inherited process, and then choose the WIT you want to customize.

  2. From the Work Item Types page, choose the New work item type.

    Process, Inherited process, Work Item Types, Add new work item type
  3. Name the WIT and optionally specify a description, icon and color. The icon and color you specify 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.

    Create new work item type dialog

    Click Create to save.

  4. 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.

  1. To modify a workflow, choose your inherited process, the WIT, and then the States page.

    Process page, Bug WIT, States tab, Add state

  2. 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.

    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.

Note

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.

  1. To add an extension to a work item type, choose your inherited process, the WIT, and then choose Get extensions.

    Process, WIT, Bug, Layout, Get extensions

  2. Select the extension you want to add. Here we choose the Work item checklist.

  3. Select the organization you want to add it to and choose Install.

    Visual Studio Marketplace, install extension

    Extensions are available to add to all projects and processes.

  4. 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.

    Group extension on Bug work item 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.

Changes made to the backlog levels

  1. To modify the backlogs and boards configuration, begin by choosing your inherited process, and then choose the Backlog levels page.

    Web portal, Admin context, Process page, open Backlog levels

  2. 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

  1. Open the All processes page, and choose the … context menu for the process you want to use, and then select New team project.

    Create a project from the selected process

    Create a project from the selected process

  2. The Create new project page opens. Fill out the form. To learn more, see Create a project.

    Create new project form

    Create new project form

  3. Open the Work>Work Items page (user context) and choose New Work Item and select a WIT you customized. Here we choose Bug.

    Work, Work Items Page, Add New Work Item, Bug

  4. 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.

  1. Create a test organization.
  2. Use the import/export process tool to copy the process to the test organization.
  3. Verify the process customizations in the test organization.
  4. 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.

Tip

As you customize a WIT, all projects that reference the inherited process that you're customizing automatically updates to reflect the custom WITs you've added. To view your customizations, refresh your web browser.

  1. For the process currently used by the project, choose the number of projects.

    Here we open the menu for the Agile default process.

    Agile process, Choose number of team projects

  2. Open the … context menu for the project you want to change, and choose the Change process option.

    Here we open the menu for the MyFirstProject1.

    Project, Change process

  3. From the Change the project process dialog, choose the process from the menu of options. And, then choose Save.

    Change process dialog

  1. Open the … context menu for the process and choose the Change team projects… option.

    Here we open the menu for the MyAgile inherited process.

    Agile process context menu, Choose Change team projects to use MyAgile

  2. Check the check box 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 appears under the Available projects column.

    Change process to an inherited process dialog

  3. 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 automatically updates 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.

See also: