Pangram verdict · v3.3
We believe that this entire text is human-written.
AI likelihood · overall
HumanArticle text · 224 words · 1 segments analyzed
A good design doc can save you years of development time. Writing a design doc forces you to think through important decisions before you waste time on the wrong implementation. It’s also the best way to coordinate design decisions among teammates and partner teams.I’ve written design docs as a developer at Google, Microsoft, and within my own companies. The specifics vary, but the underlying principles remain the same. A design doc articulates the hard problems you’re solving and helps your teammates give you feedback.Below, I share my approach to creating effective design docs and explain what belongs in a design doc and what does not.An example design docWhen should you write a design doc?How much should you invest into your design doc?What belongs in a design doc?What’s the cost of getting it wrong?Components of a design docTitleMetadataObjectiveBackgroundRelated documentsGoalsNon-goalsScenariosDiagramsGlossaryConstraintsService level objectives (SLOs)Monitoring / alertingTimelineInterfacesDependencies / infrastructureSecurityPrivacyLegal considerationsLoggingOpen issuesResolved issuesAlternatives consideredDriving Your Design Doc through ReviewAn example design doc🔗The most common question I get about design docs is where to find a good one. I’ve never seen a public design doc that I consider high-quality. All of mine are hidden away at the companies that paid me to write them.So, I wrote a design doc from scratch based on the principles I’m sharing here. It lays out the design for a real web app I’m building.