ConceptIntermediateModel Fluency & the AI PM Role / AI PM vs traditional PM vs technical PM / #9
Contrast the definition-of-done for a CRUD feature and for a retrieval feature.
ORDER · a personal budgeting and advice app ranking what "done" means before two features ship in the same sprint
Marigold reads a user's real bank transactions and answers real questions about their money, in plain words. This sprint it ships two features: Bill Tracker, where you manually add and edit recurring bills, and Ask Marigold, where you type a question and it reads your own transaction history to answer it. Talitha Havercombe owns what "done" means for both. Three weeks after launch, a user named Theron Kilgannon finds out the two checklists were never supposed to be the same one.
The direct answer
Grade Bill Tracker's done against a save: the number that goes in has to be the number that comes back out, checked with a round-trip test and a few edge cases. Grade Ask Marigold's done against a decision: on a representative set of real questions, does it find the right facts and give an answer you could defend, checked with a rubric and two reviewers who actually agree with each other, never against a golden set the engineers wrote themselves. Check retrieval accuracy first on the second one, because no model can reason its way out of a fact it never found.
Do this, in order
Check Ask Marigold's retrieval accuracy before grading anything else.Why: a model reasoning over the wrong transactions gives a confident wrong answer no matter how good the model is.
Grade Ask Marigold against a representative set of real questions, not fifty the engineers wrote themselves.Why: engineers write questions they already know the right retrieval path for, so their own golden set can't catch a gap like Theron's.
Confirm two reviewers actually agree on the grading rubric before trusting the pass rate.Why: a score built on a rubric nobody agrees on is measuring disagreement, not model quality.
Confirm Ask Marigold hedges instead of guessing when a user's data is thin.Why: a custom category or a new user is exactly where retrieval quietly fails, and the failure has to say "I'm not sure," not a confident number.
Check Bill Tracker with a round-trip save and a few edge cases, then ship it.Why: this is deterministic, so a normal QA pass is genuinely enough, no eval set needed.
Never let one checklist stand for done on both feature types.Why: a save button and a real-money answer fail in completely different ways, and one checklist assumes they don't.
How to answer this, stage by stage
Nobody is grading whether you know the word "retrieval." They are grading whether you would let the same checklist wave through a save button and a real-money answer.
1
Scope it to one product, two features
Say it like this
"Let me ground this in one product. Marigold is a budgeting app. This sprint it's shipping Bill Tracker, where you manually edit recurring bills, and Ask Marigold, where you type a real question and it reads your own transactions to answer it. Talitha Havercombe owns what 'done' means for both."
Why this works
One product with two concrete features keeps the whole answer checkable, instead of a textbook definition of two kinds of testing.
2
Say your structure out loud
Say it like this
"I'll use ORDER. Outcome, what done is actually protecting. Reversibility, how bad it is if you're wrong. Dependency, what one kind of done needs that the other doesn't. Evidence, what's cheap to check first. And Rank, the actual order I'd run those checks in."
Why this works
Tells the interviewer you have a method before a single number shows up, instead of drifting into a comparison and hoping it lands.
3
Reframe the question in one breath
Say it like this
"Bill Tracker's done means the number you typed is the number that got saved. That's testable, deterministic, binary. Ask Marigold's done means something softer and harder: on a real spread of questions, does it give an answer you could defend if someone got hurt by it. You can't test that the way you test a save button."
Why this works
This is the spine of the whole answer, said plainly, before a single figure shows up to distract from it.
4
Give the one decision
Say it like this
"For Bill Tracker, I'd check data integrity first, then edge cases, then ship. For Ask Marigold, I would never let a golden set the engineers wrote themselves stand in for done. I'd check retrieval accuracy first, on real question patterns, before I ever look at what the model says about them."
Why this works
This is the concrete, defensible thing you'd actually do, not a wish that both features could pass the same way.
5
Prove it with the failure
Say it like this
"Here's what happens when you skip that. Ask Marigold hit 94 percent on a fifty-question set the team wrote itself. It shipped. Three weeks later, a real user, Theron, asked if he could move $2,000 out of his rent buffer. The retrieval missed a $2,150 insurance bill sitting under a category he'd made up himself. The model said yes, confidently. He moved the money. Four days later he was $950 short and two days late on rent."
Why this works
A real number, a real product, and a real cost, not just a claim that eval sets matter in theory.
6
Say what done needs to depend on
Say it like this
"Going forward, Ask Marigold's done needs three things Bill Tracker never did: a set of real questions, not engineer-written ones. A rubric that grades whether the retrieval and the number were actually right. And two reviewers checking whether they even agree on the grading, because a score nobody can agree on isn't a score."
Why this works
Shows you think past a single pass/fail number, to whether the number itself can be trusted.
7
Say what you'd leave alone
Say it like this
"I wouldn't put any of this on a feature like the notification toggle. Flip a switch, it saves on or off. There's no retrieval, no model, nothing probabilistic to defend. The old one-checklist bar is still exactly right there."
Why this works
Shows judgment instead of blanket caution, and stops the answer from sounding like every feature now needs a research team.
8
Close on the one line
Say it like this
"A CRUD feature's done protects a save. A retrieval feature's done protects a decision somebody makes with real money on the line, and you check the second one in a completely different order, starting with whether it found the right facts at all."
Why this works
Leaves the room with the one sentence that actually answers the question, not just a well-told story about Marigold.
Let's learn
Marigold is an app that reads your real bank transactions and tells you, in plain words, whether a money move is safe.
Before Ask Marigold shipped, a user like Theron Kilgannon had one way to check a decision like this: open Bill Tracker, scroll his own categories, and do the math himself. It took him about twenty minutes, and he trusted his own math, because he had checked it himself.
One word, done, stamped on two features that fail in completely different ways.
Ask Marigold changed that. Type a real question, get a real answer, in about four seconds. In testing, it answered 47 of 50 questions the engineering team wrote for it correctly. Ninety-four percent. Everyone called it done, the same way Bill Tracker got called done: one checklist, one QA pass, ship to a small rollout.
Knowledge spark: what does retrieval mean here?
Before the model writes an answer, it goes and finds the real facts to answer with, the way a person pulls the right folder before they speak. If it grabs the wrong folder, a smart model still gives a wrong answer, and it still sounds completely sure of itself.
Pass rate: the engineers' own test vs. real user questions
The engineers wrote the 94 percent test. It never once contained a question shaped like Theron's, because they already knew where every one of their own fifty questions pointed.
Here's the turn. That extra six percent was never the real risk. The real risk was what happens the one time it is confidently wrong about a question with real money behind it, and nobody built a way to catch that before a user acted on it.
Nothing about this failed loudly. The search just never checked the one category Theron had made up himself.
Theron had $3,200 sitting in his rent buffer. He asked Ask Marigold whether he could move $2,000 to cover a car repair without hurting his rent goal. Its retrieval searched his standard spending categories and never surfaced a $2,150 annual insurance premium he had filed under a custom label, "House stuff," months earlier. Ask Marigold said yes: moving $2,000 would leave him a solid $1,200, "comfortably covers your typical monthly costs." He moved the money.
Theron's buffer balance, the four days after Ask Marigold said yes
Balance before the miss caught up with himBalance after
Ask Marigold said yes at $1,200 remaining. Four days later the account was $985 overdrawn, and rent was still due.
The model was not wrong about a fact it read. It was wrong about a bill it never found, and it sounded just as sure either way.
What it costs at its worst: a real decision, with real money, based on a wrong answer stated as a plain fact. There's no undo button on a car repair already paid for, or a rent payment that lands two days late. Theron paid a $35 overdraft fee and a $75 late fee from his landlord, on top of being caught $950 short. And he stopped trusting Ask Marigold with anything that mattered.
The decision that mattered
Ask Marigold's launch checklist was the same one Bill Tracker used: spec matches build, QA signs off, no P0 bugs, ships to a small rollout. The team folded in one extra line, a 94 percent score on fifty questions they wrote themselves, and treated it as equivalent to a QA pass. Nobody asked whether a test written by the people who built the retrieval could ever find the gap in their own retrieval.
What I would leave alone: the notification toggle, the sign-in screen, the export-my-data button. None of them have a model guessing at anything. The old one-checklist bar is still exactly right for those, and building a heavier bar for them would waste the two weeks it actually takes to build one properly.
The lesson: a checklist that works for a save button does not automatically work for a feature that has to guess. If the same word, done, is asked to mean two different things, it needs two different ways of being earned.
Now here is the same thing as a story
The short version is above, for when you're in the room. This one is for feeling why a rising test score and a real, defensible answer are not automatically the same claim.
Talitha Havercombe has run launch reviews at Marigold for four years. She built the checklist everyone uses: a one-page form, spec matches build, QA signs off, no P0 bugs, ship to ten percent. It has caught almost every real problem that ever mattered, because almost every feature Marigold ever shipped was a form, a save, a toggle.
Bill Tracker went through her checklist the normal way. An engineer clicked through every field, tried a negative number, tried a decimal, tried deleting a bill mid-edit. It passed in an afternoon.
Ask Marigold went through the same form. Underneath the usual boxes, the team had added one line of their own: a fifty-question set they had written together over a week, covering the kinds of things they figured a user might ask. "How much did I spend on groceries." "What's my biggest bill this month." They ran it, and 47 came back right. Talitha signed off. It felt no different from signing off on Bill Tracker. A number, a bar, a pass.
For three weeks, on the ten percent of users who had it, nothing went wrong. The team watched their own dashboard: response time held, nobody filed a bug, the golden set still scored 94 percent every night. It looked exactly like a feature that was fine.
The same desk. The same checklist. A very different Tuesday.
Then support forwarded her a message. Not a bug report, a support agent had written across the top: "This one's not a bug, I think, but you should read it." Theron had written three paragraphs about asking Ask Marigold if he could afford a car repair, being told yes, and then watching his account go $985 negative four days later when an insurance bill he'd forgotten about landed on top of it.
Talitha pulled the transcript. Ask Marigold had told him, plainly and confidently, that $1,200 comfortably covered his typical monthly costs. She pulled his transaction history next. The $2,150 premium was right there, filed under a category he'd made up himself eight months earlier, "House stuff." The retrieval had searched his standard categories and never once looked inside his own.
We did not build a model that was wrong about a fact. We built one that was wrong about a fact it never went looking for, and it never once said so.
The decision Talitha would take back happened in a planning meeting two months earlier, when the team decided how Ask Marigold would earn the word done. Someone suggested writing test questions themselves, since building a real question set from actual users would take weeks they didn't have. It felt efficient. It felt like moving fast on a feature everyone was excited about. Nobody in that meeting asked the one question that would have caught this: would a person who didn't build the retrieval ever think to ask it that way?
She ran the numbers again, properly this time. Forty real question patterns pulled from the three weeks of rollout logs, graded against a new rubric: did the retrieval find the right transactions, did the stated number match, did it hedge when the picture was incomplete. Twenty-four of forty cleared the bar. Sixty-one percent, not ninety-four. Two independent reviewers graded the same forty questions separately first, to check whether the rubric itself even meant the same thing to two different people, and they agreed on thirty-one of them, seventy-eight percent, a number Talitha wrote in her own notes as "not great, but real."
Run the same three weeks again, with retrieval accuracy checked first, on real question patterns, before anyone ever looks at what the model says about them. The missed premium shows up in week one, inside a review meeting, not inside Theron's account four days after he already moved the money. Ask Marigold holds for two more weeks while the team fixes how it searches custom categories. It ships clean.
What I'd want to tell myself, if I could go back to that planning meeting: a test written by the same three people who built the feature will always pass, because it can only ever ask the questions they already thought of.
ORDER, the five checks Marigold skipped
Not a way to make two kinds of "done" sound like the same idea with different names. ORDER is what forces you to name the second kind and rank it properly before anyone signs off on the first.
Five checks, run once on two features that were never going to fail the same way.
OOutcome. What is done actually protecting?
Bill Tracker's done protects functional correctness: the number a user types is the number that gets saved, every time, with no exceptions. Ask Marigold's done protects something softer, a defensible quality bar on real questions: not that it's always right, nobody can promise that, but that a person could stand behind the answer if a real user acted on it.
Nobody would build an eval set for a save button. Nobody should skip one for a feature that has to guess.
RReversibility. How bad is it if you're wrong?
A Bill Tracker bug is a clean, isolated fix: one row, one number, patched and reshipped, done in a day. Ask Marigold's confident miss cost Theron $985 overdrawn and a $75 late fee before anyone at Marigold even knew it had happened. The damage landed outside the app, in his real bank account, where no patch could reach it.
The bug you can fix on a Tuesday. The trust, and the money, you can't.
DDependency. What does one need that the other doesn't?
Ask Marigold's done depends on three things Bill Tracker never needed: a representative set of real questions, not fifty an engineer already knew the answers to. A scoring rubric that grades the retrieval and the number, not just whether the model produced a sentence. And a human-agreement baseline, two reviewers grading the same answers separately, so a 94 percent score means something more than "we agreed with ourselves."
A test written by the people who built the feature proves the feature can pass a test it already knows the shape of.
EEvidence. What's cheap to check first?
For Bill Tracker: a round-trip save-and-reload, a handful of edge cases, minutes of work in CI. For Ask Marigold: a retrieval-only check on a small sample of real questions, before spending a day grading what the model says about them. This catches the cheapest, biggest failures first, since a great model reasoning over the wrong data still gives a confident wrong answer.
Retrieval failing is free to catch early and expensive to catch four days later, in someone's bank account.
RRank. State the actual order.
Bill Tracker: check the round-trip, then edge cases, then concurrent edits, then ship. Ask Marigold: check retrieval accuracy first, then grade a representative set against the rubric, then confirm the reviewers agree with each other, then confirm it hedges on thin data, then ship to a small rollout, not everyone.
Same word, done. Two completely different orders of operations, because the two features fail in completely different ways.
Same word, done. One of these mistakes reverses with a patch. The other one doesn't.
Retrieval gets checked first because nothing after it means anything if the search itself is wrong.
Three things worth naming directly, since this is where the real judgment sits. Talitha's team tried the cheap fix first: raise the golden set's pass bar from 94 to 99 percent. Rejected, because a harder version of a test the engineers wrote themselves still never asks a question shaped like Theron's. The AI-specific failure mode here is a silent retrieval miss: the model isn't wrong about what it read, it's wrong about what it never found, and a model reasoning confidently over a missing fact sounds exactly as sure of itself as one reasoning over a correct one. The guardrail is the retrieval-accuracy-first check, run before anyone grades what the model says about the data it pulled. And there's a real cost to doing this properly: building a representative eval set, a rubric, and a human-agreement baseline for Ask Marigold cost Talitha's team roughly two extra weeks before it could ship again. That's the trade Marigold is making on purpose: slower to ship a retrieval feature, in exchange for a done that can survive a real user's real question.
And if you want to be sure it really works, try it somewhere else
Same five letters, a completely different clinic. This time nobody's moving money. Somebody's deciding how fast to get a sick animal in front of a vet.
Furwell is a scheduling and advice app used by a small chain of veterinary clinics. Owners use it for two things: booking an appointment by hand, and asking a symptom-triage feature how urgent something is, "my dog's been vomiting since this morning, should I come in now or wait."
Booking sits where a normal checklist is still the right one. Triage sits where it isn't.
Run the same five letters. Outcome: appointment booking protects a correct calendar slot. Symptom-triage advice protects a defensible urgency call, on real symptom descriptions, that a vet could stand behind afterward. Reversibility: a booking bug means a double-booked slot, annoying, fixed with a phone call. A triage feature that quietly under-calls urgency on a real symptom, "come in within a week" when it should have said "come in tonight," can cost an animal's life, and there is no patch that reverses that. Dependency: the triage feature needs real symptom write-ups pulled from actual vet intake notes, a rubric a vet, not an engineer, agrees with, and a check that it escalates instead of guessing when the description is thin. Evidence: cheap first check, does the retrieval pull the pet's real medical history correctly, before anyone grades the urgency call it makes on top of that history. Rank: retrieval accuracy first, then the rubric-graded eval against real intake notes, then a vet's own sign-off on the escalation logic, then a small rollout, watched closely for two weeks before it goes wide.
Pettleworth's rejected alternative
Furwell's clinic-ops lead, Pettleworth, first proposed adding a blanket disclaimer instead: "This is not a substitute for veterinary advice." Rejected. A disclaimer doesn't stop the retrieval from missing a pet's known allergy note buried three visits back, it just moves the blame onto an owner who has no way of knowing what got missed.
Swap the trigger and it still runs.
Speed: an interviewer caps you at ninety seconds. Skip straight to it: a save button's done is deterministic, checked once. A retrieval feature's done is a defensible bar on real questions, checked with a real eval set and a human-agreement baseline, and you check retrieval accuracy before anything else.
Cost: no budget this quarter to build a full eval pipeline. Ship the retrieval feature advisory-only, human-reviewed on anything above a small dollar or urgency threshold, until the real eval set exists, rather than shipping it unguarded to save two weeks.
The model got better, for real: say Ask Marigold's next retrieval upgrade actually closes the custom-category gap. The pass rate on the representative eval should climb toward the golden set's, but only if someone re-runs the real eval to check, instead of assuming a better model automatically means a better answer everywhere it's used.
Where people run it wrong.
They let the team that built a retrieval feature also write its only test, since nobody else has time.
They treat one blended pass rate as proof, instead of checking whether two people even agree on what counts as a pass.
They test a CRUD feature and a retrieval feature against the same checklist, because it's always been one checklist before.
How to use it live. Ask one question before trusting any "it passed its eval" claim: "who wrote the test, and would a real user's actual question have made it in?" That question alone usually tells you whether a pass rate is measuring the feature or just measuring its own builders.
Flashcards (tap any card to flip it)
1 · THE FRAMEWORK
What framework is this, and what's its one job?
Tap to flip
ANSWER
ORDER: rank by outcome, reversibility, dependency, evidence, then state the actual rank. Built for prioritization questions, here used to rank what "done" checks come first for two different feature types.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Talitha Havercombe, who owns what "done" means for every launch at Marigold, a budgeting app, and has run its launch checklist for four years.
3 · THE SHORTCUT
What did Talitha's team stop doing because the old checklist always worked?
Tap to flip
ANSWER
They stopped asking whether a retrieval feature needed a different kind of proof than a save button, and let one checklist cover both, because it always had before.
4 · THE CONTRAST
What's the two-setting contrast this whole answer turns on?
Tap to flip
ANSWER
Bill Tracker's done protects a save: the number in matches the number out. Ask Marigold's done protects a decision: a defensible answer on real questions with real money behind them.
5 · THE OLD DECISION
What decision would you take back?
Tap to flip
ANSWER
Letting a fifty-question golden set the engineers wrote themselves stand in for done, with no representative eval set, no rubric, and no check that two reviewers even agree.
6 · THE NUMBER
Fill in the blank: Ask Marigold passed done at ___ percent on its own test. Graded properly afterward on real questions, it actually cleared ___ percent.
Tap to flip
ANSWER
94 percent on the golden set the engineers wrote. 61 percent on the representative eval built from forty real question patterns after launch.
7 · THE REPLAY
Same question, checked in the new order, what changes?
Tap to flip
ANSWER
Retrieval accuracy gets checked first. The missed insurance premium shows up in week one, inside a review meeting at Marigold, instead of four days after Theron already moved the money.
8 · CROSS-PRODUCT TRANSFER
Section 4 runs ORDER again on a different product. Which one, and what's its retrieval feature?
Tap to flip
ANSWER
Furwell, a vet-clinic scheduling app. Its retrieval feature is symptom-triage advice, which reads a pet's medical history to say how urgent a symptom is.
Check yourself Score: 0 / 0
Multiple choice
1. Why couldn't the 94 percent golden-set score be trusted as Ask Marigold's real "done" bar?
A. The model itself was too slow to be useful.
B. The fifty questions were written by the same engineers who built the retrieval, so the set never tested a gap like Theron's.
C. A 94 percent score is mathematically impossible for a language model.
D. The team never actually ran the golden set before launch.
Show hint
Look at the Dependency step in the ORDER recap.
Show answer
B. A test written by the people who built the feature can only ever ask the questions they already thought of, which is exactly why it missed Theron's.
True or false
2. True or false: a Bill Tracker bug and an Ask Marigold miss are equally easy to fix once someone finds them.
True
False
Show hint
Check the Reversibility step in the ORDER recap.
Show answer
False. A Bill Tracker bug is one patched row, reshipped in a day. Ask Marigold's miss already cost Theron $985 overdrawn and a $75 late fee before anyone found it, and no patch undoes that.
Fill in the blank
3. The insurance premium that Ask Marigold's retrieval missed was $___, filed under a custom category Theron called "___."
Show hint
Check the numbers in "Let's learn."
Show answer
$2,150, filed under "House stuff." A category the retrieval's standard search never checked.
Short answer, where it wouldn't matter
4. Name a feature at Marigold where this heavier definition of done would NOT be worth the extra two weeks.
Show hint
Look at "what I would leave alone" in Let's learn.
Show answer
Model answer: The notification-preferences toggle. It's a simple on/off save, no model, no retrieval, nothing probabilistic to defend, so the old one-checklist bar is still the right one.
Short answer, apply it yourself
5. Pick an AI feature you use. What would its CRUD-shaped "done" check, and what would its retrieval-shaped "done" need that the CRUD check never would?
Show hint
Think about what's deterministic versus what depends on the model finding the right facts first.
Show answer
Model answer: A recipe app's "save this recipe" button just needs a round-trip check. Its "what can I cook with what's in my fridge" feature needs a representative set of real fridge lists, a rubric for whether the suggestion is actually edible and available, and a check that it says "I'm not sure" when the fridge list is too thin to trust.
Short answer, work the number
6. If Theron's buffer had started at $4,200 instead of $3,200, would the same $2,000 move plus the missed $2,150 premium still have overdrawn his account? Why or why not?
Show hint
Work through $4,200 minus $2,000, then minus $2,150.
Show answer
No. $4,200 minus $2,000 leaves $2,200. $2,200 minus the $2,150 premium leaves $50, still positive. The account would not have gone negative, though $50 is thin enough that the same missed retrieval would still deserve catching before Ask Marigold called the move safe.
Before you close the answer
Why this works
Tests whether you'll trust a test the builders wrote about their own work, or insist on a definition of done that a real user's real question could actually survive. Most candidates stop at "we ran QA."
Follow-up traps
"Couldn't you just add a disclaimer instead of building a whole eval process?" Response: no, a disclaimer doesn't stop the retrieval from missing the transaction, it just moves the blame onto a user who has no way of knowing what got missed.
"Isn't building a representative eval set for every retrieval feature going to slow the whole roadmap down?" Response: yes, and that's the accepted trade. Two weeks per retrieval feature is a real cost, worth it against shipping a confident wrong answer on a user's real money.
If pressed
The human-agreement baseline itself surfaced something nobody expected: on the first pass, two reviewers only agreed on 78 percent of the graded questions, meaning almost a quarter of the "score" was really disagreement about what counts as a good answer, not actual model quality, until the rubric got sharpened.
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.