CaseIntermediateModel Fluency & the AI PM Role / Managing stakeholder expectations and AI hype / #20

Describe a framework for triaging inbound AI feature requests from across the company.

ORDER · how Evanthe Beaumaris decides which AI request gets Ledgerbird's next sprint

Coalfield Group's internal AI platform team owns Ledgerbird, a tool that reads every line on an expense report and sorts it into the right budget category for finance. It works well enough that requests for more of it pour in from every direction: sales, legal, and a newly acquired Antwerp freight firm all want a piece of the same small team's time. Product manager Evanthe Beaumaris used to answer whichever request had escalated most recently. One of those requests went out fast, on a promise made to the board, and it broke quietly for a month before anyone noticed. She needed a real system, not a longer list.

The direct answer
Sort every inbound AI request into one of three tiers, ranked by validated impact and how hard the request would be to undo, never by who asked loudest or most recently. Before a request is even eligible to be ranked, check two things cheaply: does it have a real problem and a success bar, and is there enough labeled data behind it to actually work. Review the whole tiered queue together every two weeks, and never let a request sit past one cycle without a real decision.
Do this, in order
  1. Sort every inbound AI request into one of three tiers by validated impact and how hard it would be to undo, not by who asked or when.Why: this is the actual system, not a wish to "get better at prioritizing."
  2. Check whether the request has enough labeled data to train on, before ranking it seriously.Why: an AI request can look completely ready and still be nowhere near the data a reliable model needs, and nothing else on this list catches that.
  3. Push a vague "we should use AI for this" back until it has a real problem and a stated success bar.Why: a request nobody has scoped can't be ranked, it can only be guessed at.
  4. Weigh harder against any request already promised outside the team, on a timeline someone else is holding you to.Why: that kind of commitment is the hardest to walk back, so it deserves more scrutiny before a yes, not less.
  5. Run a cheap gut-check on how many people or how much money the problem actually touches, and whether a non-AI fix was ever tried.Why: this is what stops a loud, small request from jumping a large, quiet one.
  6. Review the whole queue together every two weeks, and never let a request sit past one cycle with no decision.Why: an unranked backlog that only grows is exactly the thing this system exists to stop.

How to answer this, stage by stage

Nobody is grading whether Evanthe can describe a ticket queue for five minutes. They're grading whether the system she names would actually survive the next loud request landing in her inbox.

1
Pin the question to one team, one product, one inbox
Say it like this
"Let's make this real. I run the AI platform team at Coalfield Group. We own Ledgerbird, the tool that sorts every expense line into the right budget category. Every part of the company has an idea for what it should do next, and most weeks I get three or four new ones."
Why this works
Naming a real team and a real product stops the answer from staying an abstract speech about prioritization.
2
Say your structure out loud before diving in
Say it like this
"I'd run this as ORDER. Outcome, what I'm actually protecting. Reversibility, which request is hardest to walk back once it's started. Dependency, what has to be true before a request is even ready to rank. Evidence, what's cheap to check first. Rank, the real system, stated plainly."
Why this works
Two seconds of structure signals a method, not a mood, before the interview pressure sets in.
3
Reframe what the question is really testing
Say it like this
"This isn't really asking me to describe a ticket queue. It's asking whether I'll protect a small AI team's time from whoever escalates the loudest, or whether I'll just work down a list in the order it arrived."
Why this works
Separates a real answer from a generic description of "how we handle feature requests."
4
Give the one decision, before any evidence
Say it like this
"Here's what I'd actually run. Every request gets sorted into one of three tiers, based on validated impact and how hard it would be to undo if we say yes too fast. The whole queue gets looked at together every two weeks, out loud, with whoever asked for it in the room."
Why this works
This is the direct answer, said plainly, before a single story arrives to back it up.
5
Prove it with the failure, compressed to four sentences
Say it like this
"I'll tell you what happens without this. We fast-tracked one request because an exec had already told the board it was basically done. The team had nine weeks of messy migrated data to train on, nowhere near enough. The tool started confidently sorting expenses wrong, quietly, for a month before anyone caught it."
Why this works
Shows the real cost of skipping the Dependency check in one breath, not a five-minute story.
6
Name the option you turned down
Say it like this
"We could have built that request as a full custom model from day one, which is what actually shipped. I'd turn that down now. The honest first move was a plain lookup table mapping their old categories to ours by hand, while we waited for enough real data to train on properly."
Why this works
Shows a real judgment call was made, not just the path that happened to ship.
7
Close on the cadence, in one line
Say it like this
"Every two weeks, the queue gets reviewed together, and nothing sits there past one cycle without a real decision. Rank by checked impact and by what's hardest to undo, never by who asked last. That's the whole answer."
Why this works
Ends on something the interviewer can actually hold the candidate to later, not just a confident closing line.

Let's learn

Ledgerbird is a tool that reads a line on an expense report, a taxi ride, a hotel bill, a client dinner, and puts it in the right budget category for finance, without a person doing it by hand.

Before Evanthe's team built any of it, a Coalfield Group finance clerk sorted about 4,000 expense lines a month by eye, close to three hours a day matching a receipt to a code. Ledgerbird cut that to a few minutes of spot-checking, and it worked well enough that four divisions were running it inside a year.

What does "labeled data" mean here? Real expense lines someone has already sorted correctly by hand, the examples a model studies to learn what "travel" or "client entertainment" actually looks like. No labeled examples, no way for the model to learn the pattern, no matter how good the underlying model is.

That's when the requests started. Sales wanted big client-entertainment spend flagged for account risk. Legal wanted policy violations caught automatically. A freight firm in Antwerp, Verhaeghe Forwarding, newly bought by Coalfield, wanted their own books on it entirely. By July, sixty-one requests sat in a shared doc with no order to them at all, and Evanthe answered whichever one had escalated most recently that week.

The queue nobody was ranking, month by month
60 30 0 Antwerp audit, July Jan Apr Jul
Open requests, monthlyThe month it broke
No single bad week. The line just climbed, steadily, for seven months, because nothing ever left the list.

Here is the turn. The extra requests piling up were never the real problem. The real problem was what happened once Evanthe said yes to one of them too fast.

Verhaeghe's finance controller, Freydis Prost, had about nine weeks of migrated expense history when the request went out, roughly 340 labeled lines, and the old system's categories didn't line up cleanly with Coalfield's chart of accounts. Coalfield's core model runs on 14,000 labeled lines built up over four years and holds 97% accuracy against its own eval set. Verhaeghe's version shipped anyway, because a VP had already told the board it would be live by September. On a 120-receipt audit sample the following month, it was right 61% of the time, and it never once said it wasn't sure.

Hand sketched decision tree titled Does this request even have enough data yet? Root box reads New category request comes in. Three branches: 2,000+ labeled lines on hand leads to Ready to rank. Under 2,000, categories messy leads to Crosswalk first, not a model. No problem statement yet leads to Send back to be scoped.
The check that never ran before the Antwerp request shipped.
The choice I would take back Evanthe fast-tracked the Antwerp categorizer on the strength of a board promise, with no check for whether there was enough labeled data to train it reliably. There wasn't. I would run that check first, every time, before a request is even eligible to be ranked, let alone shipped.

At its worst, a model with too little data to learn from doesn't fail loudly. It answers every single line with the same flat confidence, right or wrong, and nothing on the screen tells anyone which is which. That's a more expensive kind of broken than a tool that simply stops working.

What I would leave alone: the currency-conversion step, plain arithmetic on a daily exchange rate, doesn't need any of this. It isn't a model guessing at intent, it's a lookup and a multiply, and it's been correct every single time anyone has checked it.

The lesson: a board update is not evidence. Treating a promise as if it were proof is how a real AI team ends up building the one request it was least ready to build, right when the whole company is watching.

Now here is the same thing as a story

The short version above is what you'd actually say in the room. Read this one for the eight weeks nobody at Coalfield was watching what the shortcut cost Freydis, receipt by receipt.

Freydis Prost has kept Verhaeghe Forwarding's books for eleven years, since before it was Coalfield's to buy. She knew every driver's usual fuel stop and every client's usual dinner spot well enough to sort a stack of receipts without looking twice.

Ledgerbird's Antwerp extension arrived in July, four months after the acquisition closed. For the first two weeks it looked, if anything, better than she expected. Fuel, tolls, hotels, the easy stuff, it sorted cleanly, and Freydis checked every single line anyway, because the tool was new and she didn't yet know what to trust.

By week four she was checking maybe one line in five. By week six, she skimmed the totals at the bottom of the report and moved on. Nobody told her to stop checking. The tool never once flagged a line as unsure, never showed a gap where a guess might be wrong, so there was nothing in front of her that looked like it needed a second look.

Hand sketched two panel comparison titled How Freydis's mornings changed in eight weeks. Left panel, a person icon labeled Week 2, caption: checks every category line the tool picked. Right panel, a person icon labeled Week 8, caption: skims the totals, the tool never looks unsure.
Nobody decided to stop checking. A tool that never looks unsure makes that decision for you.

In week eight, Coalfield's regional auditor pulled a routine sample of forty Antwerp receipts to close out the quarter. Nineteen were miscategorized, several badly enough that the wrong VAT treatment had already gone out on filed paperwork. A dinner with a supplier had been filed as internal training. A warehouse repair had been filed as travel. None of it looked wrong on a screen that never hedged.

We didn't ship something slower than Freydis. We shipped something that always sounded sure of itself, whether it was right or not.

Freydis wasn't careless. She did the sensible thing every single week: a tool that never once flagged a doubt earns less checking over time, not more. That's not a flaw in her. It's what any reasonable person does with a tool that never admits uncertainty.

The auditor's email reached Evanthe on a Tuesday. She didn't call it a model bug in the postmortem, because it wasn't one. Two years earlier, on a different request, she'd made the opposite mistake: she'd frozen every new AI request for a full quarter while the team "figured out a process," and the backlog that built up in that quarter took another two quarters to work through. She wasn't going to swing back to that either.

So instead, she pulled the full request list, all sixty-one of them, and ran each one through a real check for the first time: a stated problem, a stated data floor of 2,000 clean labeled lines before any model work started, and a tier based on what the request would actually cost to get wrong. Verhaeghe's own re-do went out nine weeks later, once enough clean data existed, alongside a plain crosswalk table that covered the gap in the meantime. On the same 120-receipt audit sample, the rebuilt version scored 94%.

Requests open, and stuck past 60 days, before and after ORDER
60 30 0 61 31 Before (Jul) 19 4 After (Nov)
Open requestsStuck past 60 days
The queue didn't get shorter because requests stopped coming in. It got shorter because every one of them now gets a real decision.

One design let a confident wrong answer walk straight into a VAT filing. The other made Freydis wait nine weeks, and then actually trust what she got.

Here's what I'd tell myself, the day we fast-tracked that request: a board update is not evidence. I mistook a promise for proof, and Freydis paid for it in VAT corrections, not me.

Five letters Evanthe now checks before saying yes

PICK would fit if this were one tradeoff with a clean side to pick. Here there are sixty-one live requests competing for the same few engineers, and the job is sorting all of them by what's hardest to undo if the call is wrong. That's ORDER's job.

Hand sketched labeled parts diagram titled Five checks before a request gets a yes. A center document icon labeled Inbound request, with five callouts around it: Outcome, what capacity protects. Reversibility, hardest to unsay. Dependency, is it even ready. Evidence, cheap to check first. Rank, the tier and when it's reviewed again.
Five checks a request clears, in order, before it gets real engineering time.
OOutcome. What a good triage answer actually protects.
Not everyone's feelings, and not a tidy-looking backlog. The AI team's limited hours, going to requests that have a real, checked reason behind them, instead of whoever asked most recently or loudest. Every other letter exists to serve this one thing.
Name the outcome before ranking anything. Skip this and every ranking after it is just personal taste dressed up as a process.
RReversibility. Which kind of commitment is hardest to walk back.
A request that's already been promised outside the team, told to the board, integrated into someone else's roadmap, is far harder to unwind than one still sitting as a note in an inbox. Once Basile Harrower told the board Verhaeghe would be live by September, missing that date read as a broken promise, whatever the honest technical picture actually was.
This is why order matters, not preference. A note in a queue can wait a cycle. A public promise punishes you the moment it's late.
Hand sketched two panel comparison titled Which one can Evanthe still take back. Left panel, a box icon labeled Told the board it ships in September, caption: bolted shut once it's said out loud. Right panel, a scale icon labeled A note in the request queue, caption: swings both ways, easy to update.
Reversibility isn't a reason to avoid the harder call. It's a reason to check the data before making one.
DDependency. What has to already be true before ranking even starts.
Two things, checked before a request is eligible for a tier at all. First, does the requester have a real problem and a stated success bar, or is it still "we should use AI for this," which gets sent back to be scoped. Second, and this one only exists because a model is involved: is there enough labeled historical data to train something reliable. Verhaeghe had 340 lines. The bar set afterward was 2,000. No amount of engineering skill closes that gap; only more real, correctly labeled examples do.
This is the step a normal feature-request process doesn't have. A new report or a new button doesn't need a labeled dataset behind it before anyone can build it. A categorizer does.
Hand sketched flow diagram titled What has to happen before a request gets ranked. Five boxes connected by arrows, left to right, the second box highlighted: Request lands. Scoped with a bar. Data checked. Evidence in. Given a tier.
Every box after the second one only means something once the second one is actually done.
EEvidence. What's cheap to check before ranking a request seriously.
A rough gut-check on how many people or how much money the stated problem actually touches, and whether a lighter, non-AI fix has ever been tried. For Verhaeghe, that fix was a plain lookup table mapping their old category codes to Coalfield's chart of accounts by hand, something a spreadsheet formula could do the same week, while real labeled data built up behind it.
This is the step that stops a small, loud request from jumping a large, quiet one, and it costs an afternoon, not a sprint.
RRank. The actual triage system, stated plainly.
Three tiers. Now: validated impact, cleared the data check, ready to build. Next: validated but not urgent, or genuinely reversible if it waits. Not yet: unscoped, or short on data, sent back with what it needs to return. The whole queue gets reviewed together every two weeks, and nothing sits in a tier for more than one cycle without a real decision: promoted, deferred with a stated reason, or killed.
If this rank would be identical no matter what the Outcome in step O was, it was picked by habit, not judgment. Swap the outcome to "look responsive to whoever's watching" and the rank changes completely, which is exactly why naming Outcome first matters.

One alternative is worth naming and rejecting directly: building Verhaeghe's categorizer as a full custom model from day one, which is what actually shipped. It lost, in hindsight, to a plain crosswalk table that could have covered the same gap in a week without any model at all, while real data accumulated behind it. The AI-specific failure worth naming is a model trained on too little data answering with the same flat confidence whether it's right or wrong, a kind of silent, confident wrongness that has no equivalent in a report or a button. The guardrail is the 2,000-line data floor plus a two-week shadow-mode check against a held-out audit sample before anything ships live. And the trade-off is accepted on purpose: a well-evidenced request can now wait up to two weeks for a formal decision instead of an instant yes, in exchange for never again burning a sprint on an AI feature that was never going to be reliable.

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

Same five letters, a veterinary call center instead of a finance team, and the honest answer this time is to say no.

Barrington Veterinary Partners runs TriagePaw, a tool that reads a pet owner's description of symptoms over the phone and sorts the call by urgency for front-desk staff at sixty-plus franchise clinics. Product manager Tuulikki Loach gets requests the same way Evanthe does: every clinic group has an idea. One regional director wants TriagePaw extended to exotic pets, reptiles, birds, rabbits, in time to announce it at the annual franchise conference.

Hand sketched quadrant chart titled Sorting Tuulikki's requests at Barrington Vet. X axis, how ready is the data, from barely any to plenty checked. Y axis, how hard to walk back if wrong, from easy to adjust to already announced. Promise it at the conference and Exotic-pet AI triage sit in the upper left, data not ready and hard to walk back. Dog and cat triage more breeds sits lower right, more ready. Keep the manual routing rule sits furthest right and low, ready and easy to adjust.
The request in the top-left corner is the one worth saying no to, not the one worth speeding up.

Same steps, mapped onto Barrington. Outcome: protect against a real emergency getting sorted into the routine queue, not against looking slow to a regional director. Reversibility: a stage announcement at the conference is far harder to walk back than an internal pilot with no date attached. Dependency: the system holds only 85 logged exotic-pet cases network-wide, against the same kind of data floor that stopped Verhaeghe. Evidence: exotic-pet calls run about 40 a month across all sixty clinics, a small slice of total volume, and a manual routing rule already sends every one of them straight to a trained vet tech, a fix that already works. Rank: this one goes in the "not yet" tier, the conference announcement gets turned down, and the manual rule stays exactly as it is until real volume and real data justify building anything at all.

Swap the trigger and it still runs.
Speed: an interviewer caps you at ninety seconds. Skip straight to Rank, name the tiers and the cadence, everything else is support.
Cost: there's no budget to check the labeled-data count properly before the meeting. Say so plainly, and use whatever's cheap and real, a quick count from the existing database, rather than assuming the data is probably fine.
The model got better, for real: a newer base model turns out to need far less labeled data to hit the same bar. Say that too, plainly, and move the request up a tier. The method never says never revisit, it says decide from real evidence either way.

Where people run it wrong.
They let a loud escalation skip the Dependency check entirely, the way Evanthe first did.
They build the ambitious version first and check for enough data only after something breaks.
They never revisit the queue on a real cadence, so it quietly turns back into an ever-growing, unranked list.

How to use it live. Before saying yes to anything, ask out loud: "do we actually have enough real, labeled examples for this, or are we hoping the model figures it out?" If the honest answer is "we don't know," that's the whole Dependency check, and it's reason enough to hold the request in queue until someone does.

Flashcards (tap any card to flip it)

1 · THE FRAMEWORK
What framework fits deciding which inbound AI feature request gets built next?
Tap to flip
ANSWER
ORDER: outcome, reversibility, dependency, evidence, rank. Built for ranking real choices by what's hardest to undo, and for checking whether a request is even ready to be ranked at all.
2 · THE CAST
Who holds each role in this story, and where do they work?
Tap to flip
ANSWER
Evanthe Beaumaris runs the AI platform team at Coalfield Group, owner of Ledgerbird. Freydis Prost is the finance controller at Verhaeghe Forwarding, the newly acquired Antwerp subsidiary. Basile Harrower is the VP who promised the board a date.
3 · THE OUTCOME
What is a good triage system actually protecting?
Tap to flip
ANSWER
The AI team's limited hours, so they go to requests with a real, checked reason behind them, not whoever asked loudest or most recently.
4 · REVERSIBILITY
Which kind of request is hardest to walk back once it's started?
Tap to flip
ANSWER
One already promised outside the team, on someone else's roadmap or a public timeline, not one still sitting as a note in a queue that can be updated any week.
5 · THE OLD DECISION
What decision would Evanthe take back?
Tap to flip
ANSWER
Fast-tracking the Antwerp categorizer on a board promise, with no check for whether there was enough labeled data to train it reliably. There wasn't, and it shipped anyway.
6 · THE NUMBER
Fill in the blank: Verhaeghe's migrated history had only ___ labeled lines, against a bar set afterward at ___.
Tap to flip
ANSWER
340 labeled lines, against a 2,000-line minimum set after the audit found the mess.
7 · THE RANK
State the actual triage system, in one line.
Tap to flip
ANSWER
Three tiers by validated impact and reversibility, reviewed together every two weeks, and nothing sits in the queue past one cycle without a real decision.
8 · CROSS-PRODUCT TRANSFER
Section 4 runs ORDER again on a different product. Which one, and who runs it?
Tap to flip
ANSWER
TriagePaw, Barrington Veterinary Partners' AI call-triage tool. Product manager Tuulikki Loach uses the same method, and this time deliberately turns a request down.

Check yourself Score: 0 / 0

Multiple choice
1. Why did Verhaeghe's categorizer start sorting expense lines confidently wrong for weeks before anyone caught it?
  • A. There was a bug in its VAT calculation.
  • B. It shipped trained on only nine weeks of messy migrated data, far short of what a reliable model needs.
  • C. Freydis stopped using the tool entirely.
  • D. Coalfield swapped in a cheaper base model without telling anyone.
Show hint
Check the Dependency letter and stage 5 of the walkthrough.
Show answer
B. The gap came from a real, checkable data shortage, not a bug or a swapped model, and nothing about the tool's own output signaled that it was guessing.
True or false
2. True or false: in Evanthe's ORDER system, every request is ranked in the order it arrived in the shared doc.
  • True
  • False
Show hint
Check the Rank letter and the direct answer.
Show answer
False. Requests are ranked by validated impact and reversibility, then reviewed on a set cadence, which is exactly the ad hoc, arrival-order habit she replaced.
Fill in the blank
3. Verhaeghe's migrated history had only ___ labeled expense lines when the categorizer shipped, against a ___ minimum set afterward.
Show hint
Check flashcard 6 and the Dependency letter.
Show answer
340; 2,000. Coalfield's own core model, by comparison, was trained on 14,000 labeled lines.
Short answer, name the rejected option
4. What did Evanthe actually build for Verhaeghe, and what would she do instead now?
Show hint
Check stage 6 of the walkthrough and the closing paragraph of the framework recap.
Show answer
Model answer: She built a full custom model on day one. In hindsight, the honest first move was a plain crosswalk table mapping Verhaeghe's old category codes to Coalfield's chart of accounts by hand, while real labeled data built up behind it.
Short answer, apply it yourself
5. Think of a request queue you're part of, at work or anywhere else. What's one item in it that would fail a "do we actually have what we'd need to do this right" check?
Show hint
Check the Dependency letter, what has to be true before a request is even ready to rank.
Show answer
Model answer: Any request that sounds ready because someone described what they want, but nobody has checked whether the thing it depends on, data, access, a working fallback, actually exists yet.
Short answer, work the number
6. If Verhaeghe's migrated history had come with 2,000 clean labeled lines instead of 340, should the request still have waited for the next biweekly queue review? Why or why not?
Show hint
Check the Dependency and Rank letters together.
Show answer
Model answer: yes, it should still surface at the review. Clearing the Dependency bar would let it move up a tier fast, but the Rank step is what stops any single request from being fast-tracked outside the process on its own, which is the exact habit that caused the original mess.
Before you close the answer
Why this works
Tests whether a candidate can build a real triage system for AI work specifically, one that catches a request with no real chance of shipping reliably, rather than a generic ranking method that happens to be illustrated with an AI tool.
Follow-up traps
"What if the requester is a huge account and genuinely can't wait for a data check?" Response: separate speed from skipping the check. Start the manual, non-AI fallback immediately while the data question runs in parallel, so nobody actually sits waiting on the check itself.

"Isn't a 2,000-line minimum just an arbitrary number?" Response: no, it's set from what it actually took to hit a reliable accuracy bar on the smallest category Coalfield's own core model handles well, and it moves if real evidence says it should.
If pressed
The shadow-mode check isn't a one-time gate. A newly cleared request runs silently for two weeks, its guesses compared against what a human categorizer actually picked, and it only goes live once it clears the same accuracy bar the core model cleared at its own launch, not a lower one set to make the timeline work.
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