VANKPA
Start a project

Web applications

Define what done means.

How to write acceptance criteria for a custom web app

Product owner and engineer reviewing task cards in a cobalt-lit meeting space

The decision

Acceptance criteria describe the observable behavior a feature must deliver. They help business and development teams agree on completion before implementation begins. Write them around a user's task and meaningful outcomes rather than visual preferences alone.

In practice

For an expense submission, specify required information, permitted users, validation, approval behavior, and what happens after rejection. Include failure cases such as a missing receipt. A criterion should be testable without guessing what the author intended.

Put it into practiceYour next checks
  1. Choose representative scenarios and identify the data needed to test them.
  2. Agree who approves the result and how changes affect scope.
  3. Keep criteria close to the feature brief so reviewers can connect the business need to the delivered behavior.

When to take the next step

Write criteria before estimating or developing an uncertain feature. Bring a realistic task, the permitted user, and the conditions that would make the result unacceptable.

Questions clients ask

How detailed should criteria be?

Detailed enough to verify important behavior and boundaries without prescribing unnecessary implementation choices.

Who writes them?

The business owner and delivery team should collaborate; the approver must understand what is being accepted.

A worked scenario

Consider an operations team commissioning a job-management application. The useful outcome is to agree what successful delivery means. This is a planning example, not a reported client result. The team needs a decision that can be checked against real work, rather than a feature list that looks complete during a presentation. The starting question is whether the proposed approach changes that particular task in a way the people doing it can recognize.

In this situation, a feature considered complete because its screen exists is the failure to guard against. Ask the responsible person to demonstrate an ordinary case and one difficult case using current records or safe test data. Record what they expect to happen, what actually happens, and where they need another person to intervene. Those observations establish the scope for this example; they do not justify an assumed improvement percentage or a guaranteed business result.

Decision checkpoints

Evidence to collect for this scenario
CheckpointPractical actionEvidence to retain
PrepareWrite criteria around a named user action.The approved scope, relevant source records, and unresolved questions.
VerifyInclude invalid inputs and permission boundaries.The test case, expected result, observed result, and correction needed.
OperateLink each criterion to a reviewable test result.The responsible owner, completion record, and next review trigger.

Use these checkpoints to agree what successful delivery means; they are a sequence of decisions, not a promise of a particular schedule. A completed document or screen is not enough if the underlying action still fails. Keep unresolved items visible and describe which ones prevent progression. The evidence can be a small test record, an approved mapping, or a reviewed example. It should be understandable to someone who was not present when the work happened.

Measure the useful result

A useful check for this topic is accepted criteria with evidence divided by agreed criteria. The numerator is accepted criteria with evidence; the denominator is agreed criteria. Define the sampling window, exclusions, and source of each count before interpreting the result. If only selected examples can be reviewed, describe them as a sample. Do not present a small reviewed group as a complete picture of the business, and do not assign a target simply because a round number looks persuasive.

The measure helps reveal whether the team can agree what successful delivery means, but it does not explain every cause of success or failure. Inspect the underlying cases alongside the summary. If the count changes after include invalid inputs and permission boundaries, check whether the operating result changed or the counting method changed. Retain enough context to explain the difference. When records are incomplete, state the limitation and use a direct task review instead of manufacturing a precise-looking estimate.

Step 1: Prepare the evidence

The first practical move is to write criteria around a named user action. Start with the smallest set of examples that covers the important variation in this scenario. Include an ordinary case, a case with missing information, and a case that requires intervention. Describe the intended result before reviewing the current behavior. This keeps the preparation focused on the outcome: agree what successful delivery means.

For an operations team commissioning a job-management application, the person responsible for the source information should take part in preparation. Ask that person to confirm which information is authoritative and which points still need a decision. Record those uncertainties beside the scope instead of hiding them in a general assumption. Preparation is complete when another team member can follow the agreed example and explain what evidence would allow the work to continue.

Step 2: Test the difficult case

The next move is to include invalid inputs and permission boundaries. Compare expected behavior with observed behavior in the same test, rather than comparing two descriptions written at different times. Pay particular attention to a feature considered complete because its screen exists. A demonstration that works only for its author does not establish that the intended user can complete the task. Let the reviewer attempt the work with the instructions they would normally receive.

For this check, retain the input, the relevant condition, and the final disposition. A screenshot can illustrate the state, but the record also needs to explain what the team expected and why the result matters. If the expected result cannot be described consistently, hold the decision open and send it to someone with the authority to resolve it. Retest the changed case after correction; an agreement to fix something is different from evidence that the correction works.

Step 3: Assign operating ownership

The operating move is to link each criterion to a reviewable test result. A successful initial test should lead to a repeatable responsibility, not a permanent dependency on the person who built the solution. Name the person who reviews the result, the person who can change the rule, and the person who responds when the task fails. In this scenario, each responsibility contributes to the same outcome: agree what successful delivery means.

Give the operator a short record of what healthy work looks like and what requires intervention. Include the warning case of a feature considered complete because its screen exists, together with the relevant records and support route. The procedure should be usable during normal work, not only during a formal review meeting. Check that an authorized backup person can follow it before treating the approach as ready for broader use.

Handle exceptions deliberately

The specific pause condition is that the expected result cannot be described consistently. Make the pause visible to the person doing the work and to the person responsible for resolving it. Preserve the relevant context so investigation does not depend on memory. A stopped case is still part of the process; it needs a status, an owner, and a safe route back into ordinary work after the uncertainty is resolved.

Before restarting, establish whether a feature considered complete because its screen exists affected only this case or indicates a wider rule problem. Correcting one record may be appropriate for an isolated exception. A recurring pattern may require changing the definition, interface, routing, or review procedure. Test the restart against the original case and one related variation. Record the reason for the change so later reviewers can distinguish a deliberate decision from an unexplained workaround.

Plan your next step.

Discuss your projectBrowse all insights