Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Writing Acceptance Criteria That Prevent Disputes
Custom Software

Writing Acceptance Criteria That Prevent Disputes

Most delivery disputes come from a shared assumption nobody wrote down. How to write criteria both sides can test against without ambiguity.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Write criteria as observable behaviour with concrete inputs and outputs. Anything containing fast, intuitive or user-friendly is an opinion rather than a criterion, and it will be argued about at the worst moment.

The short answer

A criterion is useful when two people, reading it separately, would agree whether the software meets it. If the answer depends on judgement, it is a preference and it needs converting into something observable before it is agreed.

The test is whether you could hand it to someone with no context and they could check it.

Turn opinions into observations

VagueTestable
The page should load quicklyLoads within 2 seconds on a 4G connection
Search should be accurateSearching a full product code returns that product first
It should handle errors gracefullyAn invalid card shows the reason and keeps the form filled
The report should be easy to readThe report fits one page and totals reconcile with the ledger
It should work on mobileEvery task completes on a 375px screen without horizontal scrolling

The right column can be checked by anyone. The left column can be argued about indefinitely, usually on the day before go-live.

Cover the unhappy paths

Most criteria describe what happens when everything works. Most disputes are about what happens when it does not.

  • What the user sees when a required field is missing
  • What happens when an integration is unavailable
  • What happens when two people edit the same record
  • What happens when a file is too large or the wrong type
  • What happens when the session expires mid-task

Writing these down takes an hour and removes most of the late surprises. They are also the cases that get skipped in testing unless someone has named them.

Include the non-functional ones

Performance, availability, browser support, accessibility and security requirements belong in acceptance criteria if they matter. Assumed requirements are discovered during acceptance, which is the most expensive moment to find them.

Be specific: which browsers and versions, what load, which accessibility standard. A requirement to be accessible without naming a standard is not testable.

Agree who signs

  1. Name the person who accepts, per area, before the build starts.
  2. Give them the criteria in advance rather than at the demo.
  3. Let them test in an environment with realistic data.
  4. Record what was accepted and when.
  5. Agree what happens when something fails: fix and re-test, or accept with a noted defect.

Acceptance without a named owner means everyone has a view and nobody decides, which is how sign-off drifts for weeks.

Keep them alive

Criteria written at the start describe what you knew then. When requirements change, update the criteria in the same conversation rather than leaving them to contradict the build.

Stale criteria are worse than none, because they give false confidence that something was agreed when it was quietly superseded.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

How detailed should acceptance criteria be?

Detailed enough that two people would agree on whether they are met. Beyond that, detail becomes a document nobody reads.

Who writes them?

Whoever will accept the work, with input from whoever builds it. Written only by the supplier they describe what was convenient to build.

What about things that are genuinely subjective?

Name them as subjective and agree who decides. Pretending a design preference is a testable criterion causes the argument, not the preference.

Should criteria be in the contract?

For fixed-price work, usually yes. For iterative work, keep them with the item rather than in the contract.

Keep reading

More on Custom Software

Custom Software

When Off-the-Shelf Software Stops Fitting

Every platform is bent to fit eventually. The signals that you have passed the point where configuration is cheaper than a custom build.

Custom Software

Turning a Critical Spreadsheet Into Software

Most businesses have one. Why it survived, what it encodes that nobody wrote down, and how to replace it without losing the knowledge inside it.

Start here

Weighing up a custom build?

Tell us what you are trying to fix and what you already run. We will give you an honest view on whether custom software is the right answer, what it would involve and a realistic range. If configuring what you have would do the job, we will say so.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →