What Are User Story Acceptance Criteria?
Benefits and purpose of Conditions of Satisfaction in User Stories
Author: Tom and Angela Hathaway
Video Duration: 4:55 minutes
This KnowledgeKnugget™ is part of this eCourse
Udemy Course: User Story Best Practices
for Agile and Business-side Teams
Learn How to Capture, Write, Prioritize, Rightsize and Split User Stories Plus Acceptance Tests with Given-When-Then Scenarios
Acceptance Criteria Remove Ambiguity and Lead to Acceptance Tests
The Acceptance Criteria of a User Story should ultimately cover the nuances that the product needs to implement the feature. While the User Story is written from the user’s point of view, Acceptance Criteria are written from the product’s point of view.
Appropriate Acceptance Criteria add tremendous value to a User Story. They can be used to:
- Enhance communication
- Clarify Feature scope
- Facilitate feature estimation
- Focus on negative situations
- Spawn acceptance tests
Acceptance Criteria synchronize the visions of the author with the Agile team. They bolster that mutual understanding of the User Story that is our holy grail. Developers who know what rules the User Story must obey are less likely to deliver the wrong solution. On the other hand, stakeholders have control over what they consider a working User Story.
Acceptance Criteria explicitly clarify what is in and out of scope. They provide details on functions and behaviors that signal to the team whether the story is completed and works as expected. In addition, giving the developers specific guidelines on the conditions of satisfaction facilitates estimation. The more they know about what they need to deliver, the better they can estimate the effort required to deliver.
Acceptance Criteria can also reference or define situations in which a user cannot proceed, things like an invalid password pattern, or a forbidden combination of items on an order are examples of a so-called negative scenarios. You can create acceptance criteria to define negative scenarios and specify how the system will react.
Ultimately, you will need specific Acceptance Tests such as test cases or GIVEN-WHEN-THEN Scenarios that can be executed either automatically or manually to confirm that the application does what the User Story specifies. Acceptance Criteria can sometimes be expressed at that level of detail but do not have to be. At a minimum, they should make the creation of Acceptance Tests a whole lot easier.