Entalpa
GuidesAcceptance criteria

Acceptance criteria examples, good and bad

Two formats, a template for each, examples for common features, and the one test that separates a criterion from a wish.

Where this comes from

Given-When-Then is the Gherkin format from behaviour-driven development. The examples are ours. Entalpa stores acceptance criteria as a field on every requirement; nothing on this page is a measurement.

What acceptance criteria are

Acceptance criteria are the conditions a user story or requirement must meet to count as done. Each criterion is a check that returns yes or no. They are written before the work starts, so the person building it knows where the edges are, and the person reviewing it does not have to rely on memory.

the test

If two people could look at the finished feature and disagree on whether a criterion is met, it is not a criterion yet.

Two formats and a template for each

# Scenario-based (Given-When-Then)
Scenario: <short name>
  Given <the starting context>
  When <the action>
  Then <the observable result>
  And <another observable result>
# Rule-based (checklist)
- <the system does X> when <condition>.
- <limit or constraint, with a number>.
- <what happens on failure>.

Use Given-When-Then when behaviour depends on a sequence or a state; it maps directly onto an automated test. Use rules for constraints that hold everywhere: limits, formats, permissions. Most stories need a few of each.

Examples by feature

Feature: Login
  Scenario: Wrong password
    Given an account with email a@example.com
    When I sign in with the wrong password 5 times within 10 minutes
    Then further attempts are blocked for 15 minutes
    And the account owner receives an email about it

Feature: Checkout
  Scenario: Out-of-stock item
    Given an item in my cart that sold out after I added it
    When I open checkout
    Then the item is marked unavailable
    And the order total excludes it
    And I can't place the order until I remove it

Feature: Search
  Scenario: No results
    Given no product matches "xyzzy"
    When I search for "xyzzy"
    Then I see "No results for xyzzy"
    And I see up to 5 suggested categories
File upload
- Accepts PDF, PNG and JPG up to 20 MB.
- A larger file is rejected before upload starts, with the limit shown.
- An upload interrupted by a lost connection resumes, not restarts.

Notifications
- A user can turn off each notification type separately.
- Security notifications (password change, new device) cannot be turned off.

Data export
- Export includes every record visible to the user, and nothing else.
- An export of more than 10,000 rows is emailed as a link, not downloaded.

Vague criteria, and what to write instead

VagueTestable
The page loads fastThe order list shows the first 50 orders within 1 second on a 10 Mbit connection
Login is secureAfter 5 failed attempts in 10 minutes, login is blocked for 15 minutes
Search is user-friendlyA search with no results shows the query and up to 5 suggested categories
Errors are handledA failed payment shows the processor's reason and keeps the cart intact
Works on mobileEvery checkout step is usable at 360 px width without horizontal scrolling

Acceptance criteria for an AI coding agent

An agent turns acceptance criteria into tests readily, and that is the main reason to write them before you prompt. Without them it writes tests for the behaviour it chose, which pass and prove nothing about the behaviour you wanted. With them, every criterion becomes a test you can read in a minute and a check you can run instead of reading the diff.

In Entalpa, acceptance criteria are a field on every requirement, next to its ID, priority and status, and the agent reads them over MCP along with the requirement. The Spec score flags requirements that have none. For the requirement format around them, see the PRD template.

Questions this raises

What are acceptance criteria?

The conditions a user story or requirement must meet to be accepted as done. Each is a check that returns yes or no, agreed before the work starts.

What is the Given-When-Then format?

A way to write a criterion as a scenario: Given a starting context, When an action happens, Then an observable result follows. It comes from behaviour-driven development and its Gherkin syntax, and maps directly onto automated tests.

How many acceptance criteria should a user story have?

Enough to cover the behaviour someone could get wrong, usually three to seven. If a story needs fifteen, it is probably two stories.

Who writes acceptance criteria?

Usually the product owner or analyst drafts them and the team refines them before the work starts. What matters is that they exist before building, not after.

entalpa

Entalpa gives your agent one locked source of truth

Structured, traceable requirements your agent reads over MCP β€” so it works from a curated spec instead of reconstructing your project every session. Free to start, no card, and reading or writing your project over MCP never spends credits.