Developer Workload Management | WIP Limits
Balance developer workload with WIP limits and capacity planning. GitScrum prevents burnout while maintaining quality through sustainable pace.
7 min read
Overloaded developers make more mistakes, work slower, and burn out. Effective workload management ensures sustainable pace, consistent quality, and happier teams. It requires visibility into current work, realistic capacity planning, and the discipline to say no.
Workload Warning Signs
| Healthy | Overloaded |
|---|---|
| 1-2 tasks in progress | 4+ tasks per person |
| Consistent cycle time | Increasing cycle time |
| Low bug rate | Rising defects |
| On-time delivery | Missed deadlines |
| Team engaged | Visible stress/burnout |
Workload Visibility
Dashboard Setup
WORKLOAD VISIBILITY DASHBOARD
βββββββββββββββββββββββββββββ
TEAM WORKLOAD VIEW:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Current Sprint Workload β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β DEVELOPER WIP ASSIGNED POINTS STATUS β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β Sarah Chen 2 4 13 π’ OK β
β Mike Johnson 3 5 18 π‘ High β
β Alex Rivera 1 3 8 π’ OK β
β Emily Watson 4 6 21 π΄ Over β
β Team Average 2.5 4.5 15 π‘ Watch β
β β
β WIP LIMIT: 3 per person β
β CAPACITY: 70% allocated β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
INDIVIDUAL VIEW:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Emily Watson - Current Work β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β IN PROGRESS (4 items - OVER LIMIT): β
β βββ GS-234: Login API refactor (M) - Day 3 β
β βββ GS-256: Payment integration (L) - Day 2 β
β βββ GS-267: Bug fix: session timeout (S) - Day 1 β
β βββ GS-271: Code review: auth module - Day 1 β
β β
β QUEUED (2 items): β
β βββ GS-280: Dashboard analytics (M) β
β βββ GS-285: Email notification fix (S) β
β β
β β οΈ RECOMMENDATION: Complete 2 items before starting β
β new work. Consider reassigning GS-280. β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
WIP Limits
WIP LIMITS IMPLEMENTATION
βββββββββββββββββββββββββ
PERSONAL WIP LIMITS:
βββ Developers: 2-3 items max
βββ Seniors: 2 items (mentoring overhead)
βββ Juniors: 1-2 items (focus on learning)
βββ Leads: 1-2 items (meetings overhead)
COLUMN WIP LIMITS:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Ready β In Progress β Review β Done β
β (β) β (8 max) β (6 max) β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β [Task] β [Task] β [Task] β [Done] β
β [Task] β [Task] β [Task] β [Done] β
β [Task] β [Task] β β β
β β [Task] β β β
β β [Task] β If adding would exceed 8, β
β β address first β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ENFORCEMENT:
βββ GitScrum warns when limit exceeded
βββ Team addresses blockers before new work
βββ Manager reviews chronic violations
βββ Retrospective on WIP patterns
Capacity Planning
Realistic Planning
REALISTIC CAPACITY PLANNING
βββββββββββββββββββββββββββ
AVAILABLE CAPACITY:
βββββββββββββββββββββββββββββββββββββ
Working hours per day: 8
Meetings average: -2
Email/Slack: -1
Context switching: -0.5
Interruptions: -0.5
βββββββββββββββββββββββββββββββββββββ
Productive coding time: 4 hours/day
SPRINT CAPACITY (2 weeks):
βββββββββββββββββββββββββββββββββββββ
Available days: 10
PTO/Holidays: -1
βββββββββββββββββββββββββββββββββββββ
Working days: 9
Coding hours: 36 (9 Γ 4)
Buffer (20%): -7
βββββββββββββββββββββββββββββββββββββ
Plannnable capacity: 29 hours
DON'T PLAN 100%:
βββ Unexpected work happens
βββ Estimates are often wrong
βββ Support requests come up
βββ Technical debt accumulates
βββ Burnout if always at max
RULE: Plan to 70-80% capacity
Sprint Planning
SPRINT PLANNING WORKLOAD CHECK
ββββββββββββββββββββββββββββββ
BEFORE COMMITTING:
1. Calculate team capacity
5 developers Γ 29 hours = 145 hours
2. Sum committed work
Stories: 18 = ~160 hours estimated
3. Check: 160 > 145 = OVER CAPACITY
4. Adjust:
βββ Remove lowest priority item
βββ Reduce scope of large item
βββ Move item to next sprint
βββ Re-estimate with team
5. Recheck: 140 < 145 = OK (96% planned)
6. Distribute evenly:
βββ Sarah: 28 hours (97%)
βββ Mike: 30 hours (103%) β watch
βββ Alex: 27 hours (93%)
βββ Emily: 28 hours (97%)
βββ Jordan: 27 hours (93%)
Balancing Workload
Redistribution Strategies
WORKLOAD REDISTRIBUTION
βββββββββββββββββββββββ
WHEN TO REDISTRIBUTE:
βββ WIP limit exceeded
βββ One person blocked
βββ Vacation/sick leave
βββ Priority change
βββ Skill mismatch discovered
HOW TO REDISTRIBUTE:
βββββββββββββββββββββββββββββββββββββ
1. Identify overloaded person
2. List their in-progress items
3. Find items that can transfer:
βββ Not started yet
βββ Clear requirements
βββ Skills available on team
βββ Not critical to their context
4. Identify receiver:
βββ Under capacity
βββ Has required skills
βββ Available to start
5. Handoff:
βββ Brief context transfer
βββ Update task assignee
βββ Notify stakeholders
GITSCRUM WORKFLOW:
1. Open workload dashboard
2. Drag task to new assignee
3. Add comment with context
4. Slack notification sent automatically
Handling Overload
WHEN TEAM IS OVERLOADED
βββββββββββββββββββββββ
STEP 1: Acknowledge
βββ "We have more work than capacity"
βββ Don't pretend otherwise
βββ Make visible to stakeholders
STEP 2: Prioritize Ruthlessly
βββ What MUST be done?
βββ What can wait?
βββ What can be dropped?
βββ Stack rank everything
STEP 3: Communicate Trade-offs
βββ "We can do A and B, not C"
βββ "If C is priority, what drops?"
βββ Let stakeholders choose
βββ Document decision
STEP 4: Protect the Team
βββ No adding "just one more"
βββ Push back on scope creep
βββ Maintain WIP limits
βββ Accept some things won't happen
STEP 5: Learn and Adjust
βββ Why were we overloaded?
βββ How to prevent next time?
βββ Better estimation?
βββ More capacity?
GitScrum Workload Features
Workload Dashboard
GITSCRUM WORKLOAD FEATURES
ββββββββββββββββββββββββββ
WORKLOAD DASHBOARD:
βββ Team member view
βββ Points per person
βββ WIP per person
βββ Overload indicators
βββ Trend over sprints
AUTOMATION:
βββ Warn when WIP limit exceeded
βββ Alert on uneven distribution
βββ Flag items aging too long
βββ Capacity utilization %
REPORTS:
βββ Sprint workload summary
βββ Historical capacity trends
βββ Burndown by person
βββ Cycle time by workload level
ACTIONS:
βββ Drag to reassign
βββ One-click unassign
βββ Bulk reassignment
βββ Vacation mode
Best Practices
For Workload Management
Anti-Patterns
WORKLOAD MISTAKES:
β 100% capacity planning
β No WIP limits
β Hidden individual workloads
β Adding without removing
β Heroic expectations
β Ignoring burnout signs
β No redistribution process
β Everything is priority 1