Collaboration & Process › Agile & Delivery Process
Acceptance Criteria
The conditions a story must meet to be done.
Also known as: AC, acceptance criteria for user stories, story acceptance criteria, done criteria for a story
Acceptance criteria are the specific conditions a single piece of work (usually a user story) must meet to be accepted as done. They turn “reset password” into something you can build and verify without guessing.
Story: As a user who forgot my password, I want to reset it by email, so that I can get back into my account.
Acceptance criteria:
- Given I enter a registered email, when I submit the form, then I receive a reset link within 1 minute.
- The link works once and expires after 1 hour.
- Given I enter an unregistered email, I see the same confirmation message (no account discovery).
- The new password must meet the password rules, and I see why when it doesn’t.
- After a successful reset, all my existing sessions are logged out.
What good criteria look like
- Specific and testable. Someone can say yes or no for each one. “Fast” and “easy to use” aren’t criteria, and “the page responds within 500 ms at p95” is.
- About behavior (what), not implementation (how). “Link expires after 1 hour”, not “use a Redis TTL”.
- Include the unhappy paths: errors, empty states, permissions and edge cases (given-when-then is a common format).
- Agreed before work starts, by the people who build it, test it and ask for it.
- Short enough to fit a story. Fifteen pages of criteria mean the story is too big.
Why they matter
They give a shared definition of “this story is finished”, prevent “that’s not what I meant” at the end, guide what to test (acceptance tests, BDD), and help estimate.
Don’t confuse with the definition of done
Acceptance criteria differ for each story. The definition of done is a team-wide checklist that applies to every story (code reviewed, tests pass, documentation updated, deployed). A story is done when it meets both.
When criteria are unclear, ask before coding. It’s much cheaper than rewriting.