7 min read • Guide 206 of 877
Managing Blocked Tasks Effectively
Blocked tasks are invisible productivity killers. A developer stuck waiting is still costing time while producing nothing. Effective blocker management means fast detection, clear communication, and rapid resolution through proper escalation.
Blocker Types
| Blocker Type | Example | Resolution Path |
|---|---|---|
| Information | Need requirements clarification | Ask PO/stakeholder |
| Technical | Need API from other team | Cross-team coordination |
| Access | Need database permissions | IT/DevOps request |
| Approval | Need design sign-off | Escalate to approver |
| Dependency | Waiting on prerequisite task | Prioritize dependency |
Detection and Flagging
Immediate Flagging
BLOCKER DETECTION AND FLAGGING
══════════════════════════════
WHEN TO FLAG:
─────────────────────────────────────
Flag immediately when:
├── Cannot proceed without X
├── Waiting on someone/something
├── Expected to wait > 2 hours
└── No workaround available
DON'T WAIT:
├── "Maybe they'll respond soon"
├── "I'll mention it at standup"
├── "I'll figure it out myself" (if you can't)
└── Visibility enables help
GITSCRUM BLOCKER WORKFLOW:
─────────────────────────────────────
1. Add "blocked" label to task
2. Add comment explaining blocker:
🔴 BLOCKED: Need API credentials from vendor
Details:
├── Contacted: vendor@example.com
├── Waiting since: Jan 15, 10am
├── Needed by: Jan 17
└── Impact: Cannot proceed with integration
@emma (PM) - can you escalate?
3. Move to "Blocked" column (if using)
4. Mention who can help
5. Check for alternative work
NOTIFICATION:
├── Team sees in standup
├── Blocker dashboard updated
├── Slack notification sent
└── PM alerted for escalation
Blocker Dashboard
BLOCKER VISIBILITY DASHBOARD
════════════════════════════
CURRENT BLOCKERS:
┌─────────────────────────────────────────────────────────┐
│ Blocked Tasks (3) │
├─────────────────────────────────────────────────────────┤
│ │
│ 🔴 GS-456: Payment Integration │
│ Blocked: 2 days │
│ Reason: Waiting for vendor API credentials │
│ Owner: Sarah │
│ Resolver: Emma (following up with vendor) │
│ ETA: Tomorrow │
│ │
│ 🔴 GS-489: Database Migration │
│ Blocked: 4 hours │
│ Reason: Need DBA approval for schema change │
│ Owner: Mike │
│ Resolver: Mike (meeting scheduled 2pm) │
│ ETA: Today │
│ │
│ 🔴 GS-501: Design Implementation │
│ Blocked: 1 day │
│ Reason: Waiting for design assets │
│ Owner: Alex │
│ Resolver: Jordan (design team) │
│ ETA: Today │
│ │
└─────────────────────────────────────────────────────────┘
VISIBLE TO:
├── Team (at standup)
├── PM (for escalation)
├── Manager (if prolonged)
└── Stakeholders (if sprint impacted)
Resolution Process
Escalation Path
BLOCKER ESCALATION LADDER
═════════════════════════
LEVEL 1: Self-resolve (0-2 hours)
─────────────────────────────────────
├── Direct contact with blocker owner
├── Slack message/mention
├── Document attempt
└── If no response → escalate
LEVEL 2: Team help (2-4 hours)
─────────────────────────────────────
├── Raise in standup
├── PM awareness
├── Alternative assignee?
└── If unresolved → escalate
LEVEL 3: PM escalation (4-8 hours)
─────────────────────────────────────
├── PM contacts blocker's manager
├── Priority negotiation
├── Deadline pressure
└── If unresolved → escalate
LEVEL 4: Manager escalation (8-24 hours)
─────────────────────────────────────
├── Engineering manager involved
├── Cross-team manager discussion
├── Resource reallocation
└── If unresolved → executive
LEVEL 5: Executive (24+ hours)
─────────────────────────────────────
├── Director/VP awareness
├── Business priority discussion
├── Organizational blocker
└── Usually not needed
TIMELINE IS GUIDELINE:
├── Adjust based on impact
├── Critical path → faster escalation
├── Low impact → more patience
└── Document all attempts
Resolution Documentation
DOCUMENTING BLOCKER RESOLUTION
══════════════════════════════
WHEN RESOLVED, UPDATE TASK:
─────────────────────────────────────
🟢 UNBLOCKED
Resolution:
├── Blocked duration: 2 days
├── Resolved by: Emma (escalated to vendor)
├── Solution: Received API credentials
├── Date: Jan 17, 2:30pm
Lessons learned:
├── Vendor SLA is 48 hours, not 24
├── Need to request earlier next time
├── Added to checklist for integrations
Work resumed: Jan 17, 3pm
─────────────────────────────────────
REMOVE LABEL:
├── Remove "blocked" label
├── Move from Blocked column
├── Resume work immediately
└── Update ETA if needed
Alternative Strategies
While Blocked
PRODUCTIVE WHILE BLOCKED
════════════════════════
DON'T JUST WAIT:
─────────────────────────────────────
When blocked on GS-456, consider:
1. WORK ON SOMETHING ELSE
├── Pull next priority task
├── Lower priority but ready
└── Technical debt items
2. PARALLEL WORK
├── Write tests for unblocked parts
├── Documentation for completed work
├── Code review for teammates
└── Prep work for blocked task
3. UNBLOCK OTHERS
├── Review their PRs
├── Answer their questions
├── Pair on their problems
└── Pay it forward
4. LEARNING
├── Relevant training
├── Tech spike for upcoming work
├── Team knowledge base contribution
└── Productive use of time
COMMUNICATE:
├── Update task status
├── Let team know what you're doing
├── Available when unblocked
└── Maintain visibility
Workarounds
WORKAROUND STRATEGIES
═════════════════════
MOCK THE DEPENDENCY:
─────────────────────────────────────
Blocked on: API from Team B
Workaround:
├── Create mock/stub of expected API
├── Code against interface
├── Test with mock
├── Swap when real API ready
Result:
├── Progress continues
├── Interface defined
├── Integration faster
└── Time not wasted
PARTIAL COMPLETION:
─────────────────────────────────────
Blocked on: Design for mobile
Workaround:
├── Complete desktop implementation
├── Prep mobile structure
├── Ship desktop first
├── Mobile as follow-up
Result:
├── Some value delivered
├── Reduced scope of block
├── Faster overall
└── Stakeholder happy (partial)
ESCALATE SCOPE CHANGE:
─────────────────────────────────────
Blocked on: Third-party system down
Workaround proposal:
├── Remove dependent feature from sprint
├── Deliver other committed items
├── Address in next sprint
├── Or: Cut scope, ship core
Requires: Stakeholder approval
Prevention
Proactive Dependency Management
PREVENTING BLOCKERS
═══════════════════
IN PLANNING:
─────────────────────────────────────
For each task, ask:
├── Dependencies on other tasks?
├── Dependencies on other teams?
├── Need approvals? From whom?
├── Need access/permissions?
├── Need external resources?
└── Prerequisites complete?
FLAG RISKS EARLY:
├── "This needs design first"
├── "This requires DevOps setup"
├── "This depends on vendor"
└── Track as dependency
PRE-WORK:
─────────────────────────────────────
Before starting task:
├── All prerequisites complete?
├── All inputs available?
├── All approvals obtained?
├── All access granted?
└── Ready to start = truly ready
DEFINITION OF READY:
├── Requirements clear
├── Dependencies resolved
├── Access available
├── Design approved
└── No known blockers
GitScrum Configuration
Blocked Task Workflow
GITSCRUM BLOCKED CONFIGURATION
══════════════════════════════
BOARD SETUP:
─────────────────────────────────────
Option A: Blocked column
┌─────────────────────────────────────────────────────────┐
│ Ready │ In Progress │ Blocked │ Review │ Done │
├─────────────────────────────────────────────────────────┤
│ │ │ [456] │ │ │
│ │ │ [489] │ │ │
└─────────────────────────────────────────────────────────┘
Option B: Blocked label (visual indicator)
[GS-456] 🔴 blocked
BOTH VALID, choose based on preference
AUTOMATION:
─────────────────────────────────────
Settings → Automation → When blocked:
├── Notify assigned PM
├── Post to #blockers Slack channel
├── Add to blocked report
├── Escalation reminder at 24 hours
└── Daily blocked summary
ALERTS:
├── Blocker > 4 hours → Slack team
├── Blocker > 24 hours → Escalate PM
├── Blocker > 48 hours → Escalate manager
└── Configurable per team
Best Practices
For Blocked Tasks
- Flag immediately — Visibility enables help
- Document clearly — What, why, who can help
- Escalate timely — Don't wait too long
- Work alternatives — Don't waste time waiting
- Prevent in planning — Identify dependencies early
Anti-Patterns
BLOCKER HANDLING MISTAKES:
✗ Waiting silently
✗ "I'll mention it at standup" (too late)
✗ No documentation of blocker
✗ No escalation path
✗ Working on blocked task anyway
✗ Not following up on resolution
✗ Same blockers recurring
✗ No prevention in planning