Using Acceptance Criteria to Set Clear Expectations
Agile is a software development approach that empowers developers to deliver value to customers and end users faster and more efficiently. It is a framework for responding to change quickly and with minimal effort.
To achieve this level of flexibility, developers leverage tools and mechanisms designed to help them divide large projects into a series of discrete tasks with well defined objectives. The use of acceptance criteria is an example of a system established to help developers ensure timely delivery of their work.
What is acceptance criteria in Agile?
In an Agile environment, acceptance criteria are used to set clear expectations, define the boundaries of a user story, and to communicate the point at which a user story should be considered finished. They provide developers with the clarity necessary to build features that fit the needs of the client.
An example of a user story for a grocery store’s online product search feature might be:
“As an online customer, I want to search for products, so that I can find the ones that I want to buy.”
In this example, the desired objective or outcome of the feature is told from the perspective of the online customer (i.e., the end user). Although the value of the feature has been clearly defined, the point at which the product / feature should be considered complete is not.
This is where the significance of acceptance criteria becomes apparent.
They enable us to answer two very important questions in software development:
- Did we build the right product / feature?
- Did we build the product / feature to the satisfaction of the customer?
How do you write clear acceptance criteria for a story?
Acceptance criteria should focus on the “how,” in other words, the end result. They should be written prior to implementation, and there should be a user story and at least one acceptance criteria for each task in a product backlog.
Here are a few helpful tips for writing acceptance criteria that sets clear expectations for developers.
3 main characteristics of effective acceptance criteria:
- They should be clear and succinct
- They should be testable
- They should provide user perspective
Here is an example of well crafted acceptance criteria for the grocery store’s online product search feature:
User story example:
“As an online customer, I want to search for products, so that I can find the ones that I want to buy.”
Acceptance criteria example:
- Display available grocery store items, when search icon clicked
- Display user’s previously selected items first, if user is an account holder
- Display inventory in alphabetical order
- Show error message if current inventory is not responding
- Show user’s current online shopping cart at top-left corner
Conclusion
Acceptance criteria is an essential element of an effective user story. It is a critical Agile tool that enables product managers to clearly communicate what the success of a feature looks like from the perspective of the end user.