Guide / 01

Acceptance
criteria

Clear acceptance criteria are the difference between a story that delivers value and one that has to be redone. Here is how to write them with Given/When/Then — and avoid the misunderstandings.

Principles / 02

What makes
criteria
good?

01
Written together, not upfront
Acceptance criteria are shaped in conversation between the product owner, team and stakeholders — usually during refinement — so everyone shares the same picture of done.
02
Describe behaviour, not solution
Criteria focus on what the system should do from the user's perspective, not how to implement it. That leaves room for the team to find the best technical approach.
03
Testable and unambiguous
Every criterion should be verifiable with a clear yes or no. Vague words like 'fast' or 'user-friendly' don't belong here.
04
Small enough to ship
If a story carries ten criteria it is usually too big. Split it so each story can be delivered and validated within a single sprint.

The format / 03

Given
When
Then

A scenario-based format that describes behaviour in a way both humans and automated tests can understand.

01
Given — the starting state
Describe the preconditions before the action takes place: who the user is, what state the system is in, and what data exists.
02
When — the action
Describe the specific event or action that triggers the behaviour — a click, an API call, a scheduled job.
03
Then — the expected outcome
Describe the observable result: what the user sees, what data changes, or what message is sent.
04
And — additional clauses
Use 'And' to add more preconditions or outcomes without losing readability. Keep each scenario focused on one behaviour.

Example / 04

A concrete scenario

User story: As a signed-in customer I want to save items to a wishlist so that I can buy them later. Acceptance criteria: Scenario: Adding an item to the wishlist Given I am signed in and viewing a product page When I click "Add to wishlist" Then the item appears in my wishlist And the wishlist icon updates with the saved item count Scenario: Trying to save without being signed in Given I am not signed in When I click "Add to wishlist" Then a sign-in dialog appears And the item is saved automatically once I am signed in

FAQ / 05

Common
questions

01What are acceptance criteria?
+

Acceptance criteria are the conditions a user story must satisfy to be considered done. They define scope and make it possible to verify that the right thing was built.

02How are acceptance criteria different from a Definition of Done?
+

Acceptance criteria are specific to a single user story. The Definition of Done applies to every increment the team delivers — for example code review, tests, and documentation.

03Who writes the acceptance criteria?
+

The product owner is accountable, but the best criteria emerge in refinement with the team so that both business and technical perspectives are captured.

04Do I have to use Given/When/Then?
+

No. Given/When/Then is a powerful format for behaviour-driven criteria, but a simple checklist works well for smaller stories. Use whichever format gives the team the most clarity.

05How many acceptance criteria should a user story have?
+

There is no magic number, but three to seven is typical. If the list grows longer, the story is probably too big and should be split.

Want to sharpen your stories?

We help teams write better stories