1番いい要件定義書の形式を探す
1番いい形式はある?
仕事で使っている要件定義書はどんなファイル形式ですか? ExcelやWordなどが挙げられると思いますが、生成AI時代になると「1番いい形式」が変わっていく気がしています。というのも、この記事を書いた2025年の生成AIはテキストを書いたり読んだりするのはとても得意ですが、図や表を読み書きするのは苦手だからです(正確に言うと、できなくはないのですが時間がかかる状態です)。要件定義書はテキストも多いのですが、ときどき図や表が混ざっていて、生成AIからすると得意なことと苦手なことが混在している文書にあたります。ボトルネックとして図や表がある以上、生成AIにとって要件定義を読み書きする作業は苦手と言って差し支えないと考えます。
Mermaid in Markdown
筆者はあれこれ考え実践した結果、マークダウンの中にMermaid.jsを入れ込むのが1番いい気がしてきました。Mermaid.jsはテキストベースで図を書くことができるライブラリで、生成AIが得意としているものの1つだと感じています。また、表(テーブル)はマークダウンで表現できます。要は「図や表はすべてテキストで表してしまえ」というわけです。
この形式の難点は、人がマークダウンやMermaid.jsの使い方を学ぶ必要があるということです。ただ、プログラミングしている人なら、そこまで時間をかけなくても習熟できるはずだと思っていますし、この部分の知識は生成AIで補うことが可能です。一方で、非エンジニアが要件定義の作成をしたい場合、この形式はハードルが高いためあまり向いていないでしょう。
VS CodeにMarkdown Preview Enhancedを入れる
以上の要件を実現するには、マークダウンの中でMermaid.jsを表示するようにする必要があります。下記の拡張機能を使えば、VS Code上でプレビューすることができるようになります。また、画像の表示やスタイリングの調整などもできるため、オススメです。
機能ごとにマークダウンファイルを切る
要件定義書は全ての機能を丸ごと入れてしまうと、誰にとっても読みづらくなってしまいます。そのため、機能ごとにマークダウンを切るようにします。こうすることで生成AIに読み込んでもらうときも少量のテキストで済むようになります。
おすすめはプロジェクトルートに.requirementディレクトリを切って、その中に.mdファイルを放り込むやり方です。imageファイルはimagesディレクトリを切ってその中に入れています。
.requirement/
├── ユーザー認証.md
├── 料理管理機能.md
├── ロット管理機能.md
└── images/
├── 認証フロー.png
├── 料理登録画面.jpg
└── ロット状態遷移.svg
機能ごとにシーケンス図を入れる
これはWeb開発の話ですが、機能ごとにユーザー、フロントエンド、バックエンド、DBがどのような動きをするのかシーケンス図で示すようにしています。機能に複雑な状態がある場合、フローチャートや状態遷移図を追加します。ここに限らないのですが、作成は生成AIに任せ、人間は修正作業だけするようにします。
料理管理機能のシーケンス図
顧客に提出する際に各機能をまとめてPDFにして提出する
機能ごとにマークダウンを切ると顧客に正式文書として提出する際に困ります。その場合は、@importを使うことでマークダウンファイルをまとめることができます。
また、Markdown Preview Enhancedにはエクスポート機能もついているので、そちらを使うことで、PDFにして提出することが可能です。
要件定義駆動開発
よくできた要件定義はそれだけでAIがある程度プログラミングをしてくれます。名付けて要件定義駆動開発です。「それは前からやってきたことじゃないか」と言われればその通りです。ただし、これから先は要件定義にかかわるステークホルダーに生成AIが加わると予想しています。
また、この記事に上げた形式は生成AIの進歩によって廃れる可能性があります。タイトルには1番いい形式と書きましたが、そんなものは存在せず、あくまで現時点で私が考えうる1つの方法に過ぎません。これを期にみなさんも1番いい要件定義書の形式を考えてみてはいかがでしょうか。
Discussion