
How to Track Blocked Work Items and SLA Breaches in Azure DevOps
A practical guide to tracking blocked work items and response expectations in Azure DevOps so blockers are owned, escalated, and resolved before delivery slips.
Learn how to measure Azure DevOps cycle time per workflow state, identify bottlenecks with cumulative flow, and find where delivery work actually waits.

Your team's cycle time went up. The number on the dashboard tells you that work is slower. It doesn't tell you where. Is it code review? QA? Waiting for a product decision?
That's the gap this article covers: how to go from one overall cycle time number to a view of where work actually waits, using what Azure DevOps gives you out of the box, and where its built-in tools stop.
At Catch Up AI, the useful question is not only whether cycle time rose, but which workflow state created the delay.
Azure DevOps defines two related metrics:
If an item is reopened, cycle time runs from the first time it entered In Progress (or Resolved) to the final time it reached Completed. That means rework is included, which is what you want.
Both metrics depend on state categories. Every workflow state in your process belongs to a category such as Proposed, In Progress, Resolved or Completed. Cycle time only works as well as that mapping does. If a custom state like "Ready for Release" sits in the wrong category, your numbers will be wrong without any warning.
On any dashboard, add the Cycle Time widget from the Analytics widgets. Choose the team, the work item types (usually your backlog items and bugs), and a time period.
You'll get a control chart: each dot is a completed work item, plotted by how long it took. Look for:
This tells you how long work takes end to end. It doesn't tell you which stage is slow.
The Cumulative Flow Diagram (CFD) widget shows how many items sit in each board column over time. Two things to look at:
The CFD is the closest thing Azure DevOps has to "cycle time per state." It's good for spotting a trend. It's harder to get a precise number from it, like "items spend a median of 2.1 days in Code review."

Trends show you the past. To act this week, you need the items currently sitting in the slow state. Create a query:
| Field | Operator | Value |
|---|---|---|
| Work Item Type | In | Product Backlog Item, User Story, Bug |
| State | = | your slow state, e.g. Code review |
| State Change Date | <= | @Today - 5 |
Sort by State Change Date, oldest first. The top of this list is where to start your next standup.
Adjust the number of days to your team's normal pace. If items usually clear review in a day, five days is a real warning.
Between the Cycle Time widget, the CFD and a query, you can piece together a picture. What's hard to get natively:
Azure DevOps Insights is a free Azure DevOps extension that includes a Flow view for any workflow state. Pick a state, and you see:
It reads your data live from Azure DevOps when you open the view. Nothing is copied or stored outside your organization, and there's no setup.
Continue reading more insights from CatchUp AI