Edit

Agile workflow in Azure Boards

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

In Azure Boards, the Agile process uses work item types (WITs) to help your team plan, prioritize, and track progress. The Agile process includes epics, features, user stories, tasks, issues, and bugs. After you define your WITs, you can track progress by updating work item states.

Conceptual image of the Agile process in Azure Boards where you can use work item types to plan and track work.

To gain visibility into a portfolio of features, scenarios, and user experiences, product owners and program managers map user stories to features. Teams working in sprints then define tasks that link to those user stories. If you're new to the Agile process, see Plan and track work with Agile.

This article shows you how to:

  • Define and prioritize user stories.
  • Track workflow state as work moves from new to done.
  • Break stories into sprint tasks and estimate remaining work.
  • Link test cases and bugs to track quality and defects.

In Azure DevOps Services, testers create and run test cases in the web portal. In Azure DevOps Server, testers can also use Microsoft Test Manager to track code defects and blocking problems.

Define user stories

Product owners typically define and stack-rank user stories that describe application requirements and work elements. The team then estimates the effort required to deliver the highest-priority items.

Create user stories from the quick add panel on the Product Backlog page. You can also drag and drop items on the page, reorder them, and map items to features.

Screenshot of User Story work item form.

Open each user story to add details and estimate story points. Define Story Points so your team can use the forecast feature and velocity charts to estimate future sprints and work effort. By prioritizing user stories on the backlog page (captured in the Stack Rank field), product owners indicate which items have higher priority.

Use the guidance in the following table and the common fields used across work item types when you complete the form.

Field

Usage


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

Provide the criteria to be met before the bug or user story can be closed. Before work begins, describe the customer acceptance criteria as clearly as possible. Conversations between the team and customers to define the acceptance criteria help ensure your team understands your customers' expectations. You can use the acceptance criteria as the basis for acceptance tests to more effectively evaluate whether an item is satisfactorily completed.

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 solutions.
  • Business: (Default) Services that fulfill customer or stakeholder needs and directly deliver customer value to support the business.

Estimate the amount of work required to complete a user story by using any numeric unit of measurement your team prefers. Agile velocity charts and forecast tools reference the values in this field. For more information, see the Estimating white paper.

A subjective rating of the user story, feature, or requirement as it relates to the business. Allowed values are:

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

A subjective rating of the relative uncertainty of the successful completion of a user story. Allowed values are:

  • 1 - High
  • 2 - Medium
  • 3 - Low

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 progress

As work progresses, update the State field to reflect status. You can optionally specify a reason. The State and Reason fields appear in the header area of the work item form:

Screenshot of Bug work item form, header area, showing the State and Reason fields.

Agile workflow states

As teams update workflow states, they can identify which items are new, in progress, or completed. Most WITs support forward and backward transitions between states. The following diagrams show the main progression and regression states for user story, bug, and task WITs.

Conceptual image of User Story workflow states, Agile process.

Conceptual image of Bug workflow states, Agile process.

Conceptual image of Task workflow states, Agile process.

Here's the typical workflow progression for a user story:

  1. The product owner creates a user story in the New state with the default reason, New user story.
  2. The team updates the story status to Active when they decide to complete the work during the sprint.
  3. The story moves to the Resolved state when the team completes all associated tasks and the unit tests pass.
  4. The story moves to the Closed state when the product owner agrees the story is implemented according to the Acceptance Criteria and acceptance tests pass.

Update status with the board or taskboard

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

Screenshot of Track progress on the board.

You can customize the board to support more swimlanes or columns. For more information, see Customize your work tracking experience.

Map user stories to features

When you manage a suite of products or user experiences, you might need to review work scope and progress across the portfolio. Use features and mapping from user stories to features to track that rollup.

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

Define tasks

When your team manages work in sprints, use the sprint backlog page to break down planned work into distinct tasks.

Screenshot of Sprint backlog, add task.

Enter the task name and estimate the effort in the Effort field:

Screenshot of Agile task work item form.

When you use the Agile process, teams forecast work and define tasks at the start of each sprint. Each team member then completes a subset of those tasks. Tasks can include development, testing, and other work. For example, a developer might define tasks to implement user stories, and a tester might define tasks to write and run test cases.

When teams estimate work according to the number of hours or days, they define tasks and the Remaining Work and Activity (optional) fields.

Field

Usage


The amount of estimated work required to complete a task. Typically, the field value doesn't change after you enter the initial value. You can specify work in number of hours or days. There are no inherent time units associated with this field.

The amount of work remaining to complete a task. As work progresses, update this field. 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. This field is used to calculate the following charts and SQL Server reports:

The amount of work spent implementing a task.

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

The product build number that incorporates the code or fixes a bug.

Track test progress

Track testing progress by using user stories and bugs for code defects. For guidance on tracking other issue types, see Track other issues.

Test user stories

In Azure DevOps Services, you can create test cases that automatically link to a user story or bug in the web portal. In Azure DevOps Server, you can also use Microsoft Test Manager. You can also link a user story to a test case from the Links tab.

Screenshot of Test plan web portal.

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

Screenshot of test case form.

The Links tab captures links to user stories and bugs in a test case. By linking user stories and bugs to test cases, the team can track testing progress for each item. These links also support information shown in the SQL Server Stories Overview report.

Track code defects

To track testing for code defects, create bugs from the web portal, Visual Studio, or Microsoft Test Manager.

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.

Track other issues

Use issues to track events that might block progress or prevent shipping a user story. Use bugs to track code defects. Add an issue by using the New work item widget on a team dashboard, or from the New menu on the Queries page.

Screenshot of 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 team context, see Switch team context.

Track business value

Use the Priority field to differentiate the value of stories. You can also add a custom field to the User Story WIT to track relative story value. For more information, see Customize a field for a process.

Backlog list order

The Stack Rank field tracks the relative ranking of user stories. By default, the work item form doesn't show this field. The sequence of items on the backlog page is determined by where you add or move the items on the page. As you drag items, a background process updates the Stack Rank field.

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 your project uses.