A throne without cause is empty — a system without clear intent is fragile.
Three Questions. Non-negotiables. Quantify everything.
Why are we building this? Business need, user need, metric to change. What will success look like? SLOs, throughput, latency, adoption targets. What is the failure mode we must survive? Data loss, extended downtime, security breach.
Write down the non-negotiables. Not "nice-to-haves." Not "maybe-laters." The list that follows these three questions becomes your acceptance criteria and boundary for trade-offs.
Quantify everything. "Fast" becomes p95 < 100ms; "reliable" becomes availability 99.95%; "cheap" becomes $X per 1M requests. Numbers make politics into engineering.
- Business intent documented in one paragraph
- Primary users & flows mapped and validated
- Success metrics (SLOs) defined with error budget
- Critical failure modes enumerated and prioritized