How to write better Acceptance Criteria

May 28, 2023 notes resources product

Best Practices for Writing Acceptance Criteria in an Agile Story

Introduction

Acceptance Criteria (AC) are a key aspect of Agile User Stories that serve as a ‘contract’ between the Product Owner (PO) and the development team. They define the boundaries of user stories, clarifying what is needed for the work to be considered complete and functioning as expected.

Writing effective acceptance criteria is even more crucial when the Agile methodology is implemented in a data science function, where tasks can be exploratory and less defined compared to traditional software engineering.

This guide aims to provide best practices and examples for creating clear, concise, and effective acceptance criteria in such scenarios.

What are Acceptance Criteria?

In Agile project management, acceptance criteria refer to the conditions that a software product must satisfy to be accepted by a user, customer, or other system. For a data science project, this might mean that an algorithm works as intended, a model meets certain performance standards, or a report correctly includes certain data.

Best Practices

1. Collaboration is Key

Include all relevant parties (data scientists, data engineers, stakeholders, etc.) in crafting the acceptance criteria. Each party brings a unique perspective and can help avoid gaps or assumptions.

2. Make them Testable

Criteria should be measurable, relevant, and testable. A non-testable criterion might be: “The model should provide insightful results.” A testable criterion might be: “The model should provide a predictive accuracy of at least 85% on the validation data set.”

3. Use Clear and Concise Language

Avoid technical jargon as much as possible. If you have to use it, ensure it is clearly understood by all parties.

4. Be Specific

Vague criteria leave room for interpretation, leading to potential misunderstandings. For example, instead of “The system should handle large data sets efficiently,” write “The system should process data sets of up to 5TB within 3 hours.”

5. Keep them Independent

Each criterion should be independent and not overlap with others.

6. Iterate

As your project evolves, so too may your understanding of what’s required. Regularly review and revise your acceptance criteria as necessary.

Example

Here’s an example of a user story with acceptance criteria in a data science context:

User Story: As a sales manager, I want to predict next quarter sales so that I can plan my budget.

Acceptance Criteria:

  1. The model should be trained on the past two years of sales data.
  2. The model should consider factors including historical sales, industry trends, and economic indicators.
  3. The model should achieve a minimum of 90% accuracy on the validation data set.
  4. The model should provide outputs in a format that can be easily integrated into our budgeting tool.
  5. The model should be able to provide predictions within 2 minutes of receiving a request.

In conclusion, good acceptance criteria drive better communication between all parties, provide clear goals, and pave the way for success in Agile projects within a data science function.