Clear Acceptance Criteria And Why It’s Important

In order to create a great product that solves someone's problem, it's foremost important to clearly define that problem.

We often hear from our clients the requirements like "I want it to be modern" or "I want it to be liked by users". It's great to understand that in the end we're going to get a great product, but such statements cannot be set as goals.

The main reason for that is the difference between how the client and how the developer see the solution for the desired functionality. That's where acceptance criteria come into play and sync the expectations of both sides.

Basically, acceptance criteria represent a list of conditions that the product should meet in order to satisfy the end user (or customer). They can also be defined as product requirements.

The easiest way to define these requirements is to think of the ways how different users will take advantage of your product in order to solve the problem. That's also known as 'user cases'.

Acceptance criteria

For instance, if you'd like to build a web analytics tool for site owners, you'll think about what features will be used most commonly by such people and then put on the main page of their account (or allows users to decide on their own what modules should be placed on the home screen).

But note, that acceptance criteria should be written as intentions, not solutions. Feel the difference:


The user should be able to collect all the items he wants and then proceed for checkout.



The user should be able to add items to the cart and then open it via the image on the top in order to press Proceed and check out.



As a customer I want to press a button to have a backend created for my marketplace.



As a customer I want to press the "Create Now" button in the lower left corner and have a webpage opened with the specific backend features already available for my newly created marketplace.

We underline the importance of clear acceptance criteria because misunderstandings between the clientele and a developer is still unfortunately a pretty common situation on the market. In the meanwhile, the acceptance criteria approach is a win-win situation: not only the performer knows exactly what s/he must do, but also the client understands what to expect and how to check if the product corresponds to the initial ideas.

That defines another indicator of clear acceptance criteria: it should be easy to translate them into test cases. Another example:

Acceptance Criteria:

The user must be able to pay for his order via PayPal in one click.


Test Case:

When pressing the "Check out" button, PayPal will deduct the previously defined amount of money from the user's account and provide the status of the operation.

In one of our previous articles we covered such topics as the minimum viable product. These processes, which take place at RubyGarage even before our people start working on your product, cannot be done without defining clear acceptance criteria, both general (for the whole product itself) and functional (for each iteration of the development process).

The approach greatly improves the communication for the client and makes him assured that he knows what we're doing here. And since we always underline that we are also interested in making your product great and successful, defining clear acceptance criteria is just another reason showing how serious we are about it.

Recommended Articles