Metrics B2BMetrics PersonalBlog
The Real Cost of 'In Progress' Status
ProcessBottlenecksVisibility

The Real Cost of 'In Progress' Status

M

Maya Williams

Engineering Manager

January 22, 2025

6 min read

When a task spends 14 days 'In Progress', the tracker shows green. Your team is working. The release is on track. Until it isn't. Here's what's really happening inside that deceptively comfortable status.

The Status That Lies

"In Progress" is the most dangerous status in any task tracker.

Not because your team is lazy. Not because they're hiding problems. But because "In Progress" is a single state that maps to about a dozen different realities:

  • Actually coding, making great progress
  • Waiting for a dependency from another team
  • Blocked by a technical question that hasn't been asked yet
  • In a meeting instead of coding
  • Reviewing someone else's PR and forgot to update the ticket
  • Done, but hasn't moved to review yet
  • From the outside, all of these look identical. That's the problem.

    The Hidden Idle Time Study

    Research across engineering organizations consistently finds the same pattern: the average task in "In Progress" is actually *actively worked on* for less than 30% of its calendar time. The rest is queuing, waiting, context-switching, or simply forgotten.

    Think about what that means for a "2-week sprint task":

  • 10 business days × 8 hours = 80 hours theoretically available
  • Actual focused work time: ~24 hours
  • The rest: meetings, interruptions, waiting, queue time
  • Your burndown chart shows steady progress. Your status says green. Your release date is a guess.

    The Anatomy of a Blocked Task

    Here's what a typical high-risk "In Progress" task looks like when you look at the data underneath:

    Day 1-2: Developer picks up the ticket, starts coding. Git shows commits. Good.

    Day 3: Developer gets pulled into an incident review. No commits. Tracker: "In Progress."

    Day 4-5: Back on the ticket, hits an architectural question. Slack message sent, waiting for answer. No commits.

    Day 6: Answer received, coding resumes. But the sprint is 60% done and this "simple" task is barely started.

    Day 7-8: Feature coded, but there's a complex merge conflict. PR gets delayed.

    Day 9: PR opened. Two reviewers tagged, neither has bandwidth. PR sits.

    Day 10 (sprint end): "90% done, carries over."

    None of this was invisible. All of it was measurable in real time. The question is whether you had the tools to see it.

    Making the Invisible Visible

    The solution isn't more status meetings. It's instrumenting the actual work:

    1. Commit frequency drops — developer may be blocked or pulled away

    2. PR age — review bottleneck or missing context

    3. Task age by stage — where do tickets pile up in your workflow?

    4. Cross-team dependency tracking — what's waiting on someone outside your team?

    When you can see this in real time, you can intervene *before* the carry-over conversation, not after.

    Changing the Status Culture

    One practical change: add a "Waiting" status to your workflow. Make it socially acceptable — even encouraged — to move a ticket to "Waiting" when you're blocked.

    "In Progress" should only mean: a developer is actively working on this right now. When that stops being true, the status should change.

    Simple? Yes. But it requires a culture where flagging a block isn't admitting failure — it's sharing signal that helps the whole team move faster.