Why Bad Sprint Goals Keep Your Team Busy and Still Behind

By Jaehoon (Henry) Lee9 min read

Most teams don’t miss sprint goals because they’re lazy or unskilled. They miss because the goal was never a goal. It was a shopping list, a vague wish, or a proxy for “we’ll try hard for two weeks.”

When a sprint goal is bad, the sprint turns into task-chasing. People optimize for finishing tickets instead of delivering an outcome anyone can explain to a stakeholder. That’s how you get the classic enterprise symptom: velocity looks fine, but the release is still late.

This article gives bad sprint goal examples and how to improve them, with practical rewrites you can use in your next planning session.

What a sprint goal is supposed to do (and what it isn’t)

A sprint goal is a short statement of the outcome the team intends to achieve by the end of the sprint. In Scrum, it’s the “why” that holds the Sprint Backlog together.

It isn’t a promise to complete every planned item. It isn’t a Jira filter. It isn’t “finish as much as possible.”

A good sprint goal gives the team a reason to make smart tradeoffs mid-sprint. If a production incident hits on day 6, a clear goal helps you decide what can move out and what must stay in to still deliver value.

The 2020 Scrum Guide is blunt about this: the Sprint Goal is a commitment for the Sprint Backlog. That word matters. Not a commitment to every task, but a commitment to an outcome that guides choices.

How bad sprint goals show up in real teams

Bad sprint goals usually fall into patterns. Once you see them, you can’t unsee them.

  • Activity goals: “Complete 25 story points.”
  • Scope goals: “Finish all stories in Sprint 12.”
  • Vague business goals: “Improve customer experience.”
  • One-person goals: “Backend refactor.”
  • Dependency goals: “Get API from Platform team.”

These goals fail for the same reason. They don’t describe a usable increment of value.

If you’re using Jira, you’ve probably seen a sprint where the “goal” field is copied from the ticket list or left blank. Jira makes it optional, so teams treat it like paperwork. You pay for that later, usually in the retro when people argue about whether the sprint was “successful.”

Opinion, unhedged: If you can’t explain the sprint goal to a non-engineer in one sentence, you don’t have a sprint goal. You have internal planning notes.

Bad sprint goal examples and how to improve them

Below are common bad sprint goal examples, why they fail, and what to write instead. The improved versions aren’t “perfect Scrum.” They’re goals that help a real team make decisions under pressure.

1) Bad: “Complete 30 story points”

This is an output target, not an outcome. It rewards splitting work into point-friendly shapes and punishes necessary unplanned work like production fixes or security patches.

  • Why it fails: You can hit 30 points and deliver nothing a user can feel. It also turns estimation into a performance metric, which encourages point inflation.
  • Improve it by: Naming the user change you want to ship.

Better sprint goal: “Customers can reset their password without contacting support.”

Notice what changed. You can still plan with points, but the goal is now a user outcome. If you need to drop a low-value UI polish story to finish the email token flow, the goal tells you what to protect.

2) Bad: “Finish all Sprint 24 stories”

This is a scope statement. It assumes your plan won’t change, which is rarely true in enterprise software.

  • Why it fails: When something slips, the goal becomes false, and the team stops using it. Then you’re back to task-chasing.
  • Improve it by: Defining the smallest coherent increment that still matters if a few items move out.

Better sprint goal: “Users can export invoices to CSV for the last 90 days.”

Now your “done” is anchored to a capability. If a secondary story like “export includes custom columns” slips, the team can still deliver the core export.

3) Bad: “Improve performance”

Teams love this one because it sounds responsible and no one can argue with it. That’s the problem.

  • Why it fails: No baseline, no target, no scope. It’s impossible to know if you achieved it.
  • Improve it by: Stating the measurable behavior and where you’ll measure it.

Better sprint goal: “Reduce p95 dashboard load time from 4.0s to under 2.5s for paying customers.”

You don’t need perfect observability to write goals like this, but you do need a metric you trust. If you’re using Google Lighthouse, New Relic, or Datadog, pick one and be consistent.

For grounding on percentiles and why p95 matters, this Google SRE book chapter on monitoring is still one of the clearest explanations.

4) Bad: “Refactor authentication module”

This is a technical activity disguised as a sprint goal. Sometimes refactoring is the right work. It still needs a reason that connects to risk, cost, or customer value.

  • Why it fails: Stakeholders hear “refactor” and think “engineers doing engineer stuff.” The team also can’t decide when the refactor is “enough.”
  • Improve it by: Tying the work to a visible quality or delivery constraint.

Better sprint goal: “Enable SSO for Okta by removing the legacy auth dependency.”

Or, if this is about reliability: “Cut login error rate from 1.2% to under 0.3% by fixing token refresh failures.”

Even internally-focused work can have a crisp outcome. If the only outcome is “cleaner code,” you’re not done thinking.

5) Bad: “Integrate with the Platform API”

Dependency-driven goals are common in large orgs. They read like a status update to another team.

  • Why it fails: Your sprint goal depends on someone else’s timeline. When it slips, your sprint goal collapses.
  • Improve it by: Writing a goal you control, with a fallback that still delivers value.

Better sprint goal: “Support account provisioning via API, or via CSV upload if the API isn’t ready.”

This is a real pattern in enterprise products: build an interim workflow that unblocks customers while the “ideal integration” catches up. If you’re using feature flags (LaunchDarkly, for example), you can ship the CSV path safely and add the API path later.

Feature flag basics are well covered in Martin Fowler’s feature toggle article.

6) Bad: “Test automation improvements”

Another classic. It’s well-intentioned, but it’s too broad and usually ends in half-finished test suites.

  • Why it fails: You can add 50 tests that no one trusts. Or you can improve CI stability but not reduce risk in the release.
  • Improve it by: Targeting a specific risk area and a concrete signal.

Better sprint goal: “Automate the top 10 checkout regressions and drop escaped defects in checkout to zero for two weeks.”

You can measure this. You can also explain it to Support and Sales without translating.

7) Bad: “Work on technical debt”

This is the “we know it’s bad in there” goal. It usually means no one agreed on what matters most.

  • Why it fails: “Debt” becomes a junk drawer. Engineers pull in whatever annoys them most, and the sprint fractures.
  • Improve it by: Picking one debt theme with a delivery payoff.

Better sprint goal: “Reduce build time from 18 minutes to under 10 so we can run CI on every PR.”

That’s technical debt with a concrete outcome. It affects daily work, and it compounds over time.

A simple test for writing better sprint goals

In sprint planning, run each draft goal through three checks. If it fails any one, rewrite it on the spot.

  1. Can a stakeholder understand it without asking what it means?
  2. Does it describe a user-facing capability or a measurable operational result?
  3. Can the team still hit it if one or two backlog items change?

If your goal depends on finishing every story, it’s brittle.

If your goal is “deliver X epics,” it’s not a goal. It’s a packaging choice.

How to improve sprint goals during planning (without slowing planning down)

Teams avoid sprint goals because they think it adds time. It doesn’t, if you do it with constraints.

Start with the sprint review backwards

Ask: “At the review, what will we demo that proves value?” Not “what will we complete?”

If you’re building an internal platform, the demo might be a measurable change, like “new service can be created from a template in under 15 minutes,” or “on-call pages drop because alerts are deduped.” Still demoable, still real.

Keep one goal, allow two if you must

One goal forces tradeoffs. Two goals can work if they’re clearly separated, like “Ship CSV export” and “Stabilize CI by fixing flaky tests in payments.”

Three goals is usually a sign you’re trying to satisfy too many stakeholders at once.

Use a goal template that prevents vagueness

  • For product work: “Users can [do X] without [pain Y].”
  • For reliability: “Reduce [metric] from [baseline] to [target] for [scope].”
  • For enabling work: “Make it possible to [capability], by removing [constraint].”

Templates aren’t poetry. They’re guardrails.

Common objections you’ll hear, and how to answer them

“We can’t predict the sprint. Too much interrupts.”

Then the goal should reflect that reality. If 30% of your capacity goes to support tickets, write a goal that protects a thin slice of planned value and makes interrupts explicit.

Better: “Close the top 15 P1 support issues and ship password reset improvements.”

And if interrupts are constant, consider visualizing flow with Kanban metrics like cycle time and throughput. The Kanban Guide is short and practical.

“Stakeholders only care about the list.”

Stakeholders care about outcomes. They ask for lists because teams haven’t given them a reliable narrative.

Try this in your next update: lead with the sprint goal, then list the key backlog items that support it. Most executives don’t want more details. They want fewer surprises.

“Our work is mostly plumbing. There’s nothing to ‘demo’.”

Plumbing has outcomes. Faster deploys. Fewer pages. Lower cloud spend. Shorter lead time from merge to production. Pick one.

If you don’t have those numbers yet, that’s also an outcome: “Instrument deploy duration so we can measure and reduce it next sprint.”

For teams starting with metrics, the DORA research and metrics is a solid reference point for lead time, deployment frequency, change failure rate, and time to restore.

Make sprint goals part of how you run the sprint, not a line you fill out

The sprint goal should show up in three places.

  • In the daily scrum: “Are we still on track to hit the goal?”
  • In mid-sprint tradeoffs: “Which option better protects the goal?”
  • In the review: “Here’s what we shipped that satisfies the goal.”

If your daily standup is a round-robin status report, the sprint goal can be the reset button. It gives you a reason to talk about progress toward the outcome, not who’s “busy.”

Try one change next sprint: write the goal on the top of the board, then ask one question every day. “What’s the smallest thing we can finish today that moves the goal forward?”

Enjoyed this article?
Get more agile insights delivered to your inbox. Daily tips and weekly deep-dives on product management, scrum, and distributed teams.

Daily tips every morning. Weekly deep-dives every Friday. Unsubscribe anytime.