Strategy · 2025-01-10 · Go Kyono
Why AI adoption stalls at the proof of concept
A proof of concept is designed to succeed. Production is designed to survive. Most AI budgets are lost in the gap between those two sentences, and the loss is rarely visible until the money is already spent.
01
Stalling is worse than failing
A failed project produces a decision. A stalled one produces meetings. The proof of concept worked, everyone agreed it was promising, and eight months later it is still a proof of concept with an owner who has stopped mentioning it.
This is the normal outcome, and it is not caused by anyone doing their job badly. It is caused by a proof of concept whose success conditions were never the same as production’s.
02
What was true in the PoC and false in production
| In the proof of concept | In production |
|---|---|
| Data arrived as a clean export somebody prepared | Data arrives continuously, dirty, from a system nobody owns |
| One enthusiastic person operated it | Twenty people who did not ask for it operate it |
| A wrong answer was interesting | A wrong answer has a name attached to it |
| Scope was whatever demonstrated best | Scope is whatever the edge cases actually are |
| Nothing depended on it | Something now depends on it at 2 a.m. |
| Cost was a rounding error | Cost is per query, forever, and someone owns that line |
Read down the right column and it becomes clear why the transition is not an engineering task at the end. Every row is a decision that should have been made before the proof of concept began, because each one changes what the proof of concept should have proved.
03
Design the proof of concept to answer production’s question
+-------------+ +-------------+ +-------------+
| 1 STRATEGY |->| 2 INTEGRATE |->| 3 OPERATE |
+-------------+ +-------------+ +-------------+
inventory build monitor
opportunity deploy improve
ROI estimate connect train
roadmap secure hand over
|
v
you run it without us
Ask what would have to be true
Before building anything, write down what would have to be true for this to run in production for a year: where the data comes from without a person exporting it, who is accountable for a wrong answer, what the per-query cost is at real volume, and who operates it. Then design the proof of concept to test the riskiest of those, not the most demonstrable one.
Prove the thing most likely to kill it
A proof of concept that demonstrates the easy part has proved nothing you did not already believe. If the risk is data quality, the proof of concept should run on the ugly data. If the risk is that nobody will use it, the proof of concept needs real users doing real work, even at a tiny scale.
Write the exit condition down
Handover belongs in the scope, with a date. A vendor with no exit condition becomes permanent by default, and that outcome is nobody’s explicit decision — it is just what happens when nobody writes down when it ends.
Next
If something is stalled, say what stalled.
Naming the specific blocker is usually enough for one conversation to determine whether it is fixable. That conversation is free.