Acceptance Criteria: Purposes, Formats, and Best Practices

AC = Acceptance Criteria = the conditions that a software product must meet to be accepted by a user, a customer, or other system. They are unique for each user story and define the feature behavior from the end-user’s perspective. Well-written acceptance criteria help avoid unexpected results in the end of a development stage and ensure that all stakeholders and users are satisfied with what they get.

Acceptance criteria main purposes
Feature scope detalization
Describing negative scenarios
Setting communication
Streamlining acceptance testing
Feature estimation

Acceptance criteria types and structures
scenario-oriented (Given/When/Then)
rule-oriented (checklist)
custom formats

Scenario-oriented acceptance criteria
Given some precondition
When I do some action
Then I expect some result

This approach was inherited from behavior-driven development (BDD) and provides a consistent structure that helps testers define when to begin and end testing a particular feature. It also reduces the time spent on writing test cases as the behavior of the system is described upfront.
Each acceptance criteria written in this format has the following statements:
Scenario — the name for the behavior that will be described
Given — the beginning state of the scenario
When — specific action that the user makes
Then — the outcome of the action in “When”
And — used to continue any of three previous statements

Rule-oriented acceptance criteria format
The rule-oriented form entails that there is a set of rules that describe the behavior of a system. Based on these rules, you can draw specific scenarios.

Article gives many examples and also covers:
Basic search interface acceptance criteria
Other formats
Roles responsible and how acceptance criteria are created

Main challenges and best practices of writing acceptance criteria
Document criteria before development
Don’t make AC too narrow
Keep your criteria achievable
Keep AC measurable and not too broad
Avoid technical details
Reach consensus
Write testable AC

Author = AltexSoft Inc (Medium)

8 steps to a Definition of Done in Jira

DoD = Definition of Done = a clear and concise list of requirements that software must adhere to for the team to call it complete.

8 steps to a Definition of Done in Jira

  1. Create a DoD in Jira
  2. Break it down
  3. Make it Global
  4. Manage it over time
  5. (No 5)
  6. Make the product owner responsible and the team accountable
  7. Enforce it
  8. Create an acceptance criteria list in Jira

Author = Dave Meyer (Atlassian)

Definition of Done Examples for Software Projects

DOD = Definition of Done = a checklist of features and activities, for example, writing code, coding comments, unit testing, integration testing, release notes, design documents, etc. that adds or demonstrates value to the product.

Article covers:
Definition of Done Examples
Definition of Done Examples for each type of DoD

  1. Definition of Done checklist for User Story
  2. Definition of Done checklist for Sprint
  3. Definition of Done checklist for Release

Author = Ekaterina Novoseltseva (Apiumhub)

Definition of Done vs Acceptance Criteria

DoD = Definition of Done  = a list of requirements that a user story must adhere to for the team to call it complete.

Acceptance Criteria of a User Story = set of Test Scenarios that are to be met to confirm that the software is working as expected.

Article covers:

Definition of Done
The goals of Definition of Done
Example – Definition of Done
Acceptance Criteria
The goals of Acceptance Criteria
Example – Acceptance Criteria
Example of User Story with Acceptance Criteria

Author = Visual Paradigm