GitScrum / Docs
All Best Practices

Identify Development Bottlenecks | Data-Driven Analysis

Find workflow bottlenecks using cycle time analysis, board observation, and team input. Common bottlenecks: code review, QA, deployment. Eliminate constraints with GitScrum.

6 min read

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

  • Measure first β€” Data beats intuition
  • One bottleneck at a time β€” Focus effort
  • Address root cause β€” Not symptoms
  • Add capacity at constraint β€” Not elsewhere
  • 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
    

    Related Solutions