CMMI process work item types and workflow in Azure Boards

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018 - TFS 2013

Teams use the work item types (WITs) provided with the MSF for CMMI Process Improvement 2015 (CMMI) process to plan and track progress of software projects. Teams define requirements to manage the backlog of work and then, using the Kanban board, track progress by updating the status of requirements.

CMMI process work item types, conceptual image

To gain insight into a portfolio of requirements, product owners can map requirements to features. When teams work in iterations, they define tasks that automatically link to requirements.

Using Microsoft Test Manager and the web portal, testers create and run test cases and define bugs to track code defects.

To support other CMMI processes, teams can track change requests, risks, issues, and notes captured in review meetings. If you're new to the CMMI process, review the section Plan and track work with CMMI to get started.

Note

Work item tracking forms and features available to you differ depending on whether you open the form from the web portal or Visual Studio Team Explorer. Forms and guidance provided in this article reflect those available with the new form experience (Azure DevOps Services and TFS 2017 and later versions).

For guidance on the work item form for TFS 2015 or earlier versions or Visual Studio Team Explorer, see Add work items and select the earlier TFS version from the content version selector (above the table of contents).

Define requirements

Create requirements from the quick add panel on the product backlog page.

CMMI process, Quick add panel on the requirements backlog page

Later, you can open each requirement to provide more details and estimate its size.

Requirement work item form

Instead, you can bulk add requirements using Excel or Project.

Important

Microsoft Project Integration and the TFSFieldMapping command are not supported for:

  • Visual Studio 2019 and Azure DevOps Office® Integration 2019
  • Azure DevOps Server 2019 and later versions, including Azure DevOps Services.

However, full support for Microsoft Excel integration is maintained and supports bulk import and update of work items. Alternatives to using Microsoft Project include the following:

Requirements specify the functions and product elements that teams need to create. Product owners typically define and stack rank requirements on the product backlog page. The team then scopes the size of the effort to deliver the highest priority items.

Use the following guidance and that provided for fields used in common across work item types when filling out the form. For more information, see Plan a project.

Field

Usage

Provide enough detail for estimating how much work will be required to implement the requirement. Focus on who the requirement is for, what users want to accomplish, and why. Don't describe how the requirement should be developed. Do provide sufficient details so that your team can write tasks and test cases to implement the item.

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

The customer impact of not implementing this requirement. You might include details from the Kano model about whether this requirement is in the surprise, required, or obvious categories. You capture this information in the rich-text HTML field that corresponds to Impact Assessment.

Requirement Type (Required)

The kind of requirement to implement. You can specify one of the following values:

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

The area of customer value addressed by the epic, feature, requirement, or backlog item. Values include:

  • Architectural: Technical services to implement business features that deliver solution
  • Business: Services that fulfill customers or stakeholder needs that directly deliver customer value to support the business (Default)

Estimate the amount of work required to complete a requirement using any numeric unit of measurement your team prefers. By defining the Size for requirements, teams can use the Agile velocity charts and forecast tools to estimate future iterations or work efforts. The Kanban Cumulative Flow Diagram references the values in this field. For more information, see the Estimating white paper.

The amount of estimated work required to complete a task. Typically, this field doesn't change after it's assigned.

You can specify work in hours or in days. There are no inherent time units associated with this field.

The target dates for when the work will start or finish.

Priority (Required)

A subjective rating of the requirement as it relates to the business. Allowed values are:

  • 1: Product can't ship without the item.
  • 2: (default) Product can't ship without the item, but it doesn't have to be addressed immediately.
  • 3: Implementation of the item is optional based on resources, time, and risk.

Triage (Required)

Indicates the type of triage decision that is pending for the work item. Use this field when the work item is in the Proposed state and specify one of the following values: Pending (default), More Info, Info Received, and Triaged.

Indicates whether a team member is prevented from making progress toward implementing a requirement or task or resolving a bug, change request, or risk. If an issue has been opened to track a blocking problem, you can create a link to the issue. You can specify Yes of No.

Committed (Required)

Indicates whether the requirement is committed in the project or not. You can specify Yes or No (default).

Product build number that incorporates the requirement, change request, or fixes a bug.

The status of the user acceptance test for a requirement. You can specify one of the following values:

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

You specify Not Ready when the requirement is in the Active state, and you specify Ready when the requirement is in the Resolved state.

The names of team members who are familiar with the customer area that this requirement represents.

Capture comments in the Discussion section

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

Discussion section within a work item form

Use the @mention control to notify another team member about the discussion. Simply type @ and their name. To reference a work item, use the #ID control. Type # and a list of work items that you've recently referenced will appear from which you can select.

To reference a work item, use the #ID control. Type # and a list of work items that you've recently referenced will appear from which you can select.

You can't edit or delete comments once you've entered them.

Important

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

Track work progress

As work progresses, you change the State field to update the status. Optionally, you can specify a reason. The state and reason fields appear on the work item form in the header area.

Bug work item form, header area

CMMI workflow states

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

Requirement Bug Task
Requirement workflow states, CMMI process Bug workflow states, CMMI process Task workflow states, CMMI process

The typical workflow progression for a requirement is:

  • The product owner creates a requirement in the Proposed state with the default reason, New requirement.
  • The product owner updates the status to Active when they begin work to implement it.
  • The team updates the status to Resolved when code development is finished and system tests have passed.
  • Lastly, the team or product owner moves the requirement to Closed when the product owner agrees that it has been implemented according to the Acceptance Criteria and passed all validation tests.

Update work status with Kanban or taskboards

Teams can use the Kanban board to update the status of requirements, and the sprint taskboard to update the status of tasks. Dragging items to a new state column updates both the State and Reason fields.

Web portal, Track progress on the Kanban board

You can customize the Kanban board to support more swim lanes or columns. For more customization options, see Customize your work tracking experience.

Map requirements to features

When you manage a suite of products or user experiences, you might want to view the scope and progress of work across the product portfolio. You can do view scope by defining features and mapping requirements to features.

Using portfolio backlogs, you can drill down from one backlog to another to view the level of detail you want. Also, you can use portfolio backlogs to view a rollup of work in progress across several teams when you setup a hierarchy of teams.

The feature work item contains similar fields provided for requirements and includes other fields, as the following table describes.

Define tasks

When your team manages their work in sprints, they can use the sprint backlog page to break down the work to be accomplished into distinct tasks.

Web portal, Add task link on a sprint backlog page

Name the task and estimate the work it will take.

CMMI Task work item form

When teams estimate work, they define tasks and estimate the hours or days to complete tasks. Teams forecast work and define tasks at the start of an iteration, and each team member does a subset of those tasks. Tasks can include development, testing, and other kinds of work. For example, a developer can define tasks to implement requirements, and a tester can define tasks to write and run test cases. By linking tasks to requirements and bugs, they see the progress made on these items. For more information, see Iteration activities.

Field

Usage

Select the kind of task to implement from the allowed values:

  • Corrective Action

  • Mitigation Action

  • Planned

Select the discipline this task represents when your team estimates sprint capacity by activity.

  • Analysis

  • Development

  • Test

  • User Education

  • User Experience

This field is also used to calculate capacity by discipline. It's assigned to type="Activity" in the ProcessConfiguration file. (2)

For more information, see Implement development tasks.

The amount of estimated work required to complete a task. Typically, this field doesn't change after it's assigned.

The amount of work remaining to complete a task. As work progresses, update this field. It's used to calculate capacity charts, the sprint burndown chart, and the Sprint Burndown report. If you divide a task into subtasks, specify hours for the subtasks only. You can specify work in any unit of measurement your team chooses.

The amount of work that has been spent implementing a task.

Track test progress

Test requirements

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

Select the test suite and add a test case

The test case contains many fields, many of which are automated and integrated with Test Manager and the build process. For a description of each field, see Query based on build and test integration fields.

Web portal, Test case work item form

The (links tab) lists all the requirements and bugs in a test case. By using linking, the team can track the progress made in testing each item and supports information that appears in the Requirements Overview Report report.

Track code defects

You can create bugs from the web portal web portal, Visual Studio, or when testing with Test Manager.

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

Along with the requirement, feature, task, and bug WITs, you can track information recommended by the CMMI process with the following WITS.

Add work item from a New work item widget

Work items you add from the widget are automatically scoped 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, such as history, links, or attachments. These three tabs provide a history of changes, view of linked work items, and ability to view and attach files.

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

Field/tab

Usage

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

Assign the work item to the team member responsible for performing the work. Depending on the context you are working in, the drop-down menu will list only team members or contributors to the project.

When the work item is created, the State defaults to the first state in the workflow. As work progresses, update it to reflect the current state.

Use the default first. Update it when you change state. Each State is associated with a default reason.

Choose the area path associated with the product or team, or leave blank until assigned during a planning meeting.

To change the dropdown list of areas, see Add and modify area and iteration paths.

Choose the sprint or iteration in which the work is to be completed, or leave it blank and assign it later, during a planning meeting.

To change the drop-down list of iterations, see Add and modify area and iteration paths.

Review the audit trail that the system captures and capture additional information.

Every time that the work item is updated, information is appended to the history. History includes the date of the change, who made the change, and which fields were changed. You can also add formatted text to the history field.

Add all types of links, such as hyperlinks, changesets, source files, and so on.

This tab also lists all links defined for the work item.

Share more detailed information by adding files to the work item, such as email threads, documents, images, log files, or other file types.

Customize work item types

You can add fields, change the workflow, add custom rules, and add custom pages to the work item form of most work item types. You can also add custom work item types. For details, see Customize the On-premises XML process model.

Before you start tracking work, you must have a project. To create one, see Create a project.

If you have a project, start tracking work:

For more information on Agile tools:

Backlog list order

The Stack Rank field is used to track the relative ranking of requirements, features, or epics. However, by default it doesn't appear on the work item form. The sequence of items on the backlog page is determined according to where you've added the items or moved the items on the page. As you drag items, a background process updates this field.

This field doesn't appear on the work item form.