The importance and role of acceptance criteria in projects

The importance and role of acceptance criteria in projects

When developing a product - be it an application or software - or planning a marketing campaign, how do we know that what we are creating will meet the expectations of our customers or users? Well, this is determined by acceptance criteria. And although they are not closely linked to the scrum framework, many scrum and agile teams use them to organise their work and achieve project success. In this article, we will now look at what acceptance criteria are, how they complement the user story and why they are necessary to be successful. We also give some examples of how to write it and what mistakes to avoid.

Acceptance criteria are the expectations, conditions, needs defined by the stakeholders of a product (customers, users, etc.) in relation to an improvement.

What are the acceptance criteria?

Acceptance criteria are the expectations, conditions and needs defined by the stakeholders of a product - customers, users, etc. - for a development. 

Either the criteria are met or they are not met for a project, there is no such thing as being partially met. They are not focused on how to get to the solution, how to achieve the task, but on the exact objective. 

The agile practice of formally formulated acceptance criteria was born in software development projects, but is now used in a wide range of industries, from application development to human resources departments.

The role of acceptance criteria is to complement the user story.

What is the difference between a user story and an acceptance criterion?

The acceptance criteria are not the same as the user story, but rather complement it. The user story is a brief description of the customer's needs, including their goals and the problems they want to solve.

And the adoption criteria define what needs to be done to achieve these goals.

In this way, the user story describes the "why" of the work, while the acceptance criteria describe the "what". The "how" is decided by the developers during the sprints.

Why is the acceptance criterion important and what is its purpose?

Let's now look at the specific objectives of the acceptance criterion in the project work.

Details the scope of the function

The acceptance criterion details the functionality that will help the team understand whether the user story is complete and working as expected.

Description of negative scenarios

Acceptance criteria may, for example, require the system to detect insecure passwords and prevent the user from proceeding. The invalid password format is also a common example of the so-called negative scenario.

It therefore defines certain negative scenarios and how the system should respond to them.

Fine-tuning communication

The adoption criteria synchronise the vision of stakeholders and the development team. They ensure that the requirements are understood in the same way by everyone. So there is consistency in what customers or users and other stakeholders expect, and developers know how certain features should work in relation to these expectations.

Simplifying the acceptance test

The acceptance criteria are the basis for the user story acceptance test. Each criterion must be independently testable and have clear success or failure scenarios. They can also be used to verify the story through automated tests.

Carrying out functional assessments

The acceptance criteria define exactly what the team needs to develop. Once the requirements are clearly laid down, user stories can be broken down into correctly estimable tasks.

As different people may have different views and ideas about how to solve a problem, it is necessary to develop a common view on what the function should know.

Who formulates the acceptance criteria?

Acceptance criteria are the answer to what a customer expects from a finished product, as the aim of any development is to satisfy those who use it.

Projects are often run in specific industries, so the criteria may not necessarily come from a traditional customer, but may be driven by the product owner or stakeholder, or by the expectations of a different type of customer or user.

How do we create the acceptance criteria?

These can be defined as follows:

  • Following consultations with clients or customers
  • Based on discussions with stakeholders
  • During Scrum refinement
  • Scrum sprint planning
  • Product backlog during management activities
  • Team brainstorming during
  • After assessing feedback from customers or end users

In scrum teams, the product owner is usually responsible for writing these acceptance criteria, but the development team can and should be involved to provide expertise and feedback to help meet the expectations of the PO.

The scrum master can support the process by examining any concerns about the criteria, helping the team understand the purpose of the criteria, and encouraging developers to flag them if they are unclear.

In this way, teamwork can really be established, even if the product owner's proximity to the customer is often the starting point for the development of criteria.

When should the acceptance criteria be ready?

In scrum, product backlog elements are constantly discussed as part of the planning and refinement process. The initial criteria are often defined during the refinement of the backlog, but finalisation should be done just before development starts. 

This ensures that work can proceed on the basis of the most up-to-date information. The criteria should be finalised at the sprint planning stage. The scrum team reviews the criteria, discusses any problems or issues that need clarification, and decides whether the work can be included in the sprint.

The importance of the acceptance criterion lies in the fact that it states what needs to be done to solve the problem or achieve the goal.

How do we write the acceptance criteria?

Unfortunately, there is no guidance on this in the scrum guide, as the acceptance criteria are separate from the scrum framework. Various templates can be found on the internet, but you can also create a custom document, but it is always worth testing which one works best for your team.

What form can the acceptance criteria take?

  • as a checklist in points or numbered
  • in spreadsheet format
  • as a short description
  • as a scenario-based template

Many people use a simple checklist, which is both easy to create and easy to place in the user story. But some are even more retro and use post-its. It is worth adapting this to the needs of the team.

There are agile teams that use a scenario-based template, where they describe what the outcome will be given a certain context or premise if a certain action is taken.

What is a good checklist?

  • Clear for all concerned
  • Can be tested or checked
  • Focus on the result, not how to achieve it
  • Contains specifics (e.g. 3 seconds page load speed instead of fast page load speed)

examples

Now let's look at some practical examples!

Example 1: Acceptance criteria list to view credit card balance

User story: As a credit card holder, I would like to view my account balance so that I can pay the amount due.

Criteria list:

  • Display the account balance when authenticating (e.g. HUF 156 000)
  • Display the total balance (e.g. HUF 356 000. Here the current period balance is HUF 256 000 and the past balance is HUF 100 000)
  • Minimum amount to be paid Display. (e.g. HUF 14 000)
  • Display payment deadline (e.g. 20th of the current month)
  • Display an error message if the service does not respond or if the timeout occurs (e.g. 'Sorry, there was an error. Please try again.')

Example 2: Scenario-based acceptance criteria in case of forgotten password

User story: As a user, I would like to reset my account password if I have forgotten it, so that I can log in to my account again.

What does the scenario type criterion look like?

Scenario: forgotten password

  • Given: User navigates to the login page
  • When: the user selects the option.
  • And: enter your valid email address to receive a link to reset your password.
  • Then: the system will send the link to the email address you provided.
  • Given: the user receives the link in the email
  • When: the user clicks on the link in the email.
  • Next: the system allows the user to set a new password.

What mistakes can be made when writing acceptance criteria?

While the definition of acceptance criteria is not set in stone and should be tailored to the needs of the team, there are some common pitfalls to be aware of.

  • Ignoring the user perspective
  • We tell developers "how" to get the job done
  • Writing the acceptance criteria too early
  • Only after the development is underway will the acceptance criteria be finalised
  • The criteria are not clear
  • Too many acceptance criteria

Want to deepen your knowledge of agile methodologies? Develop your practical tools and get international certifications! See our current agile training courses!