To find stuck work items in Azure DevOps, compare how long each in-progress item has been in flow with how long this team's finished items usually take, and start with anything past the team's 85th percentile. A board or query cannot make that comparison for you, but an aging chart can.
What a board or query can tell you
A query or the board gives you two useful facts about an item: its current State and when it last changed. You can build a query such as "State = Active and Changed Date older than 10 days", and it will return a list. That list misses stuck work in three common ways.
- Changed Date moves on any edit. A comment, a tag or a reassignment resets it. An item with no progress for three weeks looks fresh because someone wrote "still looking at this" yesterday.
- State Change Date only measures the current state. An item that went Active, then In Review, then back to Active looks two days old, even if it started a month ago.
- The threshold is a guess. For one team, 10 days is normal. For another, anything past 4 days is already unusual.
Stuck means older than usual for this team
A useful definition of stuck is an item that has been in flow longer than most of this team's finished items took. That comes from the team's own history, not from a fixed number of days, so you do not have to keep revising a threshold as the process changes.
- p50: half of the finished items took this many days or fewer. An item past p50 is now slower than a typical item.
- p85: 85% of finished items took this many days or fewer. An item past p85 is in the slowest part of the team's history.
Step by step with Aging & Blocked
Agile Analytics is an extension for Azure DevOps Services (cloud). It reads your work items in the browser with your existing session, with no Power BI, Analytics views or personal access token.
- Check your workflow mapping. Days in flow depend on which states count as in progress, so an admin should confirm them under Tools, Configuration, Workflow Mapping.
- Open Agile Analytics under Boards, then Aging & Blocked in the Health group, and pick a team.
- Read the chart. Each dot is one in-flight item at its days in flow, which counts every day in a workflow stage since it left New, not only the current stage. The p50 and p85 lines come from the team's history, and state lanes follow the order of the team's board.
- Look above the p85 line first. A ring on a dot marks a blocked item, and a click opens the item in Azure DevOps.
- Work down the list. It is ranked by urgency, so it gives you an order for the conversation instead of a pile of old cards.
- Looking across teams? Multi-Team Aging ranks aging risk across teams, and can include teams from other projects in the same organisation.
Get a nudge instead of remembering to look
Under Tools, Configuration, Notifications, the Stale In-Progress Items trigger can post to Microsoft Teams or Slack when items have been in progress for 5 or more days without a state change. It is a fixed rule, not tied to your team's p85, and it fires when someone opens the extension, at most once per browser session. Treat it as a prompt to open the chart, not a replacement for it.
What to do with an item past p85
Treat it as a question for the team, not a mark against a person.
- What is the next concrete step, and who is doing it today?
- Is it waiting on someone? Who will chase that, and by when?
- Is it too big? Can part of it ship now and the rest become a new item?
- Should two people finish it together instead of starting something new?
- Is it still worth doing? Removing it on purpose beats leaving it to age.
Related: The full standup routine with an aging chart · Setting a service level expectation
Try it
The 30-day free trial starts on install with no credit card, and everyone in the organisation has full access while it runs.
Related: Azure DevOps flow metrics and work item aging · Install instructions