Slide 1

Slide 1 text

Design Doc April 2024 Dev Dojo @ashish

Slide 2

Slide 2 text

Design Doc - Definition A technical spec about a feature or a system that outlines the technical directions, design decisions, and implementation details of the system or feature

Slide 3

Slide 3 text

Design Doc - Purpose? - Blueprint - Provides a roadmap for developers and other stakeholders, guiding them through the design and implementation process - Communicate Decisions - Documents the logic behind architectural design choices, ensuring clarity and understanding among team members

Slide 4

Slide 4 text

Design Doc - Why? ● Clarity and Communication ○ Requirements, system’s architecture & design ● Roadmap for Development ○ Implementation roadmap, components interaction, technical details ○ Speed up development ● Risk Mitigation ○ Identify potential risks and challenges early ● Documentation ○ Reference doc throughout the development ○ Aiding in maintenance and future enhancements ● Deliver with Quality ○ Getting feedback from various stakeholders ○ Improve code review quality

Slide 5

Slide 5 text

Design Doc - When? Spec Discussion Design doc Development PM plans/create a new idea Design and functionalities are fixed Start development after getting approval for design doc

Slide 6

Slide 6 text

Design Doc - Process Design Discussion Review Code Before writing code,and/or while prototyping By people having an insight for the domain Incorporate insight and idea Similar to “develop/review code” but It costs much less if written before actual code

Slide 7

Slide 7 text

Design Doc - Lifespan ● Draft version and iteration ○ Shared initial draft with teammates ○ Update until find a stable version ● Review ○ Shared with wider audience ● Implementation and Iteration ○ Start implementation when reviews are done or almost done ○ Update if anything minor changes while implementation ○ For major changes create another version ● Maintenance and Learning

Slide 8

Slide 8 text

Design Doc - How? ● Gather Requirements ● Define Scope ● Outline Structure ● Architecture ● Include Visuals ● Release plan

Slide 9

Slide 9 text

Design Doc - Teams ● Each team may have a different process ○ Design Docs may be required before implementation of some features ○ Other engineers or the tech lead may need to approve ○ Templates might be different ○ Some teams may not have a design doc flow ● Individual ○ Even if your team does not require it, you might write design docs for your own learning

Slide 10

Slide 10 text

Thank you!