Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.

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.
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.
User Acceptance Test (Required)
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.
The rich text editor toolbar appears under the text entry area when you place your cursor in any text box that supports text formatting.
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 !.
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:
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.
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.
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.
CMMI workflow states
The following diagrams show the main progression and regression states for the Requirement, Bug, and Task WITs.
| Requirement | Bug | Task |
|---|---|---|
![]() |
![]() |
![]() |
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.
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.
Name the task and estimate the work.

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

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

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.
Attachments tab
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.
Related content
- Create a project
- Add work items and manage a project
- Create a backlog
- Manage access to specific features
- Learn about default permissions and access levels for Azure Boards
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.


