【えすでぃーでぃー】

SDD(仕様駆動開発) とは?

💡 設計図が完璧なら、職人(AI)が家を建ててくれる
📌 このページのポイント
SDD(仕様駆動開発)の流れ 仕様書 (唯一の真実) AI / ツール (コード生成) コード +テスト (自動生成) 他の 〇DD との違い TDD テスト → コード BDD 振る舞い → コード SDD ★ 仕様書 → コード DDD ドメイン → 設計
SDDのイメージ:仕様書を起点にAIがコードを生成する
ひよこ ひよこ

SDDって聞いたことあるんですが、どんな開発スタイルですか?

ペンギン先生 ペンギン先生

仕様書を一番最初に書いて、それをもとにコードを作っていく「仕様書ファースト」な開発スタイルだよ。仕様書がコードの唯一の正解になるんだ。

ひよこ ひよこ

TDDと何が違うの?TDDもテストを先に書きますよね?

ペンギン先生 ペンギン先生

TDDはテストを先に書いて、それをパスするコードを後から書く。SDDは仕様書を先に書くんだ。仕様書はテストよりずっと広くて「どう動くべきか」を詳しく文書化するよ。

ひよこ ひよこ

仕様書ってどんなふうに書くんですか?

ペンギン先生 ペンギン先生

「このAPIはこういうリクエストを受け取って、成功したらこう返す、エラーならこう返す」みたいに詳細に書くよ。最近はYAMLMarkdownで書いてAIに渡すことも多いね。

ひよこ ひよこ

AIと組み合わせると何かいいことがあるの?

ペンギン先生 ペンギン先生

すごく相性がいいんだ!詳細な仕様書があればAIが高品質なコードを生成しやすくなるし、「何を作るか」が明確なのでAIのハルシネーションも減るよ。

ひよこ ひよこ

デメリットはありますか?

ペンギン先生 ペンギン先生

仕様書を書くこと自体が難しいんだよね。曖昧な仕様書からは曖昧なコードしか生まれないし、最初に完璧な仕様を書こうとして、スタートが遅れることもある。

ひよこ ひよこ

アジャイル開発とは相性が悪そう…?

ペンギン先生 ペンギン先生

完全に相反するわけじゃないよ。「スプリントごとに仕様書を書いてからコードを書く」という組み合わせもできる。AIコーディングが普及した今、SDDへの注目が改めて高まってるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SDD」って出てきたら「仕様書ファーストの開発スタイル」と思えればだいたいOK!
📖 おまけ:英語の意味
「Specification-Driven Development」 = 仕様駆動開発
💬 Specification(仕様書)を原動力(Driven)にしてDevelopment(開発)を進めるという意味だよ
← 用語集にもどる