Table of Contents

    Acceptance Criteria

    7.3 Acceptance Criteria

    Introduction

    Acceptance Criteria are specific conditions that a Product Backlog item or User Story must satisfy to be considered complete and acceptable.

    They define the expected behavior, functionality, and outcomes of a feature from the business and user perspective.

    Acceptance Criteria help ensure that the Scrum Team and stakeholders share the same understanding of requirements.

    What are Acceptance Criteria?

    Acceptance Criteria are a set of predefined rules or conditions that determine whether a User Story has been implemented successfully.

    They explain:

    • What the feature should do
    • How the system should behave
    • What conditions must be satisfied
    • How the feature will be validated

    Purpose of Acceptance Criteria

    Acceptance Criteria help Scrum Teams:

    • Clarify requirements
    • Reduce misunderstandings
    • Improve collaboration
    • Support testing activities
    • Ensure product quality
    • Define completion expectations

    Why Acceptance Criteria are Important

    Without Acceptance Criteria:

    • Requirements may become unclear
    • Developers may misunderstand functionality
    • Testers may not know how to validate features
    • Stakeholders may have different expectations

    Acceptance Criteria provide a shared understanding for everyone involved.

    Relationship Between User Story and Acceptance Criteria

    A User Story explains:

    • Who needs the feature
    • What they want
    • Why they need it

    Acceptance Criteria explain:

    • How the feature should work
    • What conditions define success
    • What must be tested

    Example of User Story with Acceptance Criteria

    User Story

    "As a customer, I want to reset my password so that I can regain access to my account."

    Acceptance Criteria

    • Password reset email must be sent successfully
    • Reset link must expire after 30 minutes
    • User must create a strong password
    • Password reset confirmation message must appear

    Characteristics of Good Acceptance Criteria

    Characteristic Description
    Clear Easy to understand
    Specific Clearly defines expected behavior
    Testable Can be verified through testing
    Measurable Success conditions are observable
    Relevant Directly related to User Story

    Types of Acceptance Criteria

    1. Functional Acceptance Criteria

    Defines system functionality and behavior.

    Example

    • User can log in with valid credentials
    • System displays error for invalid password

    2. Non-Functional Acceptance Criteria

    Defines quality-related requirements.

    Example

    • Page should load within 2 seconds
    • System must support 10,000 users simultaneously

    Formats of Acceptance Criteria

    1. Checklist Format

    Simple bullet-point conditions.

    Example

    • User receives verification email
    • Email link expires after 24 hours
    • Password must contain special characters

    2. Given-When-Then Format

    A structured format commonly used in Behavior-Driven Development (BDD).

    Example

    Given the user enters valid login credentials
    When the user clicks the login button
    Then the system should redirect the user to the dashboard

    Acceptance Criteria vs Definition of Done

    Aspect Acceptance Criteria Definition of Done
    Purpose Defines feature-specific requirements Defines overall completion standards
    Scope Specific to one User Story Applies to all backlog items
    Focus Feature behavior and validation Quality and completion process
    Created By Usually Product Owner Entire Scrum Team

    Benefits of Acceptance Criteria

    Benefit Description
    Improved Requirement Clarity Reduces misunderstandings
    Better Testing Support Provides clear test conditions
    Higher Product Quality Ensures correct functionality
    Improved Collaboration Aligns Scrum Team and stakeholders
    Reduced Rework Clear expectations prevent confusion
    Supports Agile Transparency Clearly defines completion expectations

    Role of Product Owner in Acceptance Criteria

    The Product Owner:

    • Defines business expectations
    • Creates Acceptance Criteria
    • Clarifies requirements
    • Ensures business value alignment

    Role of Developers in Acceptance Criteria

    Developers:

    • Review Acceptance Criteria
    • Ask technical questions
    • Implement required functionality
    • Ensure feature satisfies criteria

    Role of Testers in Acceptance Criteria

    Testers:

    • Create test cases
    • Validate feature behavior
    • Ensure criteria are satisfied
    • Identify missing conditions

    Role of Scrum Master in Acceptance Criteria

    The Scrum Master:

    • Supports backlog refinement discussions
    • Encourages collaboration
    • Helps maintain requirement clarity
    • Supports Agile best practices

    Acceptance Criteria in Scrum Workflow

    Acceptance Criteria are commonly used during:

    • Backlog Refinement
    • Sprint Planning
    • Development activities
    • Testing activities
    • Sprint Review

    Common Challenges in Acceptance Criteria

    Challenge Description
    Unclear Criteria Requirements difficult to understand
    Missing Scenarios Important behaviors not defined
    Overly Technical Language Business users cannot understand
    Too Many Criteria Stories become overly complex
    Untestable Conditions Difficult to validate functionality

    Best Practices for Writing Acceptance Criteria

    • Keep criteria simple and clear
    • Focus on user behavior
    • Make criteria testable
    • Use measurable conditions
    • Collaborate with Developers and Testers
    • Cover both success and failure scenarios

    Common Mistakes in Acceptance Criteria

    • Writing vague conditions
    • Adding unnecessary technical details
    • Missing edge cases
    • Creating unrealistic conditions
    • Ignoring user perspective

    Real-Life Example

    Example:

    User Story:

    "As a customer, I want to track my food delivery in real-time."

    Acceptance Criteria:

    • Delivery status updates every 30 seconds
    • User can see driver location on map
    • Estimated delivery time is displayed
    • System sends notification when delivery is nearby

    Importance of Acceptance Criteria in Agile

    Acceptance Criteria are important because they:

    • Improve communication
    • Reduce ambiguity
    • Support testing and validation
    • Ensure customer expectations are met
    • Improve product quality

    Conclusion

    Acceptance Criteria are a critical part of Agile and Scrum because they clearly define the expected behavior and success conditions of User Stories.

    Well-written Acceptance Criteria improve requirement clarity, collaboration, testing efficiency, product quality, and successful delivery of customer value.