When I was a kid, we liked to play with two way radios. I’d say something and end it with “over”. Then my friend would say something and again “over”. The word “over” had no actual meaning to us, except to indicate that we’d finished speaking.
That’s what I think of when I’m in a daily standup and someone says “no blockers”. Here are some words and then “no blockers”, I’ve finished speaking.
It’s become a meaningless phrase for most of the people who are using it. They’re not thinking about whether they really are blocked, they’re just indicating that they’ve stopped talking: “No blockers”.
So how could we actually get them thinking again?
We could ask…
- “If there are no blockers, why isn’t the work done yet?”
- “If there are no blockers, why are there two tickets with your name on them?”
- “If there are no blockers, why wasn’t there an update to this ticket today?”
Almost certainly you’ll get a list of reasons that is mostly made up of real blockers that the team doesn’t think of as being blockers.
- Being in meetings all day is indeed a blocker.
- The fact you started a second ticket because you’re waiting for someone else is a blocker.
- Your build pipeline or development environment being slow is a blocker.
- A lengthy test process is a blocker.
- Dependencies on other groups are blockers.
- Not having all the right people in the conversation is a blocker.
- Having lots of technical debt in the code is a blocker.
Anything that slows you down from delivering is a blocker. If we want to fix them, we need to talk about them. Mindlessly saying “no blockers” isn’t helping.