Try free
6 min read Guide 189 of 877

Identifying Bottlenecks in Development Workflow

Bottlenecks are the hidden constraints that limit your entire team's output. A 10-person team with a 1-person code review bottleneck is effectively a 1-person team for review. Finding and eliminating bottlenecks is the highest-leverage improvement you can make.

Bottleneck Indicators

SymptomLikely Bottleneck
PRs waiting daysCode review
Bugs after releaseTesting/QA
Deploy takes hoursDeployment process
Answers take daysRequirements/decisions
Work piles in columnThat column's activity

Finding Bottlenecks

Data Analysis

CYCLE TIME BREAKDOWN ANALYSIS
═════════════════════════════

MEASURE TIME IN EACH STAGE:
─────────────────────────────────────
Stage           Avg Time    % of Total
─────────────────────────────────────
Ready → Start   0.5 days    10%
Development     2.0 days    40%
Code Review     1.5 days    30%  ← Bottleneck?
QA Testing      0.5 days    10%
Deploy          0.5 days    10%
─────────────────────────────────────
Total           5.0 days    100%

ANALYSIS:
├── Review is 30% of total cycle time
├── Relative to development (40%), it's disproportionate
├── Queue time in review = waste
└── Focus improvement here

WEEKLY TREND:
Week 1: Review 1.2 days
Week 2: Review 1.5 days
Week 3: Review 1.8 days ← Getting worse
Week 4: Review 2.1 days

Growing review time = capacity bottleneck

Board Observation

VISUAL BOTTLENECK DETECTION
═══════════════════════════

LOOK AT YOUR BOARD:
┌────────────────────────────────────────────────────────┐
│  Ready     │ In Progress │  Review   │  QA  │  Done   │
├────────────────────────────────────────────────────────┤
│  [T1]      │  [T5]       │  [T8]     │ [T14]│ [Done]  │
│  [T2]      │  [T6]       │  [T9]     │      │ [Done]  │
│  [T3]      │  [T7]       │  [T10]    │      │ [Done]  │
│  [T4]      │             │  [T11]    │      │         │
│            │             │  [T12] ←──│──────│── PILE  │
│            │             │  [T13]    │      │         │
└────────────────────────────────────────────────────────┘

BOTTLENECK: Review column
├── 6 items waiting
├── More than other stages
├── Age: Some 3+ days old
└── QA is starved (only 1 item)

IMPACT:
├── Developers finish but can't ship
├── Waiting = inventory = waste
├── Delays feedback to customer
└── Frustration for team

Team Input

TEAM BOTTLENECK SURVEY
══════════════════════

ASK THE TEAM:
─────────────────────────────────────
1. "Where do you wait most often?"
2. "What blocks you from shipping?"
3. "What process frustrates you?"
4. "If you could eliminate one wait, which?"

COMMON ANSWERS:
├── "Waiting for code review"
├── "Waiting for requirements clarification"
├── "Waiting for design approval"
├── "Waiting for environment access"
├── "Waiting for third-party API"
└── "Waiting for deployment window"

RETROSPECTIVE EXERCISE:
1. Each person writes top 3 waits
2. Group similar items
3. Vote on biggest impact
4. Focus on top 1-2
5. Create action item

Common Bottlenecks

Code Review

CODE REVIEW BOTTLENECK
══════════════════════

SYMPTOMS:
├── PRs open for days
├── Developers waiting
├── Context lost by review time
├── Review backlog grows

ROOT CAUSES:
├── Too few reviewers
├── Large PRs (take long to review)
├── No review SLA
├── Reviewers are senior devs (busy)
├── Review not prioritized

SOLUTIONS:
─────────────────────────────────────
1. SMALLER PRs
   ├── Target: <200 lines changed
   ├── Faster to review
   ├── Faster feedback
   └── Less context loss

2. REVIEW SLA
   ├── First review: 4 hours
   ├── Track and report
   ├── Make visible
   └── Hold accountable

3. MORE REVIEWERS
   ├── Train junior devs
   ├── Peer review (not just seniors)
   ├── Review rotation schedule
   └── Automated review for style

4. PAIR PROGRAMMING
   ├── Review built-in
   ├── No separate step
   └── Ship faster

QA/Testing

QA BOTTLENECK
═════════════

SYMPTOMS:
├── Items pile up waiting for QA
├── Bugs found late
├── QA rushed before release
├── Manual testing takes too long

ROOT CAUSES:
├── Manual testing only
├── Too few QA resources
├── Testing at end (not continuous)
├── Unclear test criteria

SOLUTIONS:
─────────────────────────────────────
1. SHIFT LEFT
   ├── Developers write tests
   ├── Testing during development
   ├── Not a separate phase
   └── Continuous integration

2. AUTOMATE
   ├── Automated test suite
   ├── Run on every PR
   ├── Fast feedback
   └── Manual for exploratory only

3. ACCEPTANCE CRITERIA
   ├── Clear before development
   ├── Testable criteria
   ├── Developers can verify
   └── QA confirms, not discovers

4. ADD CAPACITY
   ├── More QA if needed
   ├── Or developer testing time
   └── Balance team composition

Deployment

DEPLOYMENT BOTTLENECK
═════════════════════

SYMPTOMS:
├── Deploy takes hours/days
├── Manual steps required
├── Limited deploy windows
├── Waiting for "deploy person"

ROOT CAUSES:
├── Manual deployment process
├── Limited deploy access
├── Infrequent deploys (scary)
├── No rollback capability

SOLUTIONS:
─────────────────────────────────────
1. AUTOMATE DEPLOYMENT
   ├── CI/CD pipeline
   ├── Merge = deploy
   ├── No manual steps
   └── Repeatable, reliable

2. DEPLOY MORE OFTEN
   ├── Small changes = low risk
   ├── Multiple times per day
   ├── Deploy is normal
   └── Not an event

3. ENABLE ROLLBACK
   ├── Easy rollback process
   ├── Reduces fear
   ├── Faster recovery
   └── More confidence

4. DEMOCRATIZE ACCESS
   ├── Developers can deploy
   ├── Not just ops team
   ├── Self-service
   └── Remove bottleneck person

GitScrum for Bottlenecks

Cycle Time Analysis

GITSCRUM BOTTLENECK DETECTION
═════════════════════════════

CYCLE TIME REPORT:
┌─────────────────────────────────────────────────────────┐
│  Cycle Time Analysis - Last 30 Days                    │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  AVERAGE: 4.5 days                                      │
│                                                         │
│  BY STAGE:                                              │
│  ░░░░░░░░░░ Ready: 0.5 days (11%)                      │
│  ████████░░ Dev: 1.8 days (40%)                        │
│  ██████░░░░ Review: 1.4 days (31%) ← FOCUS HERE        │
│  ██░░░░░░░░ QA: 0.4 days (9%)                          │
│  ██░░░░░░░░ Deploy: 0.4 days (9%)                      │
│                                                         │
│  INSIGHT: Review stage is disproportionately long      │
│           relative to QA and Deploy                    │
│                                                         │
│  RECOMMENDATION: Implement review SLA, reduce PR size  │
│                                                         │
└─────────────────────────────────────────────────────────┘

WIP BY COLUMN:
├── Ready: 4 items (OK)
├── In Progress: 5 items (OK)
├── Review: 8 items (HIGH - investigate)
├── QA: 2 items (OK)
└── Done: -- 

ACTION: Add WIP limit to Review column

Best Practices

For Bottleneck Elimination

  1. Measure first — Data beats intuition
  2. One bottleneck at a time — Focus effort
  3. Address root cause — Not symptoms
  4. Add capacity at constraint — Not elsewhere
  5. Monitor after change — Verify improvement

Anti-Patterns

BOTTLENECK MISTAKES:
✗ Optimizing non-bottleneck stages
✗ Adding capacity everywhere equally
✗ Ignoring team input
✗ Not measuring before/after
✗ Treating symptoms, not causes
✗ Multiple changes at once
✗ Not addressing cultural factors
✗ Expecting immediate results