Software Design Docs
What is a Software Design Document?
- Scaling Engineering Teams via Writing Things Down and Sharing - aka RFCs
An Uber engineer shares their lightweight Request For Comments (RFC) process that has provided visibility, helped standardize tech and architecture choices, and successfully scaled to thousands of engineers.
- Tech Design at Riot
The Riot team discusses their decentralized and self-service approach to RFCs, including a tagging system, stakeholder self-identification, and adoption process.
How to Write Software Design Docs
- How to write a good software design doc
Angela covers: • Why teams should write design documents • What to include in a design document • How to write one • The process before and after writing one.
- Writing a High Level Design
David steps through his approach in writing high level designs: starting with requirements, establishing the domain model, diagramming the system, exercising different scenarios, and iterating.
- Design Docs at Google
A Google engineer discusses the anatomy of a design doc, when not to write a design doc, and the design doc lifecycle.
What to Do After a Software Design Doc is Written
- Learning to like design documents
Julia shares some thoughts on making the most of design docs, including: explaining the document in a meeting, handling conflicting opinions, asking for targeted feedback, and tracking historical decisions.
Software Design Document Templates
- On Writing Tech Specs
Chuck covers: • The benefits of writing a tech spec • What happens in a scenario without a tech spec • An example tech spec • How to Write a Tech Spec, with 17 components to consider