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

Design Doc のすすめ / The Importance of Design Docs

Design Doc のすすめ / The Importance of Design Docs

Akira Kuriyama

June 10, 2024
Tweet

More Decks by Akira Kuriyama

Other Decks in Technology

Transcript

  1. 03
 01
 02
 04
 Table of contents
 Design Docとは?
 どんなふうに


    書くの?
 Design Docの利点
 Design Docへの
 疑問

  2. 03
 01
 02
 04
 Table of contents
 Design Docとは?
 どんなふうに


    書くの?
 Design Docの利点
 Design Docへの
 疑問

  3. 03
 01
 02
 04
 Table of contents
 Design Docとは?
 どんなふうに


    書くの?
 Design Docの利点
 Design Docへの
 疑問

  4. 03
 01
 02
 04
 Table of contents
 Design Docとは?
 どんなふうに


    書くの?
 Design Docの利点
 Design Docへの
 疑問

  5. Design Docの利点
 • チーム内で問題や課題を共有でき、認識合わせ ができる • 設計上の問題を早期に特定することで、 手戻りが少なくなる • フォーマットが統一されているため、

    見落としがちなポイントを設計時点で検討 できる • コードには現れない、Why not (なぜ別の方法をしなかったのか? )を議論できる • 人事評価に使える(自分の成果物としてアピールしやすい)
  6. 03
 01
 02
 04
 Table of contents
 Design Docとは?
 どんなふうに


    書くの?
 Design Docの利点
 Design Docへの
 疑問

  7. 疑問 その1
 Design Docはいつ書けばいいの?
 まずDesign Docs自体を作成することは、開発を進める上ではオーバヘッドになります。 そのため基本的には、Design Docsを作成するかどうかの決定は、「Design Docsを作成するこ とに伴う労力が作成のメリットを上回るか」というトレードオフで判断

    する。 例えば • いくつかの実装案が考えられる、かつどれがベストなのか決めるのが困難なとき • 技術的であったりドメイン的に新規のものや慣れていないものを扱うとき • シニアエンジニアにアーキテクチャの考察をしていただきたいとき
  8. 疑問 その2
 Design Docをメンテナンスする必要あるの?
 Design Docで書いたソフトウェアがまだリリースされていないなら Design Docを更新したほうがよ い。 リリース後は更新しなくてよい。

    質の高いレビューがされることで精度が高い設計を行うことに重点を置く。 Architecture Decision Records(ADR)のような、その時の意思決定の過程を残すためのツールと して使うのがよいでしょう。
  9. 参考
 • Google でのデザイン ドキュメント • How to write a

    good software design doc • メルカリShopsでのDesign Docs運用について | メルカリエンジニアリング • Design Docs への思い • GoogleのDesign Docsから学ぶソフトウェア設計 - Qiita • 安全安心にソフトウェア開発を行うための Design Doc導入ガイド|面川泰明| note • 【メモ】良いDesign Docs(Software Design Document)を書くためのリソース集