Acceptance Criteria That Clarify Definition of Done

Estimated reading: 7 minutes 6 views

About 6 out of 10 teams I’ve worked with define “done” only in vague terms like “all tasks complete” or “code reviewed.” That’s not enough. Without clear acceptance criteria, stories become ambiguous, testing becomes inconsistent, and the Definition of Done collapses into a checklist of assumptions.

Acceptance criteria are the bridge between what the user wants and what the team commits to delivering. They’re not just a list of tests—they’re a shared understanding. When written well, they make the Definition of Done concrete, verifiable, and aligned with business value.

What you’ll gain here is a practical guide to crafting acceptance criteria that stop ambiguity, reduce rework, and turn conversations into actionable outcomes. I’ll show you real formats, trade-offs, and how to avoid the common trap of writing criteria that pass but miss the point.

Why Acceptance Criteria Matter in Agile User Stories

Acceptance criteria aren’t optional documentation—they’re part of the story’s DNA. They define what success looks like from the user’s perspective.

When teams skip or rush acceptance criteria, two things happen: misunderstandings grow, and the Definition of Done becomes arbitrary. A story marked “done” may lack critical checks, fail in production, or miss key user scenarios.

As a mentor, I’ve seen teams spend hours debugging issues because they assumed the user “wouldn’t need” a certain feature. That’s not a bug—it’s a missing acceptance criterion.

What Acceptance Criteria Are (and Aren’t)

Acceptance criteria are verifiable conditions that a story must meet. They’re not technical specs. They’re not test scripts. They’re not implementation details.

They answer: When can we say the user’s goal is actually fulfilled?

Common mistakes:

  • Writing criteria in developer jargon like “backend API returns 200.”
  • Using vague terms like “works correctly” or “data shows up.”
  • Creating so many criteria that the story becomes unwieldy.

Proven Formats for Effective Acceptance Criteria

There’s no single correct format, but certain patterns work consistently across teams. Choose one that fits your context and stick with it.

Given-When-Then (GWT) Format

This format is excellent for behavior-driven development (BDD) and real-world scenarios.

Given the user is on the login page
When they enter valid credentials
Then they should be redirected to the dashboard

Use this when the story involves a sequence of actions and expected results. It forces clarity about state, action, and outcome.

Scenario: One Example, One Outcome

Structure each criterion as a standalone scenario. This avoids confusion and keeps the focus on one behavior at a time.

  • Scenario 1: User logs in with correct credentials → redirected to dashboard
  • Scenario 2: User logs in with incorrect email → error message shown
  • Scenario 3: User logs in with blank password → validation error appears

Each scenario should be testable and independent. Don’t combine multiple behaviors in one criterion.

Business Language + Acceptance Criteria

For non-technical stakeholders, keep language simple and goal-focused.

Story: As a customer, I want to reset my password so I can regain access to my account.

Acceptance Criteria:

  • Given I’m on the password reset page, when I enter my email, then I should receive a confirmation message.
  • Given I’ve received the reset email, when I click the link, then I should be taken to a page to enter a new password.
  • Given I’ve entered a new password, when I submit it, then my password should be updated and I should be redirected to the login page.

These are clear, specific, and grounded in user behavior—not implementation.

How to Write Acceptance Criteria That Work

Here’s a step-by-step approach I’ve used with teams across fintech, healthcare, and SaaS:

  1. Start with the story goal. Ask: “What does the user truly need?” Avoid jumping to “how.”
  2. Break it into behaviors. Think: “What are the key interactions the user will have?”
  3. Write each behavior as a scenario. Use Given-When-Then or plain English.
  4. Add edge cases. What if the data is missing? What if the user is offline?
  5. Review with the team. Does QA know how to test it? Does the developer understand the intent?

Don’t write criteria in isolation. They’re a conversation starter, not a document.

Common Pitfalls and How to Avoid Them

Even with good intentions, teams often fall into traps:

  • Too vague: “User receives confirmation.” → What confirmation? When? To whom?
  • Too technical: “API returns status 200.” → What does that mean for the user?
  • Too many criteria: Overloading a story with 10+ acceptance criteria hides the core value.

Ask: Can a tester write a test from this? Can a new team member understand it without context?

Acceptance Criteria and the Definition of Done

Acceptance criteria are the foundation of the Definition of Done (DoD). But only if they’re clear and measurable.

When teams say “the story is done,” they mean: all acceptance criteria have passed.

This is where many fail. Let’s look at a real example:

DoD Checklist Example: User Login Story
Acceptance criteria defined
Code reviewed
Unit tests pass
Integration tests pass
Acceptance tests passed ✗ (No acceptance criteria defined)

If acceptance criteria are missing or vague, the DoD is incomplete. That story is not truly “done” — it’s just “written.”

Definition of Done Examples

Here are two clear examples from real teams:

Example 1: E-commerce Checkout

  • When the user clicks “Complete Order,” a confirmation page shows the order summary and number.
  • When the order is placed, an email is sent to the user with order details within 30 seconds.
  • When the user is logged in, the order appears in their “My Orders” history.

Example 2: User Profile Update

  • When the user updates their email, a confirmation message appears.
  • When the email is changed, the user must verify it via a link sent to the old and new email.
  • When the user tries to log in with the old email, they are prompted to verify the new one.

Each of these is testable, user-focused, and directly tied to business value. That’s how you build a trustworthy Definition of Done.

When to Avoid Acceptance Criteria (and What to Do Instead)

Not every story needs formal acceptance criteria. Some are too simple or already covered by other rules.

For example:

  • A button label change: “Update Profile” → “Save Changes”
  • Minor UI layout fix: “Align form fields to center”

But even here, ask: Does this change affect user experience? Could someone misunderstand it? If yes, add a simple acceptance criterion.

For these light stories, use a one-liner criterion or link to a design specification.

Frequently Asked Questions

How many acceptance criteria should a user story have?

Between 3 and 5 is ideal. More than that, and the story becomes hard to test and maintain. Focus on the most critical behaviors that deliver value.

Can acceptance criteria be written in plain English?

Absolutely. In fact, they should be. The goal is clarity across roles—product owner, developer, QA, UX. Use natural language, not technical syntax.

Are acceptance criteria the same as test cases?

No. Acceptance criteria define what to test. Test cases define how to test it. But every acceptance criterion should map to at least one test case.

What if acceptance criteria change during development?

That’s normal. The story is a conversation, not a contract. If new insight emerges, discuss it with the team and update the criteria. But never ignore a change in user need.

Do acceptance criteria apply to non-interactive features like reporting?

Yes. For example: “As a manager, I want a weekly sales report so I can track performance.” Acceptance criteria: “The report includes total sales, top 5 products, and comparison to last week.”

How do I ensure acceptance criteria are verifiable?

Ask: “Can we prove this is true?” If yes, it’s verifiable. If it depends on “the user will like it,” it’s not. Replace subjective language with measurable outcomes.

Acceptance criteria user stories aren’t just about writing—it’s about building trust. When criteria are clear, teams deliver with confidence. When they’re vague, rework, frustration, and scope creep follow.

Use the formats here. Apply them consistently. Review them in refinement. Make them a shared commitment.

Because a user story is only as strong as its acceptance criteria.

Share this Doc

Acceptance Criteria That Clarify Definition of Done

Or copy link

CONTENTS
Scroll to Top