Edit

Share via


CMMI process work item types and workflow in Azure Boards

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Teams use the work item types (WITs) that ship with the MSF for CMMI Process Improvement 2015 (CMMI) to plan and track software projects. Product owners define requirements to manage the backlog, and teams track progress on your board by updating requirement and task status.

Conceptual image that shows the CMMI process work item types.

Product owners map requirements to features to view portfolio-level progress. When teams work in iterations, they create tasks that automatically link to requirements.

Testers create and run test cases using Microsoft Test Manager or the web portal, and they file bugs to track code defects.

Teams also track change requests, risks, issues, and notes captured during review meetings. If you're new to the CMMI process, start with Plan and track work with CMMI.

Define requirements

Create requirements from the quick add panel on the product backlog page. Later, open each requirement to supply details and estimate its size.

Screenshot that shows the Requirement work item form.

Or, you can bulk add requirements using a CSV file (see Import work items from CSV).

Important

Microsoft Project Integration is no longer supported

Microsoft Project Integration and the TFSFieldMapping command are discontinued for:

  • Visual Studio 2019 and later versions (including Azure DevOps Office Integration)
  • Azure DevOps Server 2020 and later versions
  • Azure DevOps Services

What still works: Microsoft Excel integration remains fully supported for bulk import and update of work items.

Recommended alternatives:

  • Delivery Plans - Native Azure DevOps feature for project planning and cross-team tracking
  • Project management extensions - Browse the Azure DevOps Marketplace for current Gantt chart and project management solutions
  • Third-party integrations - Many project management tools offer Azure DevOps connectors for seamless workflow integration

Requirements describe the product elements and functions teams need to build. Product owners typically define and stack-rank requirements on the product backlog page. The team then scopes the required effort and writes tasks and test cases to implement each item.

Use the following guidance and the section fields used in common across work item types when you complete the form. For more information, see Plan a project.

Field

Usage


Provide enough detail for your team to estimate implementation effort. Focus on who the requirement serves, what users want to accomplish, and why. Avoid describing how to implement the requirement. Include enough context that your team can write tasks and test cases from the item.

In HTML fields, you can add rich text and images.

Capture the customer impact of not implementing the requirement in the Impact Assessment rich-text field. You might include Kano-model details that indicate whether the requirement is a surprise, required, or obvious feature.

Requirement Type (Required)

Specify one of these values for Requirement Type:

  • Business Objective
  • Feature (default)
  • Functional
  • Interface
  • Operational
  • Quality of Service
  • Safety
  • Scenario
  • Security

Indicate the area of customer value that the epic, feature, or requirement addresses. Common values include:

  • Architectural: Technical services to implement business features that deliver solution capabilities.
  • Business: Services that fulfill stakeholder needs and directly deliver customer value (Default).

Estimate the work required to complete a requirement using any numeric unit your team prefers. Teams use Size for velocity charts and forecasts. The Cumulative Flow Diagram also references values in this field. For more background, see the Estimating white paper.

Provide the original estimate for a task. Typically this value doesn't change once the task is assigned. You can specify work in hours or days; the field has no inherent time unit.

Supply the target start and finish dates for the work.

Priority (Required)

Set a subjective rating that reflects business priority:

  • 1: Product can't ship without the item.
  • 2: (default) Product can't ship without the item, but it doesn't require immediate attention.
  • 3: Implementation is optional based on resources, time, and risk.

Triage (Required)

Use Triage when a work item is in the Proposed state. Choose one of: Pending (default), More Info, Info Received, Triaged.

Indicate whether a team member can't make progress on the work item. If an issue blocks work, create a link to the issue. Choose Yes or No.

Committed (Required)

Indicate whether the team committed to delivering the requirement. Choose Yes or No (default).

Record the product build number that includes the requirement, change request, or bug fix.

Set the status of the user acceptance test for a requirement from:

  • Pass
  • Fail
  • Not Ready (default)
  • Ready
  • Skipped
  • Info Received

Use Not Ready when the requirement is Active, and Ready when it's Resolved.

List team members familiar with the customer area that the requirement represents.


Capture comments in the Discussion section

Use the Discussion section to add and review comments made about the work being performed.

Screenshot of Discussion section within a work item form.

The rich text editor toolbar appears under the text entry area when you place your cursor in any text box that supports text formatting.

Screenshot of Discussion section, Rich Text Editor toolbar.

Note

A Discussion work item field doesn't exist. To query work items with comments from the Discussion area, filter on the History field. The full content of the text entered in the Discussion text box is added to the History field.

Mention someone, a group, work item, or pull request

Select one of the following icons to open a menu of recent entries where you mentioned someone, linked to a work item, or linked to a pull request:

You can open the same menu by using keyboard shortcuts: at-mention @, hash tag #, and exclamation point !.

Screenshot of Discussion section, at-mention drop-down menu people-picker.

Enter a name or number to filter the menu list to match your entry. Select the entry you want to add. To bring a group into the discussion, enter the at symbol @ followed by the group name, such as a team or security group.

Edit or delete a comment

To edit or delete any of your discussion comments, select Edit or More actions ( ) and then select Delete:

Screenshot of Discussion section where you can choose Edit or Delete actions.

After you update the comment, select Update. To delete the comment, confirm the deletion. The History tab on the work item form maintains a full audit trail of all edited and deleted comments.

Important

For on-premises Azure DevOps Server, configure an SMTP server for team members to receive notifications.

Add a reaction to a comment

Add one or more reactions to a comment by choosing an emoji icon at the top right of any comment. Choose from the icons at the bottom of a comment next to any existing reactions. To remove your reaction, choose the reaction on the bottom of your comment. The following image shows an example of the experience of adding a reaction, and the display of reactions on a comment.

Screenshot of Discussion section, add a reaction to a comment.

Save a comment without saving the work item

Note

This feature is available starting in Azure DevOps Server 2022.1.

If you only have permissions to add to the Discussion of a work item, then you can do so by saving comments. This permission is controlled by Area Path nodes and the Edit work item comments in this node permission. For more information, see Set work tracking permissions - Create child nodes, modify work items under an area or iteration path.

When you save the comments, you don't need to save the work item.

Screenshot of Discussion section, save comment.

Note

When you save changes made to the Discussion control, only the comment is saved. No work item rules defined for the work item type are executed.

Track work progress

As work progresses, update the State field to reflect the current status. Optionally provide a reason; the state and reason fields appear in the work item form header.

Screenshot that shows the Bug work item form header area.

CMMI workflow states

The following diagrams show the main progression and regression states for the Requirement, Bug, and Task WITs.

Requirement Bug Task
Conceptual image that shows Requirement workflow states, CMMI process. Conceptual image that shows Bug workflow states, CMMI process. Conceptual image that shows Task workflow states, CMMI process.

The typical workflow for a requirement follows these steps:

  • The product owner creates a requirement in the Proposed state with the default reason, New requirement.
  • The product owner moves the requirement to Active when work begins.
  • The team sets the requirement to Resolved when development is finished and system tests pass.
  • Finally, the team or product owner moves the requirement to Closed after acceptance criteria and validation tests confirm completion.

Update work status with a board or Taskboards

Use the board or the sprint taskboard to update item states. Dragging an item to a different column updates both the State and Reason fields.

Screenshot that shows tracking progress on the board in the web portal.

You can customize the board to add more swim lanes or columns.

Map requirements to features

When you manage multiple products or user experiences, define features and map requirements to those features to view scope and progress across the portfolio.

Use portfolio backlogs to drill down between backlog levels and to roll up work in progress across teams. You can also view rollups after you set up a hierarchy of teams.

The feature work item contains fields similar to requirements plus other fields described in its reference.

Define tasks

When your team delivers work in sprints, break requirements into tasks from the sprint backlog page and estimate the effort.

Screenshot that shows the Add task link on a sprint backlog page in the web portal

Name the task and estimate the work.

Screenshot that shows the CMMI Task work item form

When teams estimate work, they define tasks and estimate hours or days to complete them. Teams forecast capacity and refine tasks at the start of an iteration; each team member then performs a subset of tasks. Tasks can include development, testing, and other activities. For example, a developer creates tasks to implement a requirement while a tester creates tasks to write and run test cases. By linking tasks to requirements and bugs, teams clearly see implementation progress. For more information, see Iteration activities.

Field

Usage

Select the task type from:

  • Corrective Action
  • Mitigation Action
  • Planned

Choose the discipline this task represents when you estimate sprint capacity by activity:

  • Analysis
  • Development
  • Test
  • User Education
  • User Experience

This field also helps calculate capacity by discipline. It's assigned to type="Activity" in the ProcessConfiguration file. For more information, see Implement development tasks.

Enter the original estimate for the task.

Update Remaining Work as the team progresses. This value feeds capacity charts, the sprint burndown chart, and related reports. If you break a task into subtasks, track hours on the subtasks only.

Record the work already spent implementing the task.

Track test progress

Test requirements

From the web portal or Test Manager, create test cases that automatically link to a requirement or bug, or add a link from the (links tab).

Screenshot that shows selecting the test suite and adding a test case.

The test case contains many fields, including fields that integrate with the build and test process. See Query based on build and test integration fields for details.

Screenshot that shows the Test case work item form in the web portal.

The (links tab) lists all requirements and bugs referenced by a test case. Linking helps teams track test progress and supports reports such as the Requirements Overview Report.

Track code defects

Create bugs from the web portal, Visual Studio, or Test Manager (see Manage bugs).

Track change requests, risks, issues, and notes captured in review meetings

In addition to requirements, features, tasks, and bugs, the CMMI process recommends these WITs:

  • Change request to manage proposed changes to work products under change control.
  • Issue to track events or situations that might block work. Issues differ from risks because teams typically identify issues spontaneously during daily meetings.
  • Risk to track probability and variance between actual and desired outcomes. When you manage risks, you minimize the variance between expected and actual outcomes.
  • Review to document how a design or code review meets standards such as name correctness, code relevance, extensibility, complexity, and security.

You can add an issue using the New work item widget on a team dashboard or from the New menu on the Queries page.

Screenshot that shows adding a work item from a New work item widget.

Work items added from the widget automatically scope to your team's default area and iteration paths. To change the team context, see Switch team context.

Definitions for common work tracking fields

The following fields and tabs appear in most work items. Each tab is used to track specific information. Commonly used tabs include History, Links, and Attachments.

The only required field for all work item types is Title. When you save a work item, the system assigns a unique identifier, ID. The form highlights required fields in yellow. For information about other fields, see Work item field index.

Note

Other fields might be required depending on customizations made to your process and project.

Field or Tab

Usage


Enter a description of 255 characters or less. You can modify the Title later.

Assign the work item to the team member responsible for performing the work, or leave blank and complete the assignment later.

When you first create a work item, the State field automatically shows the first state in the workflow, such as New or Unassigned. As work progresses, update the State to reflect the current status of the work item.

When you first create a work item, set the default Reason value, such as Created or New work item. As the State changes for the work item, update the Reason value accordingly. Each State for the work item is associated with a default Reason value.

Choose the area path associated with the product or team, or leave blank and enter an appropriate value later. You can change the dropdown list of available areas. For more information, see Define area paths and assign to a team.

Choose the sprint or iteration in which to complete the work item, or leave blank and assign the value later. You can change the dropdown list of iterations. For more information, see Define iteration paths (sprints) and configure team iterations.

History tab

View the work item History to see all changes made to the item, as captured by the system. Each time a work item is updated, the details are appended to the history. You see the change date, the change author, and the list of updated fields. You can also add formatted text to the History field.

Links tab

Add Links to create connections with other work items. Many kinds of links are supported, such as hyperlinks, changesets, source files, and more. Specify the relationship of the linked item to the work item, such as Parent, Found in Build, or Test Result.

Use Attachments to include supporting information about the work item with the item. Attach email threads, documents, images, log files, or other file types.

Customize work item types

For most work item types, you can add fields, change the workflow, add custom rules, and add custom pages to the work item form. You can also add custom work item types. For more information, see Customize an inheritance process.

For most work item types, you can add fields, change the workflow, add custom rules, and add custom pages to the work item form. You can also add custom work item types. For more information, see Customize an inheritance process or Customize the On-premises XML process model depending on the process model used by your project.

Backlog list order

Use the Stack Rank field to track the relative ranking of requirements, features, or epics. The backlog page determines sequence based on where you add or move items on the page (see Create your backlog). As you drag items, a background process updates the Stack Rank field. This field doesn't appear on the work item form by default.