Updated: July 19, 2024- 12 min read
Acceptance Criteria are a set of conditions that must be met before a product or feature is considered complete. They serve as a communication tool between Product Managers, Developers, Engineers, and other stakeholders to ensure that everyone is aligned on the Product Requirements Document (PRD).
Especially within Agile methodologies, clear and well-defined acceptance criteria are essential for reducing misunderstandings and minimizing the risk of rework. By setting specific, measurable, and user-focused criteria, teams can enhance collaboration, ensure quality, and deliver products that meet user needs and expectations.
User Flow Template
Include design early in the Product process with these two user flow diagram templates.
Get the templateWhat Are Acceptance Criteria in Product Management?
Acceptance Criteria are the conditions that a feature or product must meet before it’s ready for your customers. Think of it as a set of requirements—these requirements are defined by the Product Manager and then communicated to the Product Development team. The result should be a product that is built to the correct specifications and that works, reducing the risk of releasing something that is not complete (every Product Manager’s worst nightmare!).
Acceptance Criteria are critical for the success of your product because they ensure that everyone involved is aligned. This shared set of requirements serves as a communication tool between the cross-functional Product Development team, helping to prevent miscommunication and reducing the risk of rework. Acceptance Criteria can also improve the quality of your product by catching defects early—before your users have the chance to encounter them!
When to Use Acceptance Criteria
Acceptance Criteria should be created early in the Product Development process, ideally during the planning phase, and should be reviewed and updated throughout the development cycle. While Acceptance Criteria have a place in every product development cycle, they are especially important for complex features or projects that involve multiple teams or stakeholders. Acceptance Criteria can also be useful in Agile development environments, where they can help ensure that each iteration of the product meets the desired requirements.
Download the PRD Template
Go from idea to action with this easy-to-use PRD template, our step-by-step guide to help you define your product's purpose, USPs, and GTM strategy.
Get free templateHow to Write Effective Acceptance Criteria: Best Practices
Start with the user: Acceptance Criteria should be focused on the user’s needs and expectations. Ask yourself, “What problem does this feature solve for the user?” and “How will the user interact with this feature?”
Be specific and measurable: Acceptance Criteria should be clear and specific so that everyone involved knows exactly what is expected. Use measurable criteria whenever possible, such as response time, error rates, or user satisfaction. For example, instead of "The system should be fast," specify "The page should load within 2 seconds."
Include edge cases: Acceptance Criteria should cover not only the expected use cases but also potential edge cases or exceptions.
Communicate it simply: Acceptance Criteria should be simple and easy to understand. Avoid overly complex criteria that may confuse or frustrate the Development team.
Acceptance Criteria Formats and Examples
Acceptance criteria can be formatted in various ways depending on the needs of the team and the complexity of the project. The goal is to make them clear, specific, and actionable. Here are some common formats used:
Checklists
Simple and straightforward, checklists spell out the criteria in a concise manner.
Easy to read and understand, making them ideal for straightforward requirements.
Useful for tracking progress and ensuring all conditions are satisfied.
Checklist example:
The feature should load within 2 seconds.
The user should be able to reset their password using their email address.
Error messages should be displayed in red and appear within 1 second of an error.
Scenario-Oriented (Given/When/Then)
A structured format that describes the criteria in the context of a scenario.
Helps to specify the behavior of the system in different situations.
Scenario-Oriented (Given/When/Then) Example:
Given the user is on the login page
When the user clicks on the "Forgot Password" link
Then the system should prompt the user to enter their email address
And the system should send a password reset link to the provided email address
And the user should see a confirmation message on the screen
Scenario: Error message on failed login
Given the user is on the login page
When the user enters an incorrect password
Then the system should display an error message in red
And the error message should appear within 1 second of the login attempt
Scenario-Oriented (Given/When/Then) Acceptance Criteria Template
The Given/When/Then format is particularly effective for describing acceptance criteria in a clear, structured way. Follow this template to help break it down:
Scenario: [Brief description of the scenario]
Given [Initial context or state of the system]
When [Action performed by the user]
Then [Expected outcome or behavior]
And [Additional outcomes or behaviors, if any]
Example: User registers for a new account
Given the user is on the registration page
When the user fills out all required fields with valid information
And the user clicks the "Register" button
Then the system should create a new account for the user
And the user should be redirected to the welcome page
And the user should receive a confirmation email
User Story-based Acceptance Criteria and How to Write Them
User stories frame requirements from the perspective of the user, and allow developers to come up with creative solutions to their needs. Using acceptance criteria to strengthen user stories helps clarify the scope, provide a shared understanding among stakeholders, and set the boundaries for what is to be built.
Writing effective user stories and their corresponding acceptance criteria involves understanding the user's needs and clearly defining the expected outcomes. Here’s a step-by-step guide:
Identify the User:
Start by identifying who the user is. This could be a customer, admin, or any other stakeholder.
Use the format: "As a [user], I want [feature] so that [benefit]."
Define the User Story:
Clearly articulate the user story.
Example: "As a registered user, I want to be able to reset my password so that I can regain access to my account if I forget it."
Determine Acceptance Criteria:
Define the conditions that must be met for the user story to be complete.
Ensure the criteria are clear, measurable, and testable.
Use the Given/When/Then format for structured criteria.
Example of a User Story with Acceptance Criteria
User Story: "As a user, I want to be able to add items to a wishlist so that I can purchase them later."
Acceptance Criteria scenario: Adding an item to the wishlist
Given the user is logged into their account
When the user views a product
And the user clicks on the "Add to Wishlist" button
Then the system should add the product to the user's wishlist
And the system should display a confirmation message
Scenario: Viewing the wishlist
Given the user is logged into their account
When the user navigates to their wishlist page
Then the system should display all the items that the user has added to their wishlist
And each item should have an option to remove it from the wishlist or move it to the shopping cart
Agile Acceptance Criteria and Acceptance Criteria in Scrum
Acceptance criteria play a crucial role in Agile methodologies, ensuring that the development team understands the exact requirements and expectations for each feature or user story. In Agile, acceptance criteria help maintain clarity, focus, and alignment throughout the iterative development process. Key aspects of agile acceptance criteria include:
Clear Communication:
Acceptance criteria provide a clear definition of what is expected for a feature to be considered complete.
They ensure that everyone, including product owners, developers, and testers, is on the same page.
Focus on User Value:
Criteria are often written from the user’s perspective, focusing on the value delivered to the end-user.
This aligns with Agile’s emphasis on delivering small, incremental improvements that enhance user satisfaction.
Testable Conditions:
Acceptance criteria must be testable to verify that the feature meets the specified requirements.
This helps in creating automated tests that can be run as part of the continuous integration process.
Incremental and Iterative Development:
In Agile, features are developed incrementally. Acceptance criteria help ensure that each increment meets the desired standards.
They provide a benchmark for evaluating progress at the end of each iteration or sprint.
Acceptance Criteria in Scrum
Scrum, a popular Agile framework, uses acceptance criteria to ensure that each item in the product backlog is well-defined and ready for development. Acceptance criteria in Scrum are integral to sprint planning, execution, and review.
Sprint Planning:
During sprint planning, the development team reviews user stories and their acceptance criteria.
Well-defined acceptance criteria help the team estimate effort and plan the sprint effectively.
Definition of Done:
Acceptance criteria contribute to the "Definition of Done" (DoD) for user stories.
A user story is not considered done until it meets all the acceptance criteria.
Sprint Execution:
Throughout the sprint, the development team uses acceptance criteria to guide their work.
Criteria provide a clear target for what needs to be achieved for a user story to be complete.
Sprint Review:
At the end of the sprint, the team demonstrates the completed user stories to stakeholders.
Acceptance criteria are used to verify that the functionality meets the requirements and is ready for release.
Design Sprint Template
Use design thinking to solve design problems and reduce production risks.
GET THE TEMPLATEExamples of Product Acceptance Criteria
Example #1: Airbnb - Instant Book Feature
User Story: "As a traveler, I want to instantly book a property without waiting for host approval so that I can quickly secure accommodation for my trip."
Acceptance Criteria:
Scenario: Searching for properties with Instant Book
Given the traveler is on the Airbnb homepage
When the traveler enters a destination, check-in, and check-out dates, and the number of guests
And filters the search results to show only properties with the "Instant Book" option
Then the system should display a list of available properties that match the search criteria and have the Instant Book option enabled
Scenario: Booking a property with Instant Book
Given the traveler is viewing the details of a property with Instant Book enabled
When the traveler clicks the "Reserve" button
And enters their payment information and confirms the booking
Then the system should immediately process the payment
And send a confirmation email to the traveler with the booking details
And update the property's calendar to reflect the booked dates
Scenario: Canceling an Instant Book reservation
Given the traveler has an active Instant Book reservation
When the traveler navigates to their "Trips" page
And selects the option to cancel the reservation
Then the system should prompt the traveler to confirm the cancellation
And upon confirmation, the system should cancel the reservation and send a cancellation confirmation email to the traveler
And update the property's calendar to reflect the canceled dates
Example #2: Slack - Direct Messaging Feature
User Story: "As a user, I want to be able to send direct messages to my colleagues so that I can communicate privately."
Product Acceptance Criteria:
Scenario: Sending a direct message
Given the user is logged into their Slack account
When the user selects a colleague from the contact list
And types a message in the direct message window
And clicks on the "Send" button
Then the system should deliver the message to the selected colleague
And the message should appear in the direct message conversation thread
Scenario: Receiving a direct message
Given the user is logged into their Slack account
When a colleague sends a direct message to the user
Then the system should display a notification to the user
And the message should appear in the direct message conversation thread
Scenario: Searching direct messages
Given the user is logged into their Slack account
When the user enters a keyword in the search bar
Then the system should display a list of direct messages containing the keyword
And the user should be able to click on a message to view the full conversation
Example #3: Trello - Card Due Dates Feature
User Story: "As a project manager, I want to set due dates on cards so that my team is aware of task deadlines."
Acceptance Criteria:
Scenario: Setting a due date on a card
Given the project manager is viewing a card on a Trello board
When the project manager clicks on the "Due Date" button
And selects a date and time from the calendar picker
Then the system should save the selected date and time as the due date for the card
And display the due date on the card
Scenario: Editing a due date on a card
Given the project manager is viewing a card with an existing due date
When the project manager clicks on the due date and selects a new date and time
Then the system should update the card with the new due date
And display the updated due date on the card
Scenario: Removing a due date from a card
Given the project manager is viewing a card with an existing due date
When the project manager clicks on the due date and selects the option to remove it
Then the system should remove the due date from the card
And the due date should no longer be displayed on the card
Scenario: Notifications for upcoming due dates
Given the project manager has set due dates on multiple cards
When the due date of a card is approaching (e.g., 24 hours before the due date)
Then the system should send a notification to the project manager and assigned team members
And the notification should include the card name, due date, and a link to the card
The Importance of Acceptance Criteria
In conclusion, understanding and effectively writing acceptance criteria is crucial for successful product development in dynamic product environments. By using clear formats and templates, such as checklists and the Given/When/Then structure, teams can ensure that user stories meet specified requirements and align with stakeholder expectations.
Whether you’re working within the Agile framework or other product development methodologies, these guidelines help maintain clarity, reduce risks, and improve overall product quality. Embrace these best practices to create robust, user-focused acceptance criteria in your projects.
Product Launch Checklist
Launch is a critical time that can make the difference between product success and failure. Use this checklist to make sure nothing falls through the cracks.
DOWNLOAD CHECKLISTUpdated: July 19, 2024