Skip to main content

Scrum, reduce constraints without adding more people

Your team's velocity is stuck. The backlog keeps growing. Everyone's saying you need more developers, but here's the thing — throwing people at the problem often makes it worse. The real leverage comes from identifying and eliminating the constraints that are silently strangling your team's throughput.

The Theory of Constraints in Action

Before we dive into solutions, let's get clear on what we're dealing with. In any system, there's always one constraint that limits the entire flow. In Scrum teams, it's rarely the number of people writing code.

Here's what I've observed across dozens of teams: the bottleneck is usually hiding in plain sight. It might be your definition of done, your review process, or that one senior dev who's become the unofficial gatekeeper for everything.

The key insight? Fix the constraint, not the headcount.

The Usual Suspects: Common Scrum Constraints

1. The Code Review Bottleneck

You know this one. PRs sitting for days because only two people on the team feel qualified to review complex changes. Meanwhile, work piles up and context gets stale.

The fix: Implement pair programming or mob programming for complex features. When multiple people work on the code together, the review becomes a formality rather than a bottleneck.

2. The "Done" Definition Problem

Your team says something is done, but then it sits in a holding pattern for testing, deployment approval, or documentation updates. That's not done — that's "done-ish."

The fix: Tighten your Definition of Done to include everything needed for true completion. If testing creates a bottleneck, bring it left into the development process.

3. The Knowledge Silo

One person knows the legacy system. Another person owns the deployment pipeline. When they're unavailable, work stops.

The fix: Create a knowledge-sharing rotation. Have experts pair with others specifically to transfer critical knowledge. Document the undocumented tribal knowledge.

My Playbook for Constraint Hunting

Here's the systematic approach I use as a Scrum Master to identify what's really slowing teams down:

Step 1: Map Your Flow

Start by creating a visual representation of how work actually moves through your team — not how it's supposed to move according to your process documentation, but how it really happens.

Track every work item for two weeks. Note when it enters each stage and when it exits. Pay special attention to work that sits idle between stages — this is where your biggest optimization opportunities hide.

Here's what an honest flow map looks like for most teams:

The red-highlighted stages are where work typically stalls. Notice how many "waiting" states exist between actual work states. These gaps are your constraint goldmines.

What to measure at each stage:

  • Cycle time: How long work spends in each stage
  • Wait time: Time between stages when no one is actively working
  • Rework frequency: How often work bounces back to previous stages
  • Queue depth: How many items are waiting in each stage

Most teams discover that their "development time" is actually 20-30% coding and 70-80% waiting for reviews, approvals, or environment access.

Step 2: Measure Wait Time vs. Work Time

Most teams track how long features take to build. Few track how long features spend waiting. The wait time often dwarfs the work time.

Step 3: Ask the Hard Questions

  • What percentage of your sprint capacity goes to unplanned work?
  • How often do you context-switch between features?
  • What decisions require external approval?
  • Where do you consistently underestimate effort?

Tactical Solutions That Actually Work

Reduce Work in Progress (WIP)

This feels counterintuitive, but limiting concurrent work improves flow. If your team is working on eight features simultaneously, chances are none of them are getting focused attention.

Implementation: Set explicit WIP limits for each column on your board. When you hit the limit, the team swarms to move existing work forward before starting something new.

Eliminate Handoffs

Every time work passes from one person to another, you introduce risk and delay. Look for opportunities to keep work within a single brain or pair.

Examples:

  • Frontend and backend developers pairing on full-stack features
  • Developers writing their own tests instead of handing off to QA
  • Product owners writing acceptance criteria with the implementation team

Automate the Obvious

Any manual step that happens more than once per sprint is a candidate for automation. This isn't just about CI/CD — think bigger.

Low-hanging fruit:

  • Automated environment provisioning
  • One-click deployments to staging
  • Automated generation of release notes
  • Slack notifications for build status

The Constraint-Focused Retrospective

Standard retrospectives ask "What went well? What didn't?" Try this instead:

  1. What blocked us this sprint? (Identify constraints)
  2. How much time did we spend waiting vs. working? (Quantify the impact)
  3. What's the smallest change that would improve our flow? (Focus on leverage)

This approach keeps the conversation tactical and actionable rather than drifting into abstract process discussions.

Advanced Constraint Breaking

The Exception Handling Strategy

Create explicit processes for handling the exceptions that typically derail your sprint. When the production bug hits or the urgent request comes in, you have a plan instead of chaos.

Example framework:

  • Severity classification with clear escalation paths
  • Designated "interrupt buffer" in your sprint capacity
  • Pre-agreed criteria for pulling people off planned work

The Dependency Breaking Pattern

Instead of waiting for external teams, create lightweight interfaces or mocks that let you proceed independently. Build integration points that can be swapped out later.

This works especially well for teams waiting on API changes or third-party integrations.

Real Talk: When You Actually Need More People

Sometimes you genuinely need additional team members. Here are the signs:

  • You've eliminated obvious constraints and still can't meet reasonable demand
  • Your constraint analysis shows the bottleneck is raw development capacity
  • You have well-defined work that can be parallelized effectively
  • Your team culture can absorb new members without losing productivity

But even then, focus on constraints first. New team members will hit the same bottlenecks your existing team faces.

Key Takeaways

  • Constraint identification beats capacity addition — Fix the flow before adding people
  • Measure wait time, not just work time — The delays between activities often exceed the activities themselves
  • Reduce WIP to increase throughput — Focus creates speed
  • Eliminate handoffs wherever possible — Every handoff introduces delay and risk
  • Automate repeated manual steps — If it happens twice, script it

Your Next Sprint Planning Session

Here's how to immediately apply this thinking: In your next sprint planning, spend 15 minutes identifying the biggest constraint from your last sprint. Pick one specific action to address it. Make that action part of your sprint commitment.

You'll find that small, focused improvements to your process often deliver bigger gains than adding more hands to the keyboard. The goal isn't just to go faster — it's to create sustainable flow that doesn't break when pressure increases.