AiBook · Jeremy Schoemaker · 2026 · ch-50.html

What First. What Never.

(Spine Ch. 50.)

“I love deadlines. I love the whooshing noise they make as they go by.” Douglas Adams, The Salmon of Doubt (2002)

Six hours, three planners, one question: how do we collect a thousand a day. Three architectures came back, each internally coherent, each priced with a straight face, from $0 a month to $5,000 a month. I read all three. I had a favorite. We were forty minutes from picking one when somebody went and looked at what the collector was actually doing on screen, and the thing on screen was not a throughput problem, was not an architecture problem, and did not care about any of the three documents. It cost about twenty dollars to fix. I will get to what it was.

Bottom line: Prioritization is impact divided by effort, and almost everybody gets it wrong on the numerator, before ranking ever starts. You rank a list of guesses with great discipline, and the ordering is perfect and the list is fiction. Re-measure the impact number the same day you rank it. Then do the harder half: kill the work that has no customer, including the work you already paid for. A ranked backlog is not a plan, it is a receipt for what you believed on a Tuesday.


When it bites


The pattern

Impact over effort is the right formula. The failure is not arithmetic, it is sourcing. Effort you can estimate, badly but honestly, because effort is about your own team and you have scar tissue. Impact is about the world, and the world doesn’t appear in your planning session unless you go get it.

So the first rule is boring: re-measure the impact number before you rank, not after. Read counters, row counts, kill counts, whatever the domain’s equivalent of SELECT COUNT(*) is. The cost of the measurement is usually under two minutes, and the cost of skipping it is the entire ordering.

The second rule is the one people hate: kill work that has no customer. An unused feature is not neutral, it is a recurring bill: support cost, test surface, and workflow clutter that distracts users from the tasks they actually came for (Airfocus, February 2026).

Pareto is the reason both rules pay. Roughly 80% of outcomes come from 20% of causes, and in software specifically, about 80% of crashes trace to 20% of reported bugs (Asana, February 2026). If the distribution is that lopsided, getting the ranking approximately right beats executing the middle of the list perfectly, and the 20% is not the part that feels urgent. It is the part with the highest counter, and counters do not lobby.

Third, and this is where agents make it worse: an agent produces a confident theory for anything you point it at, in seconds, formatted. It is Clippy with a PhD. It looks like you’re writing a prioritization framework, and it would love to help, and it has never once queried your database. Coherence is free now; evidence is not. The scarce resource is the willingness to spend ninety seconds killing analysis with a counter.

The fourth: deletion deserves the same machinery as construction, meaning user research, a plan, in-app guidance, roadmapping, communication (Airfocus, February 2026), and a senior PM at Adobe/Workfront has removed three entire areas of functionality exactly that way. Most teams treat shipping as a project and killing as a chore, which is backwards.


One worked example

airank, 14 August 2026. Five pages in one night. Slow-query storm. The reflex was immediate and unanimous: add indexes.

Two indexes were nominated for deletion as dead weight, on the strength of a leading-column selectivity heuristic, real expertise that is also a proxy. Proxies do not know what your traffic did last month.

Then somebody ran the query that ends arguments: performance_schema.table_io_waits_summary_by_index_usage. Actual read counts, per index, from the engine itself.

cgos_via_search_idx: 0 reads. Nobody had nominated it.

cgos_ad_network_idx: 298,255 reads. Nominated for deletion.

Measurement didn’t refine the answer, it changed the sign of it. The council retracted every load-bearing claim in front of the read counter, the only correct response and rarer than it should be.

Jeremy Schoemaker sat in that room and agreed that cgos_ad_network_idx was dead weight. My own database pwned me with one row of output. The plan was beautiful, though. Ranked, dependency-ordered, color-coded. A ranked backlog with that kind of formatting is a Winamp skin: it really whips the llama’s ass, and it is not playing anything.

The outcome: delete cgos_via_search_idx, keep cgos_ad_network_idx, add one missing index on product_categories.parent_id. The paging stopped. Nothing in the original ranked plan survived contact with the data.

The reversal cost, since I promised it. What killed all three architectures on 8 August was a ChatGPT rate-limit modal, sitting in the archived captures the whole time, misclassified by the collector and never once opened by a human. The fix was about twenty-five lines of code for roughly twenty dollars: against the cheapest architecture anybody actually wanted to build, a factor of 200 to 250. The evidence was in the archive before the first planner started typing. Nobody had double-clicked it, and I was the one with a favorite.

The day after, 9 August 2026, two minio_key queries took ninety seconds and found 18,567 answers that had never been archived, about $240 of work I had already declared done. Ninety seconds of counter, again, against a theory nobody had checked.

commander-in-chief, v1.2.0, 24 August 2026, same method, different domain: a top-down combat game with a simulation harness, so “ignitions per pre-flight” is a number you can actually run a thousand trials against. Fifty-one owner decisions went into measurement-based review. Twenty-eight came out prioritized, four were defects wearing a decision costume, and twenty-three were killed or reclassified. That is 45% of the list deleted by counters, and every one of those 23 had a human’s reasoning behind it, mine included.

Decision D14 was mine to defend: riot-shield flanking, theorized as a consequence of the shield’s instant pivot. The measurement, at standoff range (40px) across 16 strafe bearings, 0 kills. At contact range, 46 kills across 1,512 trials. The flanking verb does not exist in the game. The recommendation stopped being “tune flanking” and became “give the riot shield a turn rate.” D1, the tank bail mechanic, died the same way: 16 of 22 ignitions per pre-flight were ordnance hits and a vestless rider dies on the same tick, so the bail window the UI promises is never reachable.

So the reversal cost is not a rounding error you absorb. It is a working day per planning session and roughly half the backlog. Which sounds expensive until you price the other branch: shipping the $5,000-a-month architecture and paying it monthly, forever, for a modal.


The quiet failure

The loud failure is building the wrong thing badly. It gets caught.

The quiet failure: you build the wrong thing well, on schedule, and everyone congratulates you.

Nothing in the process catches this. Tests pass, the deploy is clean, velocity is up. The feature has no customer, and every quarter forward it collects support tickets and complicates a workflow for people who came to do something else. That cost never gets attributed back to the decision that created it: by then the decision is eighteen months old and the person who made it got promoted for shipping.

Second quiet failure: the ranked list becomes the belief. Somebody writes an impact estimate in a cell, the list gets sorted, and by Thursday that estimate is a fact in three documents and a standup. Same disease as Ch. 15: a conclusion with a shelf life, formatted identically to a fact.

Third: you measure what is easy to instrument. Most engineering productivity programs fail at the measurement selection stage, tracking what the tooling emits rather than what moves a strategic outcome (Harness, March 2026). An agent will optimize whatever number you hand it, forever, with excellent commit messages.

Fourth: deprioritized is not killed. Work sitting in a backlog is a liability that reads as an asset. Delete the row.


Do / don’t

Do

Don’t


Where this sits in the book

Ch. 15 established that a plan is a bet and every priority rests on a number you should re-measure before acting, which is where the 78.1% versus 1.8% split came from. This chapter is the ordering problem downstream of that: once you can re-measure, what do you do first and what do you refuse to do at all. Ch. 20 is the other half, since if “done” isn’t a measurement then nothing in your ranking can be closed. Ch. 58 takes the killing discipline into the organization, where work with no customer has a headcount attached and the deletion gets political.


Sources and receipts

Thesis is Jeremy’s (re-measure before ranking; kill work with no customer): argument, not citation.

Verified:

What I could not verify: