Acceptance criteria is a list of requirements that ensure that all user stories are completed correctly and comply with a product owner’s (or client’s) expectations, including all possible scenarios. Acceptance criteria specifies the conditions in which a user story is fulfilled. It needs to be established up front, not after the development stage has started.
Software development teams use acceptance criteria, coupled with user stories. Development teams use acceptance criteria to define the boundaries of a user story. It is completed when the application functions are confirmed. Acceptance criteria also ensures that the development team is in synch with the product owner – the team knows what conditions need to be met, while the product owner knows precisely what to expect from the software.
Furthermore, acceptance criteria are used for positive / negative testing designed to check if the system works as expected. The proper dividing up of user stories into tasks is also allowed under acceptance criteria.
Usually, either the product owner (client) or the development team writes the acceptance criteria.
Types of Acceptance Criteria
The two most popular types of acceptance criteria are rules-oriented and scenarios-oriented. The rules-oriented type comes in the form of a list. The scenarios-oriented type comes in the form of scenarios that illustrate each criterion.
Agile teams like to use the scenario-oriented type because it helps envision use cases, communicates the requirements and is useful in acceptance testing. The common template for this type is the Given/When/Then format. It helps you describe the system’s behavior up front. And it is okay to write in the first person “I” to keep the user’s perspective front and center.
Here is an example:
Given that I am a new user to a site;
When I am on the “Sign Up” page and fill out all my information,
Then I gain access immediately and receive a confirmation email.
The following are some tips for you to create good acceptance criteria:
- Make the criteria realistic and something that people can achieve
- Don’t try to describe every detail
- Try to build it based on consensus by coordinating with everyone involved in the project
- Establish measurable criteria so you can stay on budget and within time constraints
- Maintain a well-defined criteria
- Provide checklists to see the user stories that are covered by the acceptance criteria
Acceptance criteria and user stories go hand in hand, and you must