Blocker

Concept

A single piece of work that can't move forward because of something the team can't resolve on its own, like another team's answer or an outside approval.

Why it exists

For years the standard answer to "how's it going?" was "in progress." The trouble is that one phrase covers two completely different situations. Work someone is actively touching and work that has stopped dead because nobody can touch it both get described the same way. The person receiving the update has no way to tell them apart, so the fact that an item has been sitting in the same place for two weeks tends to surface only after the deadline has passed.

Stopped work is also quiet, which makes it worse. Work that is moving produces things — a pull request, a design file, a question — and those artifacts function as news. Work that is stopped produces nothing, so it sends no signal at all. The person waiting rarely volunteers that they're waiting, and if nobody asks, weeks go by.

Pagedeck lost an item exactly this way. The payment provider changed its response format, the integration work stopped, and Theo answered "in progress" in the morning meeting every day. What was actually happening was that he had emailed the provider on day one and then waited ten days. When this came out a week before launch, something else came out with it: in those ten days nobody had contacted the provider a second time.

How it works

The whole mechanism is a mark you attach to a stopped card so it reads differently from the cards around it. The important part is that it is a flag on the card, not a column the card moves into. It can sit on a card in the development column or the review column, and the moment it appears, that card joins a list somebody reads out loud every day. There are four steps.

  1. Check first whether the reason sits outside the team. Work that is slow because it's hard does not qualify. The flag is for cases where there is a specific thing being waited on — a vendor's reply, a legal review, another team's deployment, a document the customer still owes you.
  2. Put the mark on the card and write one line naming what is being waited on and from whom. A kanban board, the wall of columns where each piece of work is one card in a status column, usually shows this as a red tag or a separate lane. "Waiting on provider reply · Theo · since Sept 4" is enough.
  3. Record the date it stopped. That date is what lets you count blocked time later. One card stuck for four days is ordinary; ten of last quarter's thirty cards stuck for an average of six days is not a personal problem but a sign that the path itself needs fixing.
  4. Chase it once a day. Without a named chaser, the flag stays on the card and everyone forgets about it. If it isn't cleared within an agreed window, it goes to escalation — the procedure for handing an unresolved problem up to someone with more authority. Teams usually fix the trigger as a number in advance: three days blocked, escalate, no discussion required.

Where it shows up

The place it comes up most is the daily scrum, the short daily meeting where a team shares where each person stands. The format has settled into three questions, and one of them is about what's blocked. That question is arguably the reason the meeting exists. Yesterday's work and today's plan are both visible on the board; a blocker is visible only if the person says it out loud.

On the board itself, blockers get read alongside the WIP limit — the cap on how many cards may sit in one column at the same time. Teams split on whether a blocked card counts against that cap. If it counts, the stalled card occupies a slot and prevents new work from starting, which pushes people toward clearing it. If it doesn't count, nobody is left idle, but blocked cards can pile up indefinitely without creating any pressure. Most teams include them and then fix the paths that block repeatedly.

Blockers also matter when reading flow numbers. Lead time measures from the moment a request arrives until it's finished; cycle time measures from the moment someone actually starts. The gap between the two is waiting. Logging blocked periods narrows that gap down further, from "we waited" to which specific party was being waited on and for how long.

How it sounds at work

"I'm flagging this one as blocked. Nothing moves until the provider answers."

It stopped for a reason outside my hands, so don't count it as work in progress.

"Two blockers are past three days. I'm taking them to Grace today."

The agreed window has passed, so it's going up to someone with more authority.

"That's not a blocker, it's just slow. Drop the flag and put an estimate on it."

There's nothing specific being waited on, so it needs to be handled a different way.

After the payment integration slipped, Pagedeck added one more lane to the board. Blocked cards get pulled up to a single row across the top, and any card in that row has to carry the date it stopped and the name of the person chasing it. The morning meeting now starts by reading that row.

The payoff didn't come from meeting time — it came from second contacts. People used to send an email and wait for a reply. Now their name gets read out on the second morning, so they pick up the phone instead. Average wait on provider replies dropped from six days to two. Nothing got faster on the provider's side; the team simply started chasing more often.

What people get wrong

The most common mistake is holding a blocker back because saying it out loud sounds like an excuse. It's a report of no progress, which feels like admitting you didn't do your part. In practice it reads the other way around. Raise a blocker after two days and the team still has several options; raise it after two weeks and the only remaining option is moving the deadline. The later it's said, the more it becomes one person's fault — the earlier it's said, the more it's simply the team's problem to solve.

The other common response is to start something else instead. Nobody is idle, so it looks sensible. What it actually does is raise the number of things everyone is holding at once while leaving the blocked card exactly where it was. Someone juggling five open items pays a real cost in re-entry time when one of them finally clears. The first move isn't opening a new card — it's helping clear the stuck one, or, failing that, chasing the other party one more time.

Easily confused with

TermWhat it refers toHow it differs
BottleneckThe slowest stage, which sets the pace of the whole flowA problem with a stage, persisting across many cards. You fix it by adding capacity there or lowering the limit on the column feeding it, while a blocker is a single card you flag and chase

Where to go next

  • Kanban

    see the board this flag lives on

  • Bottleneck

    what to look at when a stage is stuck rather than a card

  • Escalation

    where a blocker goes when chasing isn't clearing it

Last updated 2026-09-16