User Stories: How to Create Acceptance Criteria

2017-12-31 14:29:00
Yves
Original
5790
Summary : When working with clients who have already started adopting Agile, one of the first item the author look at is their backlog. Why? Because the quality of the backlog is a leading indicator to how well the team will perform. Unfortunately, most backlogs created by beginning product owners are in no shape to be consumed by a team, and the number one reason for this is usually a lack of acceptance criteria in the user stories.

When working with clients who have already started adopting Agile, one of the first item the author look at is their backlog. Why? Because the quality of the backlog is a leading indicator to how well the team will perform. Unfortunately, most backlogs created by beginning product owners are in no shape to be consumed by a team, and the number one reason for this is usually a lack of acceptance criteria in the user stories.


In this article, the following will be covered.

  • What are acceptance criteria?
  • Why are they important?
  • Why they work well?
  • How to create them?


What are acceptance criteria?

Acceptance criteria are statements of requirements that are described from the point of view of the user to determine when a story is "done" and working as expected.


This helps the team reduce risks by testing against the same criteria that were agreed upon when the team accepted the work. Acceptance criteria are emerging and evolving and assumed to be flexible enough to change until the team starts working the story. Anyone in the team like a business analyst, QA and developers can help the PO in both creating and reviewing the acceptance criteria.


Advantages of Acceptance Criteria:


  • Triggers the thought process for the team to think through how a feature will work from the end user perspective.
  • Helps the team to write the accurate test cases without any ambiguity to understand the business value.
  • Eliminates unnecessary scope that will add no value to the story, in other words, it will keep the right content.


Example

Customer would like to have an email sent to my normal email address when his account goes into overdraft so that I know that I need to put money into my account.

Acceptance Criteria:



Input
Process
Output
Valid Email Address
Email Address
Message sent to email address
Invalid Email Address
Email Address
Flag online profile as incomplete, kickoff snail mail message
Valid Email Address
Marketing Messaging
Marketing message copy matches copy provided by marketing
Valid Email Address
Marketing Messaging
Marketing message design matches the specifications provided by marketing
Valid Email Address
Marketing Messaging
A message contains email link that allows the user to navigate to online banking
Valid Email Address
Email Address
Message sent to email address
In the above example, acceptance criteria are a set of statements that represent the requirements "conditions of satisfaction". It also contains boundaries and parameters that determine when a story is completed and ready for acceptance. It expressed clearly in simple customer language without any ambiguity on what is expected as outcome. It must be easily actionable and translated into one or more manual/automated test cases.


When the development team has finished working on the user story they demonstrate the functionality of the Product Owner, showing how each criterion is satisfied.


Creating Acceptance Criteria


Acceptance criteria consist of three parts: i nput, proce ss and outcome. A useful way to think about acceptance criteria is:



When IX andY, I will checkZ as the result.

THE INPUTS of acceptance criteria are things like "entering a value and pushing a button" or "entering a command and checking results".


THE PROCESS of acceptance criteria is the actual computation being checked, Usually when we create a user story, we want something to happen for a given set of inputs by a user. That process, while not usually directly observable, is verifiable for a given set of inputs and expected outputs.


THE OUTCOME (RESULTS) of acceptance criteria should always be testable with minimal ambiguity.


When people think about user stories, they usually think in terms of the user story description. However, the user story is not complete until it has verifiable acceptance criteria. Acceptance criteria also help the team quickly seize a user story, because once they know how the story will be verified, they understand their effort needed to make it happen.


Use acceptance criteria for every user story.


Reference


Write a Comment
Comment will be posted after it is reviewed.