Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[DevDojo] Introduction to Design Doc

[DevDojo] Introduction to Design Doc

In this course, we will explain the basic concepts of using Design Doc for product development and introduce the template that is currently in use at Mercari. We will also cover how to write a good design doc and deal with it in Mercari.

mercari

May 26, 2023
Tweet

More Decks by mercari

Other Decks in Technology

Transcript

  1. 1
    Design Doc
    Ashish Kumar
    Mercari Acquisition & Activation Team / Software Engineer

    View full-size slide

  2. Design Doc - What?
    A technical spec about a feature or a system which includes the
    rationale for each decision made.
    The purpose of design doc is to aid in the critical analysis of a
    problem and the proposed solution while also communicating
    priority, effort and impact with different stakeholders

    View full-size slide

  3. Design Doc - Why?
    ● One reference for everything related to that project
    ● Speed up implementation by having a clear reference and direction
    ● Improve quality by getting feedback from various stakeholders
    ● Find flaws/issues before they happen
    ● Improve code review quality
    ● Get alignment with architecture and other technical detail
    ● Help to onboard new members

    View full-size slide

  4. 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

    View full-size slide

  5. 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

    View full-size slide

  6. 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

    View full-size slide

  7. Design Doc - How?
    ● Follow the templates to start
    ○ Some teams have their own template
    ● Put it in Team Drive
    ● Get feedbacks by review

    View full-size slide

  8. 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

    View full-size slide