What are Acceptance Criteria?
Agile User Stories often include Acceptance Criteria that must be met before a User Story is satisfied. Since Product Management is responsible for understanding the prioritizing the problems for the team to work on and the team collaboratively defines the solution for those problems — the acceptance criteria are a means by which to articulate the bounds of an acceptable solution for the need that is expressed by the user story.
Who writes the Acceptance Criteria?
It’s standard practice for the Product Manager to write the Acceptance Criteria. An important aspect of the Acceptance Criteria is to have a full understanding of the user’s needs and that’s what Product Managers are responsible for, so it’s ideal for them to write it. That said, it has become standard practice for the Product Manager to include the development team in determining the Acceptance Criteria to get buy-in from the team as well as work through any unforeseen pushbacks. It’s also an opportunity to communicate with the team about product vision and strategy.
When is Acceptance Criteria best applied?
The ideal time to write the Acceptance Criteria during the process or preparing stories for an upcoming sprint. This prevents you from having to rewrite the Acceptance Criteria as new findings emerge, which can happen if you create them right at the start of planning before development begins. It’s important not to write Acceptance Criteria after it’s gone into a sprint because the team needs to know the criteria that they’re aiming to accomplish. This can also be a way for the development team to verify the expectations and product vision of what they’re going to be developing.
What makes for good Acceptance Criteria?
Since a good User Story follows the standard as standard format, it makes sense to use a similar format for Acceptance Criteria:
User Story Formula
As a [who] I want to [what] So that [why]
Acceptance Criteria Formula
Given [precondition] When [action] then [outcome]
This structure not only provides guard rails for designing the solution, it also helps the team to know when to begin and end testing. If this formula is not suited well for your particular User Story than verification checklists can be used instead. Verification checklists are simple and straightforward, with the main downfall being that it lacks the consistent User Story structure.
How should Acceptance Criteria be determined?
The goal of a good User Story is to determine the needs of the user so that a product can be developed to answer those needs with a product solution. With that in mind, writing Acceptance Criteria for the User Story should be about creating functional criteria for the product that the determined user will need. Example:
User Story
As a dog owner,
I want to have my smartwatch remind me of walks and vet appointments
So that I don’t forget to feed Fido or take him to the vet when I get busy.
Acceptance Criteria
- Give user and pet information
- When setup walk times and vet dates
- Then receive notifications reminders on the smartwatch
Why do you need Acceptance Criteria?
Creating well-defined Acceptance Criteria helps Product Managers to set expectations with the team early on. Acceptance Criteria is also helpful for the developers because they understand from the start what they need to accomplish instead of having surprises pop up mid-sprint. Ultimately the goal of creating Acceptance Criteria is to reduce ambiguity for the team while defining scope and expectations right from the start.