- A design doc forces you to think through important decisions before implementation, saving time and preventing costly mistakes.
- It is the best way to coordinate design decisions among teammates and partner teams, especially for complex or risky projects.
- Write a design doc when multiple people collaborate, the project takes over three months, runs in production for years, involves cross-team work, has ambiguous goals, or has catastrophic risks.
- Invest effort proportional to the project's complexity; a simple one-pager may suffice, or a 50-page document with signoffs may be needed.
- Include only decisions with a high penalty for being wrong—trivial choices (e.g., pagination style) do not belong in the design doc.
- Key components: title, metadata, objective, background, related documents, goals, non-goals, scenarios, diagrams, glossary, constraints, SLOs, monitoring, timeline, interfaces, dependencies, security, privacy, legal, logging, open issues, resolved issues, and alternatives considered.
- Drive the design doc through review by sharing with the team and using techniques to elicit useful feedback without stalling progress.