Writing
02 · 2 April 2025 · 2 min read
The difference between software that demos well and software that survives reality
Most teams optimise for the wrong feedback loops.
A demo rewards completeness. Reality rewards something more boring: the retry, the reconciliation, the operator who has to explain what happened at 2am with no designer on the call.
Most product organisations are still built around that first kind of feedback. Stakeholders see a flow working end to end. Investors see a narrative they can repeat. Engineers see a pull request merged cleanly. None of that is wasted, exactly, but none of it tells you whether the system will survive a messy market, a partial outage, or a user who simply doesn't behave the way the happy path assumes.
Wrong loops, confident teams
Teams get very good, very fast, at producing the artefacts that earn applause: screens, launch posts, architecture diagrams that look inevitable in hindsight. What stays thin are the surfaces nobody claps for. Audit trails. Failure states. Support tooling. The data that still has to be true after a rollback.
That's how you end up with software that looks finished but isn't actually operable. It can be demoed. It can't be trusted.
What surviving looks like
Software built to survive reality is usually less impressive to watch. It makes fewer promises up front. It's honest about what it doesn't know yet. And it's built so an operator can see what the system is actually doing, rather than reconstructing the truth from logs and institutional memory.
There's a simple test for this. When something breaks, does the product help the person who has to fix it, or does it just hide behind a success screen and hope nobody looks too closely?
If the demo is your only feedback loop, you'll keep shipping theatre. Instrument the work as it's actually done, including the parts that fail, and the product starts behaving less like a pitch and more like infrastructure. That's the whole point.