Acceptance Criteria are the objective components by which a User Story’s functionality is judged and are developed by the Product Owner according to his or her expert understanding of the customer’s requirements. Acceptance Criteria should outline the conditions that User Stories must satisfy. At the end of each Sprint, the Product Owner uses these Criteria to verify the completed deliverables and can either accept or reject individual deliverables and their associated user stories. Good acceptance criteria should include the characteristic of Usability, Performance, Functionality, Error handling and Stress tests
Clearly defined Acceptance Criteria are crucial for timely and effective delivery of the functionality defined in the User Stories, which ultimately determines the success of the project. It is a challenge for Scrum Product Owner to come up with and describe the boundaries of User Stories based on limited information.
Product Owner’s decision making is based on ways looking for safe solutions (principles of satisficing), the information and the time they have to make decisions. That is, their decision-making strategy attempts to meet an acceptability threshold rather than finding the best option available. They do not stick to make optimized decisions.
Scrum projects operate in Time-boxed Sprints and due to time constraints it is not always possible to provide a detailed list of criteria that will cover the User story as a whole. Therefore, Product Owner comes up with a list that is good enough to move the sprint ahead.
Product Owner begins conversations with the customer and stakeholders for outlining specific requirements as they pertain to the proposed product or service and begin the search for the optimal list of Acceptance Criteria. But in reality, the Product Owner identifies a list of criteria which is highly visible and not comprehensive or exhaustive. Once the list is identified, the product owner discusses them with the team. Review begins with alternatives, differing a little from the current choice of list, along with the team and it continues until the product owner identifies an alternative that meets acceptable level of performance.
Constituting an exhaustive list for Acceptance Criteria is not mandatory but they should be sufficient to move the sprint forward. Acceptance Criteria are limited by time and they do not add internal value to the future product.
Role of Acceptance Criteria in maintaining quality is critical and needs to be clearly understood by the team members. User Stories should be able to ignite ideas in team members so that presence of a detailed list of criteria covering all aspects is no longer being required.