Building for the conditions after the demo
A demonstration proves the intended path works. Production reveals every path the specification forgot.
A successful demo answers a narrow question
A demonstration shows that a prepared user can complete an intended journey with prepared data in a controlled environment. That is useful, but it does not prove the system can carry operational responsibility.
Production adds concurrent users, incomplete records, slow networks, changing permissions, duplicate requests, device failures and decisions that need to be reversed. The product is judged by what happens in those moments, not by how smoothly the rehearsed path moved.
Design the failure path with the happy path
Every important action needs an answer for interruption and uncertainty. Did the payment succeed when the provider timed out? Can an order be recovered after a kitchen device reconnects? What happens when two people assign the same asset? Can a mistaken suspension be reversed without losing the audit history?
Treating these as product decisions—not late technical edge cases—improves both architecture and interface clarity. Users can see what is pending, what failed, what can be retried and who has the authority to resolve it.
- Define idempotency and retry behaviour for external actions.
- Preserve an audit trail for approvals, edits and reversals.
- Test role boundaries with realistic responsibilities.
- Make partial failure and stale data visible to the operator.
- Plan recovery before the first production incident.
Production readiness is part of the product
Monitoring, logs, alerts, backups and rollback paths are often discussed as infrastructure. For an operational platform, they directly affect the customer experience. A team cannot protect service levels if it learns about a failure only after customers call.
The definition of done should include how the system will be observed, supported and changed. The people operating it need clear runbooks and escalation paths; the builders need enough evidence to diagnose a problem without guessing.
Launch is where the next specification begins
Real use will expose conditions no workshop predicted. The responsible response is neither to freeze the original scope nor to accept every request uncritically. It is to observe which problems repeat, which consequences matter and which changes strengthen the operating model.
Software built for after the demo is designed to learn without becoming unstable. It enters production in controlled steps, makes its behaviour visible and keeps the team accountable for what happens next.
Working through a connected systems or operational software problem?
Start a conversationMore Field Notes
01Imagine.02Build.03Elevate.
Continue with observations from real product, systems and operating work.
Browse all notes↗︎