Try free
10 min read Guide 789 of 877

Sprint Anti-patterns to Avoid

Sprints can go wrong in predictable ways. GitScrum helps teams spot anti-patterns early through metrics and workflow visibility.

Planning Anti-patterns

Over-commitment

OVER-COMMITMENT:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ THE PATTERN:                                                │
│ Team commits to more than they can deliver                │
│ Sprint ends with significant incomplete work              │
│                                                             │
│ SYMPTOMS:                                                   │
│ • Burndown never reaches zero                             │
│ • Stories carry over every sprint                         │
│ • Team stressed at sprint end                             │
│ • Quality suffers                                          │
│                                                             │
│ BURNDOWN SIGNATURE:                                         │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 30│●                                                    ││
│ │   │ ╲                                                   ││
│ │ 20│  ╲▲                                                 ││
│ │   │   ╲ ▲▲                                              ││
│ │ 10│    ╲  ▲▲▲▲▲▲▲▲▲                                     ││
│ │   │     ╲         ← Never reaches zero                 ││
│ │  0│──────●                                              ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ ROOT CAUSES:                                                │
│ • PO pressure to commit more                              │
│ • Optimistic estimation                                   │
│ • Not accounting for overhead (meetings, reviews)         │
│ • Not tracking actual capacity                            │
│                                                             │
│ FIXES:                                                      │
│ ✅ Use historical velocity, not wishes                    │
│ ✅ Factor in time off, holidays, meetings                 │
│ ✅ Leave buffer (10-15% for unknowns)                     │
│ ✅ PO prioritizes, team commits                           │
│ ✅ "No" is a valid answer                                 │
└─────────────────────────────────────────────────────────────┘

Insufficient Refinement

UNPREPARED BACKLOG:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ THE PATTERN:                                                │
│ Stories pulled into sprint without proper refinement      │
│ Team discovers requirements during development            │
│                                                             │
│ SYMPTOMS:                                                   │
│ • Long planning meetings                                  │
│ • "What does this even mean?"                            │
│ • Scope changes mid-sprint                                │
│ • Developers blocked waiting for clarification            │
│                                                             │
│ EXAMPLE:                                                    │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ STORY-456: Improve reporting                           ││
│ │                                                         ││
│ │ Description: Make reports better                       ││
│ │ Acceptance criteria: ???                               ││
│ │ Estimate: ???                                           ││
│ │                                                         ││
│ │ Day 3: "Wait, which reports?"                          ││
│ │ Day 5: "The PM wants charts too"                       ││
│ │ Day 8: "Actually, can we add export?"                  ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ ROOT CAUSES:                                                │
│ • Skipping or rushing refinement                          │
│ • PO not available for questions                          │
│ • No Definition of Ready                                  │
│                                                             │
│ FIXES:                                                      │
│ ✅ Mandatory refinement sessions                          │
│ ✅ Definition of Ready enforced                           │
│ ✅ Stories refined 1-2 sprints ahead                      │
│ ✅ Team can reject unrefined stories                      │
│ ✅ Clear acceptance criteria required                     │
└─────────────────────────────────────────────────────────────┘

Execution Anti-patterns

Scope Creep

MID-SPRINT SCOPE CHANGES:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ THE PATTERN:                                                │
│ Work added during sprint without removing anything        │
│ Committed scope keeps growing                             │
│                                                             │
│ SYMPTOMS:                                                   │
│ • "Just one more thing"                                   │
│ • Burnup shows scope increasing                          │
│ • Sprint commitment meaningless                           │
│ • Team never feels done                                   │
│                                                             │
│ BURNUP SIGNATURE:                                           │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 40│                    ═══════════                      ││
│ │ 35│               ═════  ← Scope keeps growing          ││
│ │ 30│═══════════════                                      ││
│ │ 25│                          ▲                          ││
│ │ 20│                        ▲                            ││
│ │ 15│                      ▲                              ││
│ │ 10│                    ▲                                ││
│ │  5│                  ▲                                  ││
│ │  0│▲                                                    ││
│ │     Work can't keep up with scope                      ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ ROOT CAUSES:                                                │
│ • PO can't say no to stakeholders                        │
│ • "Urgent" requests bypass process                        │
│ • No clear sprint commitment                              │
│                                                             │
│ FIXES:                                                      │
│ ✅ Sprint commitment is sacred                            │
│ ✅ New work waits for next sprint                         │
│ ✅ If must add, remove equal work                         │
│ ✅ Emergency process for real emergencies                 │
│ ✅ SM protects sprint boundary                            │
└─────────────────────────────────────────────────────────────┘

Mini-Waterfalls

WATERFALL WITHIN SPRINT:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ THE PATTERN:                                                │
│ All coding happens early, all testing at end              │
│ Sequential instead of parallel work                       │
│                                                             │
│ SYMPTOMS:                                                   │
│ • QA overloaded at sprint end                             │
│ • Bugs found too late to fix                              │
│ • "Done" stories pile up for testing                     │
│ • Burndown flat then drops suddenly                      │
│                                                             │
│ TIMELINE:                                                   │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Day  1  2  3  4  5  6  7  8  9  10                     ││
│ │ ────────────────────────────────────                    ││
│ │ Dev  ████████████████████░░░░░░                        ││
│ │ QA   ░░░░░░░░░░░░░░░░░░░░████████  ← Crunch!          ││
│ │ Done ░░░░░░░░░░░░░░░░░░░░░░░░░███                      ││
│ │                                                         ││
│ │ QA gets everything last 2 days                         ││
│ │ Bugs found too late                                    ││
│ │ Quality or deadline suffers                            ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ IDEAL:                                                      │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Day  1  2  3  4  5  6  7  8  9  10                     ││
│ │ ────────────────────────────────────                    ││
│ │ Dev  ████░░████░░████░░████░░░░░░                      ││
│ │ QA   ░░░░████░░████░░████░░████░░  ← Steady flow      ││
│ │ Done ░░░░░░██░░██░░██░░██░░██████                      ││
│ │                                                         ││
│ │ Continuous flow of work                                ││
│ │ Early bug detection                                    ││
│ │ Steady completion                                       ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ FIXES:                                                      │
│ ✅ Slice stories smaller                                  │
│ ✅ Dev + QA work together                                 │
│ ✅ Testing starts day 2-3, not day 8                     │
│ ✅ WIP limits prevent pile-up                             │
│ ✅ "Done" means tested                                    │
└─────────────────────────────────────────────────────────────┘

Ceremony Anti-patterns

Useless Standups

STANDUP THEATER:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ THE PATTERN:                                                │
│ Standups are status reports, not collaboration            │
│ No value, just routine                                    │
│                                                             │
│ SYMPTOMS:                                                   │
│ • People tune out during others' updates                  │
│ • "Yesterday I worked on X. Today X. No blockers."       │
│ • 30+ minutes for 5 people                                │
│ • Team would prefer to skip it                            │
│                                                             │
│ WHAT IT SOUNDS LIKE:                                        │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ @dev1: "Yesterday I worked on the login. Today        ││
│ │        I'll continue working on the login.            ││
│ │        No blockers."                                   ││
│ │                                                         ││
│ │ @dev2: "Yesterday I did code review. Today I'll       ││
│ │        work on the dashboard. No blockers."           ││
│ │                                                         ││
│ │ [Everyone checking phones]                             ││
│ │                                                         ││
│ │ @dev3: "Yesterday I worked on tests. Today I'll       ││
│ │        continue with tests. No blockers."             ││
│ │                                                         ││
│ │ [30 minutes later...]                                  ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ FIXES:                                                      │
│ ✅ Walk the board instead                                 │
│ ✅ Focus on blockers only                                 │
│ ✅ "What do you need from others?"                        │
│ ✅ Try async standups                                     │
│ ✅ Timebox strictly (15 min max)                          │
└─────────────────────────────────────────────────────────────┘

Skipping Retrospectives

NO-RETRO SYNDROME:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ THE PATTERN:                                                │
│ Team skips retros or they're ineffective                  │
│ Same problems repeat sprint after sprint                  │
│                                                             │
│ SYMPTOMS:                                                   │
│ • "We don't have time for retro"                         │
│ • "Same issues every sprint"                              │
│ • Action items never completed                            │
│ • Team feels unheard                                       │
│                                                             │
│ THE CYCLE:                                                  │
│ ┌─────────────────────────────────────────────────────────┐│
│ │       ┌──────────────────────────────────────┐         ││
│ │       │                                       │         ││
│ │       ▼                                       │         ││
│ │  ┌─────────┐    ┌─────────┐    ┌───────────┐│         ││
│ │  │ Sprint  │───→│ Skip    │───→│ Same      ││         ││
│ │  │ Problems│    │ Retro   │    │ Problems  │├──┐      ││
│ │  └─────────┘    └─────────┘    └───────────┘│  │      ││
│ │       ▲                                      │  │      ││
│ │       └──────────────────────────────────────┘  │      ││
│ │                                                  │      ││
│ │       Never improves ←──────────────────────────┘      ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ ROOT CAUSES:                                                │
│ • "Too busy" (actually too busy not to)                  │
│ • Action items not tracked                                │
│ • Retros feel useless                                     │
│ • Unsafe to speak up                                       │
│                                                             │
│ FIXES:                                                      │
│ ✅ Retro is mandatory (non-negotiable)                    │
│ ✅ Track action items in GitScrum                         │
│ ✅ Review last retro's actions first                      │
│ ✅ Limit to 2-3 actions per retro                         │
│ ✅ Assign owners and due dates                            │
│ ✅ Create safe environment                                │
└─────────────────────────────────────────────────────────────┘

Team Anti-patterns

Siloed Work

ISOLATED WORK:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ THE PATTERN:                                                │
│ Each person works on their own stories                    │
│ No collaboration or knowledge sharing                     │
│                                                             │
│ SYMPTOMS:                                                   │
│ • "That's not my story"                                   │
│ • Bus factor = 1 for each area                           │
│ • No code reviews or pairing                              │
│ • Blocked when person is out                              │
│                                                             │
│ BOARD PATTERN:                                              │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ IN PROGRESS                                             ││
│ │ ────────────                                            ││
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐            ││
│ │ │ Story  │ │ Story  │ │ Story  │ │ Story  │            ││
│ │ │ Alex   │ │ Jordan │ │ Pat    │ │ Sam    │            ││
│ │ │        │ │        │ │        │ │        │            ││
│ │ │ (only  │ │ (only  │ │ (only  │ │ (only  │            ││
│ │ │ Alex)  │ │ Jordan)│ │ Pat)   │ │ Sam)   │            ││
│ │ └────────┘ └────────┘ └────────┘ └────────┘            ││
│ │                                                         ││
│ │ No pairing, no shared ownership                        ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ ROOT CAUSES:                                                │
│ • Individual performance metrics                          │
│ • Specialization encouraged                               │
│ • "Faster alone than together" mindset                   │
│                                                             │
│ FIXES:                                                      │
│ ✅ Swarming on high-priority items                        │
│ ✅ Pair programming encouraged                            │
│ ✅ Code reviews required                                  │
│ ✅ Team metrics, not individual                           │
│ ✅ Cross-training built into capacity                     │
└─────────────────────────────────────────────────────────────┘

Hero Culture

HERO SYNDROME:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ THE PATTERN:                                                │
│ One person saves the sprint repeatedly                    │
│ Unsustainable and risky                                   │
│                                                             │
│ SYMPTOMS:                                                   │
│ • "Thank god Alex stayed late"                            │
│ • Sprint always "saved" at the last minute               │
│ • One person does disproportionate work                   │
│ • Team depends on hero                                     │
│                                                             │
│ THE REALITY:                                                │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ If Alex is the hero every sprint:                      ││
│ │                                                         ││
│ │ • Alex will burn out                                   ││
│ │ • Others won't learn                                   ││
│ │ • Bus factor is 1                                      ││
│ │ • Problems get hidden                                  ││
│ │ • Team doesn't improve                                 ││
│ │                                                         ││
│ │ The "hero" often enables the dysfunction              ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ ROOT CAUSES:                                                │
│ • Over-commitment needs saving                            │
│ • Hero rewarded, problems not addressed                   │
│ • Fear of missing sprint commitment                       │
│                                                             │
│ FIXES:                                                      │
│ ✅ Commit to realistic scope                              │
│ ✅ It's OK to not complete sprint                         │
│ ✅ Address why rescue was needed                          │
│ ✅ Distribute work more evenly                            │
│ ✅ Celebrate team, not individuals                        │
└─────────────────────────────────────────────────────────────┘