Skip to main content
All Guides
Delivery

Value Stream Mapping for Software: Find Where Your Delivery Time Actually Goes

Value stream mapping reveals that most lead time is waiting, not working. This guide shows how to map your software delivery flow, calculate flow efficiency, and identify the biggest improvement opportunities.

11 min readUpdated January 8, 2026By CodePulse Team
Value Stream Mapping for Software: Find Where Your Delivery Time Actually Goes - visual overview

Value stream mapping (VSM) is a lean manufacturing technique that's become essential for understanding software delivery. By mapping the flow of work from idea to production, you can identify waste, bottlenecks, and opportunities to improve—with data, not guesswork.

"You can't optimize a process you can't see. Value stream mapping makes the invisible visible—and usually reveals that most of your lead time is waiting, not working."

What is Value Stream Mapping?

A value stream map visualizes the flow of work through a system, showing:

  • Process steps — Each activity that transforms work
  • Process time — Time spent actively working
  • Wait time — Time spent waiting between steps
  • Information flow — How work items move and communicate
  • Bottlenecks — Where work accumulates

In software development, a value stream typically includes: idea → requirements → design → development → code review → testing → deployment → customer value.

The Software Delivery Value Stream

SIMPLIFIED SOFTWARE VALUE STREAM
───────────────────────────────────────

Customer      Product      Dev Team       Code        Testing      Ops         Customer
Request  →    Backlog  →   Development →  Review  →   & QA    →   Deploy  →   Value
             ┌─────────┐   ┌───────────┐  ┌─────────┐ ┌─────────┐ ┌─────────┐
             │ Wait:   │   │ Process:  │  │ Wait:   │ │ Process:│ │ Wait:   │
             │ 5 days  │   │ 3 days    │  │ 1 day   │ │ 0.5 day │ │ 2 days  │
             │         │   │           │  │         │ │         │ │         │
             │ Queue   │   │ Coding    │  │ Review  │ │ Testing │ │ Deploy  │
             │ Size: 15│   │ WIP: 8    │  │ Queue: 5│ │ WIP: 3  │ │ Window  │
             └─────────┘   └───────────┘  └─────────┘ └─────────┘ └─────────┘

LEAD TIME: 11.5 days
PROCESS TIME: 3.5 days
FLOW EFFICIENCY: 30% (3.5 / 11.5)

INSIGHT: 70% of time is waiting, not working

/// Our Take

Most teams are shocked when they first map their value stream. They expect coding to be the bottleneck—instead they find that 60-80% of lead time is waiting: waiting for requirements, waiting for review, waiting for approval, waiting for deployment windows.

This is why optimizing developer productivity rarely improves delivery speed. You're optimizing the 20-30% that's already working while ignoring the 70-80% that's idle. Value stream mapping shows you where to focus.

Key VSM Metrics

MetricDefinitionWhy It Matters
Lead TimeTotal time from request to deliveryCustomer-facing speed
Process TimeTime spent actively workingActual effort required
Wait TimeTime spent idle between stepsWhere waste lives
Flow EfficiencyProcess Time / Lead Time × 100How much is productive
ThroughputItems completed per time periodSystem capacity
WIPItems currently in progressSystem load (affects wait time)

Flow Efficiency Benchmarks

  • < 15% — Typical (lots of waiting)
  • 15-25% — Good (some optimization needed)
  • 25-40% — Great (well-optimized flow)
  • > 40% — Excellent (rare outside small teams)
Identify bottlenecks slowing your team with CodePulse

How to Create a Value Stream Map

Step 1: Define Scope

  • What triggers the start? (Customer request, bug report, etc.)
  • What marks the end? (Deployed, customer using, etc.)
  • What work items to include? (Features, bugs, all?)

Step 2: Walk the Process

Follow actual work items through your system. Talk to people at each stage:

  • What do you do with the work?
  • How long does your step take?
  • How long do items wait before you start?
  • What do you wait for from others?

Step 3: Collect Data

For each process step, measure:

  • Average process time (time actively working)
  • Average wait time (time before work starts)
  • Queue size (items waiting)
  • WIP (items being worked)
  • Rework rate (items that come back)

Step 4: Draw the Map

Create a visual representation showing:

  • Process boxes for each step
  • Time annotations (process and wait)
  • Arrows showing flow direction
  • Information flows (how decisions are communicated)
  • Queues and WIP limits

Step 5: Calculate Metrics

  • Total lead time = sum of all process + wait times
  • Total process time = sum of active work times
  • Flow efficiency = process time / lead time

📊 How to See This in CodePulse

CodePulse automatically tracks key VSM metrics from your git data:

  • Dashboard shows cycle time breakdown (coding, waiting, review, merge)
  • PR List shows individual PR flow times
  • Review Network identifies review bottlenecks

Common Types of Waste

Waiting (Most Common)

  • PRs waiting for code review
  • Features waiting for approval
  • Deployments waiting for window
  • Questions waiting for answers

Handoffs

  • Dev to QA to Ops transitions
  • Information lost in handoffs
  • Waiting for handoff availability

Rework

  • PR changes requested in review
  • Bugs found after deployment
  • Requirements misunderstood

Overproduction

  • Building features never used
  • Excessive documentation
  • Gold-plating beyond requirements

Motion

  • Context switching between tasks
  • Hunting for information
  • Meetings that could be async

Improving Flow

Reduce Wait Time

  • SLAs for code review (24 hours max)
  • Automated deployments (no waiting for windows)
  • Self-service infrastructure (no waiting for Ops)
  • Clear escalation paths for blocked work

Reduce Batch Size

  • Smaller PRs (under 400 lines)
  • More frequent releases
  • Feature flags for partial releases

Limit WIP

  • Explicit WIP limits per stage
  • Finish before starting new work
  • Pull-based system (don't push work onto busy teams)

Reduce Handoffs

  • Cross-functional teams
  • DevOps culture (dev owns deployment)
  • Shift-left testing (dev writes tests)

"Every handoff is an opportunity for waiting, information loss, and misunderstanding. The fewer handoffs, the better the flow."

Value Stream Map Template

VALUE STREAM MAP: [Product/Team Name]
Date: [Date]
Scope: [Feature request to production deployment]
───────────────────────────────────────────────────

STAGE 1: [Backlog]
├── Process Time: [X hours/days]
├── Wait Time: [X hours/days]
├── Queue Size: [N items]
└── % Complete & Accurate: [X%]

STAGE 2: [Development]
├── Process Time: [X hours/days]
├── Wait Time: [X hours/days]
├── WIP: [N items]
└── % Complete & Accurate: [X%]

STAGE 3: [Code Review]
├── Process Time: [X hours/days]
├── Wait Time: [X hours/days]
├── Queue Size: [N items]
└── % Complete & Accurate: [X%]

STAGE 4: [Testing/QA]
├── Process Time: [X hours/days]
├── Wait Time: [X hours/days]
├── WIP: [N items]
└── % Complete & Accurate: [X%]

STAGE 5: [Deployment]
├── Process Time: [X hours/days]
├── Wait Time: [X hours/days]
└── % Complete & Accurate: [X%]

───────────────────────────────────────────────────
SUMMARY
├── Total Lead Time: [X days]
├── Total Process Time: [X days]
├── Total Wait Time: [X days]
├── Flow Efficiency: [X%]
└── Throughput: [X items/week]

TOP BOTTLENECK: [Stage name]
IMPROVEMENT OPPORTUNITY: [What to do]

Conclusion

Value stream mapping reveals the truth about your delivery process: most of your lead time is waiting, not working. By visualizing the entire flow from idea to production, you can identify the real bottlenecks—which are usually queue times and handoffs, not coding speed.

  • Map your current state—you can't improve what you don't see
  • Focus on wait time—that's where the biggest gains are
  • Reduce batch size—smaller work flows faster
  • Limit WIP—too much parallel work creates queues
  • Eliminate handoffs—each one adds delay and errors

Start by using CodePulse to see your cycle time breakdown. Where is time being spent? If "waiting for review" is significant, that's your first improvement target. VSM turns guesswork into data-driven improvement.

"Improving flow efficiency from 20% to 40% cuts lead time in half—without anyone working harder. You just spend less time waiting."

See these insights for your team

CodePulse connects to your GitHub and shows you actionable engineering metrics in minutes. No complex setup required.

Free tier available. No credit card required.