CaseIntermediateEval-Driven Specification / Acceptance criteria for non-deterministic output / #9

Explain how to write acceptance criteria that a QA team can actually execute.

The direct answer
Attach a real pass example and a real fail example to every acceptance criterion, not just a sentence describing it. A description reads clear to the person who wrote it and turns into a guess for the person who has to apply it to a messy, real case. Then check that two testers reading the same output actually agree, and track that agreement rate criterion by criterion, not as one score for the whole rubric.
Do this, in order
  1. Attach a worked pass example and a worked fail example to every criterion, pulled from a real borderline case.Why: a one-sentence rule lets each tester invent their own version of it the first time a case doesn't fit neatly.
  2. Have two testers grade the same sample blind, and compare the calls.Why: disagreement between two careful people is proof a criterion is unclear, not a guess about it.
  3. Track the agreement rate per criterion, never one blended score for the whole release.Why: one bad criterion can hide inside a rubric that still looks healthy overall.
  4. When a criterion's agreement rate stays low, send it back to whoever wrote it to add examples, not back to the tester to "be more careful."Why: coaching a tester's judgment doesn't fix a rule that never said what to do.
  5. Give a tester a real way to flag "the rule doesn't cover this," separate from her own pass/fail accuracy score.Why: without it, a gap in the spec gets scored as her mistake.
  6. Leave the low-stakes fields as plain sentences.Why: a field nobody's ever been hurt by getting wrong doesn't need examples spent on it.

How to answer this, stage by stage

Seven moves, from pinning the question to one real rubric to the line you'd close on.

1
Pin it to one real tool before naming any framework
Say it like this
"Say a clinic uses a tool that reads a scanned insurance card and a handwritten history sheet, and fills out the intake form itself: name, insurer, current medications, allergies. Before every new release ships, a small QA team checks a sample of its outputs against a written rubric. Whether two different testers actually read that rubric the same way is what I want to walk through."
Why this works
Grounds "acceptance criteria" in one real pipeline before any framework language shows up.
2
Say your structure out loud
Say it like this
"I'd use GUARD, because 'can a QA team actually execute this' is a fairness question about who wrote the rule and who has to apply it. Who's on each side, where the rule actually falls apart, who can't say the rule is the problem, the real fix, and how I'd catch it if the fix stops working."
Why this works
Two seconds naming the plan, not a recited acronym before the real thinking starts.
3
Reframe what "executable" actually means
Say it like this
"A criterion isn't executable just because it's written down. It's executable when two different people, looking at the same output, land on the same call without talking to each other first. A line like 'the current medications list must be accurate and complete' passes the first test and fails the second, and nobody finds that out until two testers disagree on the exact same case."
Why this works
This is where a checklist answer and a real answer split apart.
4
Give the one decision, as a real mechanism
Say it like this
"For every criterion, I'd write a real pass example and a real fail example, pulled from an actual borderline case, not an invented one. For current medications: pass is a drug transcribed exactly as written, with a discontinued flag attached. Fail is the same drug listed as current with no flag. Not 'be accurate.' Here is accurate, and here is what accurate is not."
Why this works
A rule you can point to in the rubric, not a description that still needs interpreting.
5
Prove it with the failure it prevents
Say it like this
"Here's what happens without it. Two testers each review release candidates every week. A patient's history sheet says 'Metformin, stopped 2019.' One tester marks the output a pass, because it transcribed the source exactly. The other marks it a fail, because the field is called 'current medications' and this one isn't. Both are right about their own reading. The rubric never said which reading counted, and whichever tester's queue the case landed in decided what shipped."
Why this works
The compressed version of the story below. Four sentences, and the gap is concrete, not hypothetical.
6
Say what you'd measure
Say it like this
"I'd have two testers blind-grade the same sample every week and track the agreement rate, broken out by criterion, not one score for the whole rubric. If a criterion's agreement rate drops under something like 85 percent, that criterion goes back for rewriting before its next release, not after an audit finds it three months later."
Why this works
Shows judgment past launch day, catching the gap before it costs anything.
7
Close on the one line
Say it like this
"So: a rule only counts as executable once it's been tested on two people, not just written by one. Attach real examples to every criterion, watch where two testers still split, and when they do, fix the rule, not the tester."
Why this works
Restates the decision in one breath, the line an interviewer remembers on the way out.

Let's learn

Here's what happens when a written rule feels clear to the person who wrote it, and turns into a coin flip for the person who has to use it.

Say a clinic uses an AI tool that reads a scanned insurance card and a patient's handwritten history sheet, and fills out the intake form on its own: name, date of birth, insurer, current medications, allergies. Before any new version of it goes live, a small QA team checks a sample of its outputs against a written rubric, ten short criteria, one sentence each.

When the rubric only covered simple fields, name, date of birth, insurer ID, it worked fine. Two testers reviewing the same 25 outputs a week landed on the same call almost every time, agreement close to 98 percent, and a release cleared QA in under a day.

Knowledge spark: what an agreement rate is Two people grade the same thing without talking to each other first, then you check how often they landed on the same answer. High agreement means the rule is doing its job. Low agreement doesn't mean either person is careless. It usually means the rule never said what to do with the case in front of them.

Then the tool grew a current-medications field, and one more sentence got added to the rubric: "the current medications list must be accurate and complete, matching the source record." The blended agreement rate across the whole rubric barely moved, still around 94 percent. But on that one criterion by itself, agreement dropped to 61 percent. Two careful testers, looking at the exact same output, split on it almost as often as they agreed.

Two-tester agreement rate, by criterion
Same rubric, same release candidates, one field split testers almost in half.
Name & date of birth
98%
Insurer ID
96%
Allergies
90%
Current medications
61%
The blended score across the whole rubric, 94 percent, still read as healthy on a dashboard. It looked that way because current medications is only one criterion out of ten, small enough to disappear into the average.
Two careful testers read the same rule and did exactly what it said. They still didn't agree.

Here's the part that matters. The extra disagreement isn't the real cost. Testers splitting on one field is annoying but survivable. The real cost is that whichever tester's queue a case lands in now decides what ships, and nobody chose that on purpose.

At its worst, a discontinued medication gets listed as current, passes because it happened to land with the tester reading the rule one way, and ships. It sits quietly on a chart until someone, a nurse, a doctor, a patient correcting her own file, happens to notice it by hand. The rubric didn't fail loudly. It failed the way a coin flip fails: fine most of the time, and silent about the rest.

The decision I would take back We wrote "the current medications list must be accurate and complete" and stopped there. That sentence meant one thing to whoever wrote it and something else to whoever had to apply it to a real, messy case, and nobody found out until an audit counted the gap.

What I would leave alone. A field like preferred pharmacy doesn't need this. If the autofill gets it wrong, the front desk asks the patient and fixes it in five seconds, no real cost either way. Writing worked examples for a field like that would spend effort protecting against a mistake nobody's actually hurt by.

The lesson. A criterion that reads clearly to the person who wrote it can still be a coin flip for the person applying it. The only way to find out is to write down the hard case and its answer together, before two testers find it for you.

Now here is the same thing as a story

The short version sits above. Read this one for how one added sentence turned into a three-month gap nobody was watching.

Beatrix Coleman could read a scanned intake sheet faster than most people could read their own handwriting. Three years testing Two Rivers Pediatrics' intake assistant had taught her to spot a mistake in a completed form almost on sight, a transposed digit in a birth date, an insurer ID one character short.

For the first year, that skill was mostly enough. The rubric she worked from had ten criteria, one sentence each: name matches the source, date of birth matches, insurer ID matches. Straightforward stuff. She and two other testers, rotating through each week's release candidates, agreed on almost every call. A release cleared QA by Thursday afternoon most weeks.

New fields arrived slowly. Allergies in April. Current medications in June. Each time, the product manager, Simeon Farrow, added one line to the rubric and posted it in the team channel: new criterion, go ahead and start grading against it.

At first, every odd case went straight to Simeon. A patient's sheet listed a medication with "no longer taking" scrawled next to it in different ink, clearly added later. Beatrix messaged him before marking anything. He wrote back within the hour: that one's a fail, it's listed as current on the source, mark it wrong. Fine. She had her rule, at least for that one case.

By August, the odd cases weren't so odd anymore. A discontinued medication showed up in roughly one release candidate out of four. Beatrix stopped pinging Simeon for each one. She'd decided, mostly on her own, that any medication with a stop note next to it counted as inaccurate if the model listed it plainly as current, and she graded it that way from then on. She never announced the decision. It just became how she did the job.

Aaron Buckley, one of the other two testers rotating through the same queue, had quietly landed somewhere else. He read the same rubric line, "the current medications list must be accurate and complete, matching the source record," and to him, accurate meant matching the paper exactly, stop note or not. If the source said the drug, the output said the drug, that was accurate, full stop.

Neither of them was being careless. Neither had ever seen the other's reasoning written down anywhere, because there was nowhere to write it. The rubric had one sentence for the field, and each of them had built a private rule underneath it.

Two figures side by side. On the left, Simeon, holding a pen over a document labeled acceptance criteria, writing the one sentence the rule has to fit. On the right, Beatrix, holding a PASS stamp and a FAIL stamp, with no written rule for the case in front of her.
Simeon held the pen. Beatrix and Aaron each got the same sentence, and had to decide what it meant on their own.

In September, a discontinued blood pressure medication landed in Aaron's queue instead of Beatrix's. He marked the output a pass; it matched the source. The release shipped that Friday.

The form wasn't wrong because someone was careless. It was wrong because two careful readings of the same sentence pointed two different ways, and only one of them made it to the chart.

Three weeks later, a nurse at the Fairhaven office pulled up a patient's intake form before a well visit and read off her medication list to confirm it. The mother stopped her partway through. "I haven't taken that one in years," she said. "I told the front desk that when I filled out the paper." Nobody was hurt. The nurse caught it in the fifteen seconds it took to ask. But the form had been wrong since the day it was filled in, and it had cleared QA clean.

Simeon ran a routine consistency check that quarter, mostly out of habit, before he'd even heard about the near miss. He had two testers blind-grade the same sample of 40 release candidates and compared their calls. Overall, they agreed on 94 percent of it, which looked fine on a dashboard. Broken out by field, current medications sat at 61 percent. Eleven borderline stop-note cases had come through that month. The two testers had split on six of them.

A flow of four boxes: output made, tester grades it, a missing step marked in red reading no dispute step, ships anyway.
The step that should sit third, and doesn't

Then the near miss reached him, and the number stopped being a dashboard curiosity. Beatrix's queue and Aaron's queue had each been applying a private rule the rubric never wrote down, and neither of them had any way to flag that the rubric, not their own judgment, was the actual problem. Beatrix's manager had, a month earlier, mentioned in a one-on-one that her fail rate on medication fields ran higher than Aaron's, and asked if she was being too strict. She hadn't had an answer for that. She wasn't sure herself anymore.

Simeon had been in the room in June when the current-medications criterion got written. It was one line, added quickly, alongside a real release deadline. Writing worked examples for every possible edge case felt like overkill for a field that, on the surface, just meant "copy the medication list correctly." Nobody thought a single sentence could mean two different things to two people who both cared about getting it right.

Run the same quarter again, with the fix in place. Every criterion carries a real pass example and a real fail example, current medications included: pass is a drug transcribed with a discontinued flag, fail is the same drug listed plain with none. Beatrix and Aaron now work from the same rule instead of two private ones. The weekly blind check still runs, and this time it catches something fast: a new criterion, added for insurance secondary-payer notes, comes in at 68 percent agreement in its first week. It goes back to Simeon for examples before a single output ships, not three months and a doctor's visit later.

What I'd tell myself, back in June: we asked whether the sentence was clear. We never asked whether it was clear to the person who didn't write it.

GUARD, when one sentence reads two ways

This is a risk question wearing a process question's clothes. "Write criteria a QA team can execute" sounds like a documentation problem. The real test is whether the person applying the rule ever gets a say in whether the rule itself is the broken part.

G, groups. Simeon, the PM who writes the acceptance-criteria doc, and the QA testers, Beatrix and Aaron, who apply it line by line to real generated outputs every week.
U, unequal. The gap doesn't spread evenly across the rubric. It piles onto whichever criterion is actually ambiguous, current medications here, where a discontinued-but-listed drug has no written answer, so two careful testers land in different places on the exact same case.
A, ability to contest. Beatrix has no way to say "the rubric doesn't cover this" and have it count for anything. Her manager sees a fail rate that runs higher than Aaron's, not a rule that was never written down. She can be measured against the criterion. She can't argue with it.
R, reduce. Attach a real pass example and a real fail example to every criterion, not a sentence. For current medications: pass is a drug transcribed with a discontinued flag, fail is the same drug listed as current with none.
D, detect. Every week, run part of the sample through two testers blind and measure the agreement rate criterion by criterion, not one score for the whole rubric. Flag any criterion whose agreement rate drops under a set bar, 85 percent say, for a rewrite before its next release.
Where this answer would fail If the fix here is "retrain the testers" or "add a third tester to break ties," it doesn't count. A third tester just adds one more private guess on a rule that still isn't written down. Attaching real examples to the ambiguous criterion is the only version that actually closes the gap.

And if you want to be sure it really works, try it somewhere else

A fabric mill runs an AI tool that grades incoming rolls from photos for shade variation, tears, and weave defects, before a batch ships to a garment maker. Different mill, same five letters, same trap.

G, groups. The quality manager who writes the defect-grading rubric, and the floor inspectors who grade each roll's sample photos against it.
U, unequal. The shade-variation defect has no attached example of how much variation counts as a fail. On a borderline roll, two inspectors reading the same photo and the same one-line rule land on opposite grades.
A, ability to contest. An inspector who passes a roll that later gets rejected by the garment maker gets told she read the light wrong. She has no way to say the rubric's shade-variation line was never actually defined.
R, reduce. Attach a labeled pass photo and a labeled fail photo to the shade-variation criterion, not a sentence describing acceptable variation.
D, detect. Re-grade a shared sample of rolls blind across inspectors every week, and track the agreement rate by defect type, flagging any type that drops under the bar.

Swap the trigger and it still runs

  • Speed: the intake tool starts shipping weekly instead of monthly, so borderline cases pile up faster than anyone notices the split forming.
  • Cost: writing worked examples for every criterion takes real PM time, so it keeps losing to whatever feature is next on the roadmap.
  • The model gets better: a newer version of the assistant lifts the overall pass rate nicely, but the current-medications agreement rate barely moves, because the ambiguity was in the rule, not in the mistake rate.

Where people run it wrong

  • Treating tester disagreement as a hiring or training problem, when a blended pass rate can hide one bad criterion inside a comfortable average.
  • Writing the rubric once at launch and never revisiting it as new fields get added later.
  • Watching one blended pass rate for the whole release instead of an agreement rate broken out by criterion.

Buy yourself a few seconds first

Ask "where would two careful people read this rule differently?" before you say anything about the fix. It buys a few seconds of thinking time, and it's almost always where the real gap is hiding.

Flashcards (click a card to flip it)

1 · THE FRAMEWORK
What framework fits a question about writing acceptance criteria a QA team can execute, and why?
Tap to flip
ANSWER
GUARD, for risk and fairness. The real question is the power gap between whoever writes the rubric and whoever has to apply it to a real case, exactly what GUARD is built to find.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Beatrix Coleman, a QA tester who has spent three years testing Two Rivers Pediatrics' intake assistant, and who could spot a mistake in a completed form almost on sight.
3 · THE HABIT
What did Beatrix stop doing once borderline medication cases became routine?
Tap to flip
ANSWER
She stopped asking Simeon for a ruling on every borderline case, and started deciding on her own, quietly, without ever writing the rule down anywhere for anyone else to use.
4 · THE GAP
What's the gap that proves the criterion didn't tell two careful testers the same thing?
Tap to flip
ANSWER
The current-medications criterion's agreement rate came in at 61 percent, against a blended average of 94 percent across the whole rubric, on a line that read as clear to whoever wrote it.
5 · THE OLD DECISION
What old decision does this answer take back, and why did it make sense at the time?
Tap to flip
ANSWER
Writing the current-medications criterion as one sentence with no attached examples, added quickly alongside a real release deadline. It made sense for a field that looked like "just copy it correctly." It stopped working the moment two people who both cared read it two different ways.
6 · THE NUMBER
Fill in: on the current-medications criterion specifically, the two testers agreed only ______ percent of the time.
Tap to flip
ANSWER
61 percent. Eleven borderline stop-note cases came through in one month, and the two testers split on six of them.
7 · THE REPLAY
Same rubric, new process. What changes?
Tap to flip
ANSWER
Every criterion gets a real pass and fail example, and the weekly blind check keeps running. A new criterion comes in at 68 percent agreement in its first week and goes back for a rewrite immediately, not three months and a near miss later.
8 · TRANSFER
Section four runs GUARD again on a different product. Which one, and what does the "unequal" gap become?
Tap to flip
ANSWER
A fabric mill's AI defect grader for incoming rolls. The gap: a shade-variation criterion with no reference photos, so two floor inspectors grade the same borderline roll differently.

Check yourself Score: 0 / 0

Multiple choice
1. Beatrix marked a discontinued medication as a fail because the model listed it as current with no flag. That same week, Aaron reviewed a similar case and marked it a pass, because the model transcribed the source exactly as written. Both were grading against the same one-sentence rubric line: "the current medications list must be accurate and complete." What does this split actually show?
  • A. Aaron wasn't reading the source carefully enough.
  • B. The rubric never said what to do with a medication that's true to the source but no longer current, so two careful testers filled that gap two different ways.
  • C. The model needs to stop listing discontinued medications at all.
  • D. Beatrix is applying a stricter standard than the rubric requires, and needs retraining.
Show hint
Ask what the rubric's sentence actually said about a discontinued-but-listed drug, not what either tester decided.
Show answer
B. A, C, and D all treat this as a staffing or model problem. The real failure is that the rubric left a real case undefined, and two reasonable people filled the gap two different ways.
True or false
2. True or false: once Simeon found the 61 percent agreement rate on the current-medications criterion, the right fix was to add a third tester to break the tie whenever the first two disagreed.
  • True
  • False
Show hint
Ask what a third tester would actually be grading against, if the rule itself still isn't written down.
Show answer
False. A third tester just adds a third private guess on a rule nobody wrote down. The fix has to live in the criterion itself, with real examples, not in adding more people to vote on an undefined case.
Fill in the blank
3. The blended agreement rate across the whole rubric held around ______ percent, which is why nobody noticed the current-medications criterion was actually splitting testers underneath it.
Show hint
It's the number that looked healthy on a dashboard, because current medications was only one criterion out of ten.
Show answer
94 percent. Close enough to "fine" that it never triggered a closer look, while one criterion underneath it was already sitting at 61 percent.
Short answer
4. Name a field on the intake form where a one-sentence criterion, with no attached examples, genuinely wouldn't cause a problem. Why not?
Show hint
Look for a field where a wrong answer costs a shrug, not a clinical consequence.
Show answer
Model answer: "Preferred pharmacy. If the autofill gets it wrong, the front desk just asks the patient and fixes it on the spot, five seconds, no real cost either way. Writing worked examples for a field like that would spend effort protecting against a mistake nobody's actually hurt by."
Short answer, apply it yourself
5. Think of a rubric or checklist you've had to apply to someone else's work, grading, code review, content moderation. Where was the one line that read as obvious to whoever wrote it, but forced you to guess?
Show hint
Look for the line that everyone nods along to in a meeting, then argues about the moment a real, messy example shows up.
Show answer
Model answer: "A code review checklist that says 'handle errors gracefully.' It reads clear until you hit a case where the right call is genuinely debatable, log it and continue, or fail loudly, and the checklist never says which one counts as graceful for that case."
Short answer
6. If Two Rivers doubled its weekly double-review sample from 40 outputs to 80, would that alone fix the disagreement on the current-medications criterion? Why or why not?
Show hint
Ask what a bigger sample actually measures, versus what it changes about the rule itself.
Show answer
Model answer: "No. A bigger sample would measure the disagreement more precisely, maybe catch it a little sooner, but it wouldn't remove the ambiguity from the sentence. The fix has to change what the criterion says, not how many outputs get checked against the same unclear rule."
From U2xAI Academy

From answering questions to owning outcomes.

A live workshop where you ship a working AI agent, defend a launch decision, and walk away with a portfolio recruiters can't wave off, not just more questions to study.

  • A live AI agent you actually shipped
  • A launch decision you can defend under pressure
  • An interview-ready portfolio, not more flashcards
Know more