【えすでぃーでぃー】
SDD(仕様駆動開発) とは?
最終更新:
💡 仕様を軸に、実装とテストをそろえて進める
仕様を開発の中心に置き、求める振る舞いや受け入れ条件から実装とテストを進める手法。AIを使う開発では、仕様から実装計画やコードを生成する指針としても用いられる。
📌 このページのポイント
- 実装に先立って、利用者が求める振る舞いと受け入れ条件を明確にする
- 仕様から実装計画やテストを組み立て、実装が仕様を満たすか確かめる
- AIによる生成も支援手段。仕様があっても、コードの正しさが自動で保証されるわけではない
- 仕様は変更や検証結果に合わせて更新する。最初に全機能の仕様を完成させる必要はない
SDDって聞いたことあるんですが、どんな開発スタイルですか?
求める動作を仕様として明確にし、それを軸に実装とテストを進める「仕様駆動開発」だよ。仕様を作って放置するのではなく、コードが何を実現するべきかを共有し、変更時にも見直していくんだ。
仕様書ってどんなふうに書くんですか?
AIと組み合わせると何がいいの?
最初に完璧な仕様を作ろうとして、開発が遅れない?
その負担は考える必要があるね。最初から全機能を固めず、小さな機能ごとに仕様・実装・検証を進める方法もあるよ。実装して分かった問題や要求の変更を仕様へ戻し、計画・コード・テストの整合を取り直す。反復して改善する開発と組み合わせられるんだ。
まとめ:ざっくりこれだけ覚えればOK!
「SDD」って出てきたら「仕様を軸に実装とテストを進め、変更時もそろえて見直す開発」と思えばだいたいOK!
📖 おまけ:英語の意味
「Specification-Driven Development」 = 仕様駆動開発
💬 Specification(仕様書)を原動力(Driven)にしてDevelopment(開発)を進めるという意味だよ