Acceptance Criteria
Specific conditions that must be met for a user story or feature to be considered complete and acceptable.
Also known as: AC, Acceptance Conditions, Success Criteria, Acceptance Tests
Category: Software Development
Tags: software-development, agile, requirements, testing, quality, scrum, user-stories, communication
Explanation
Acceptance Criteria are explicit, testable conditions that define the boundaries and expected behavior of a user story, feature, or requirement. They serve as a contract between stakeholders and the development team, clarifying what must be true for work to be considered done.
Acceptance criteria provide several critical benefits:
**Shared Understanding**: Creates alignment between product owners, developers, testers, and stakeholders about what will be delivered.
**Clear Scope**: Defines the boundaries of a feature, helping prevent scope creep and managing expectations.
**Testability**: Provides the basis for test cases and quality assurance validation.
**Definition of Done**: Serves as objective criteria for determining when a story is complete.
**Communication Tool**: Facilitates discussions about edge cases, assumptions, and requirements during planning.
Well-written acceptance criteria typically follow these patterns:
**Given-When-Then Format (Behavior-Driven Development)**:
- Given [some context or precondition]
- When [some action is performed]
- Then [some expected outcome occurs]
Example:
- Given a user is logged in
- When they click the "Save" button
- Then their changes are persisted and a confirmation message appears
**Checklist Format**:
- User can filter results by date range
- Results display in descending chronological order
- Maximum 20 results shown per page
- Error message appears if no results found
**Best Practices**:
- Make criteria specific and unambiguous
- Focus on "what" not "how" (outcomes, not implementation)
- Ensure they're testable and verifiable
- Keep them independent of each other when possible
- Write from the user's perspective
Acceptance criteria are typically defined before development begins (part of the Definition of Ready) and used to verify completion (part of the Definition of Done). They bridge the gap between high-level user stories and technical implementation details.
Related Concepts
← Back to all concepts