Markdown設計ドキュメント規約
Markdown Design Document Guidelines
Markdown ベースの設計ドキュメントの規約をまとめる。
システム開発にて利用する設計ドキュメントを Markdown ベースにすることで、コーディングと同じ慣れたツールを用いて Git によるバージョン管理・レビュープロセス・CI/CD などに自動化(静的解析・自動生成)を行いやすくし、ドキュメントを陳腐化させず、俊敏な設計開発を目指す。
Markdown に限った話では無いが、どういった内容を設計書に記載すべきかは悩むポイントは多い。
本ガイドラインでは、アプリケーションの種別ごとに記載すべき内容とそれをどのような Markdown の構造で記載するかを規約化し、各チームで悩む余地を減らし、注力すべきことに集中できる環境を提供することを目的とする。
免責事項
本ガイドラインは以下の前提で作成されている。
設計ドキュメントは様々な前提条件/制約/経緯で作成され、Excel/Word/パワーポイントなどのファイル形式で作成することが多い。
本ガイドラインはそれらを否定するものではなく、様々な利害関係者の要求に応え洗練され続けた上記の設計ドキュメントのテンプレートには、強く敬意を表する。
一方で、設計ドキュメントを精緻に管理していく優先度より、プロダクト開発の効率とビジネスピードをより重視する場合もある。それらの開発チームでは設計ドキュメントが存在さえない、あっても設計書が実装と乖離しているなどの問題が世間で課題提起されることも多い。
本ガイドラインでは、後者のプロダクト開発の効率性を重視し、設計ドキュメントが開発以外の観点から求められない場合において、必要最低限必要だと思われるレベルの記載のサンプルを提供する。
また、設計ドキュメントのファイル形式に制約は無いという前提に立つため、設計ドキュメントの陳腐化を防ぐのに有効だと思われる、テキストベース(Markdown)でGit管理するという思想を採用する。
本ガイドラインで紹介した各設計ドキュメントの記載内容を参考にしつつ、各開発チームにおいて必要な情報を追加/削除して利用するという、テンプレートとしての利用を想定する。
このアーキテクチャガイドラインの作成には多くの方々にご協力いただいた。心より感謝申し上げる。