当サイトの記事は編集部が国土交通省・IPA・デジタル庁などの公的機関の情報、規格や業界団体の公開情報を調べて独自に執筆しています。記事内にIT・Webエンジニアの転職サービスへの案内(広告)を含みます。
最近よく聞く「仕様書駆動開発」。『生成AIがコードを書いてくれるのに、なぜ今さら仕様書なの?』と不思議に思った方もいますよね。
結論から言うと、仕様書駆動開発は先に仕様書を書き、その仕様書を元にAIと人が計画・作業・実装を進める開発の進め方です。AIに任せる量が増えるほど、「何を作るか」を書いた仕様書の出来が、できあがる物の出来を左右します。
この記事を読めば、仕様書駆動開発の流れと、仕様書に何を書けばいいかが分かります。
仕様書駆動開発とは?
仕様書駆動開発(spec-driven development)は、コードより先に仕様書を書き、仕様書を開発の中心に置く進め方です。2025年には、この考え方を支える開発の道具がいくつか公開されています。
仕様書駆動開発では、まず「何を、なぜ作るか」を仕様書に書きます。次にその仕様書を元に技術的な計画を立て、作業に分けて、実装していきます。
ここで大事なのは、仕様書が「最初に書いて終わり」の書類ではないことです。計画も作業もコードも仕様書から生まれるので、仕様を変えたい時は、まず仕様書を直すところから始めます。
| 段階 | 主にすること | 主に担うのは |
|---|---|---|
| 仕様 | 何を、なぜ作るかを書く | 人(AIは下書きの手伝い) |
| 計画 | 使う技術や作りの方針を決める | 人とAI |
| 作業 | 計画を小さな作業に分ける | AI(人が確かめる) |
| 実装 | 作業ごとにコードを書く | AI(人が確かめる) |

「仕様書 駆動開発」はテスト駆動開発と何が違う?
『テスト駆動開発なら聞いたことがある』という方もいるはずです。テスト駆動開発は、先にテストを書いてから、それに通るコードを書く進め方です。
仕様書駆動開発は、その手前の「何を作るか」から先に書く、という点が違います。仕様書の中に確かめ方まで書いておけば、テストも仕様書から作れるので、2つは一緒に使えるんです。
「コードから書く」と「仕様書から書く」の違い
コードから書く進め方は、小さな試作や一人の開発で速く進められます。仕様書から書く進め方は、関係者が多い開発や、AIに作業を任せる量が多い開発で手戻りを減らせます。
『結局、どっちがいいの?』と迷いますよね。2つの進め方を並べてみると、向いている場面が見えてきます。
| 比べる所 | コードから書く | 仕様書から書く |
|---|---|---|
| 最初にすること | 動くコードを書いてみる | 目的と振る舞いを文書にする |
| 「何を作るか」がある場所 | 書いた人の頭の中とコード | 仕様書 |
| AIへの頼み方 | その場その場で指示を出す | 仕様書を渡して作業を頼む |
| 途中で仕様が変わった時 | コードを直し、説明は後回しになりやすい | 仕様書を直してから作業をやり直す |
| 向いている場面 | 小さな試作、一人の開発 | 関係者が多い開発、長く使うシステム |
- 何を作るかが文書に残る
- AIへの指示が毎回ぶれにくい
- 引き継ぎやレビューがしやすい
- 書き始めるまで時間がかかる
- 仕様書を直す手間が増える
- 書き方に慣れが必要
その場の指示だけで進めると何が起きる?
AIにその場その場で指示を出して作ると、最初は速く進みます。ところが、指示が積み重なるうちに、最初に決めたことと後の指示が食い違い始めることがあります。
例えば、こんなやり取りに覚えはありませんか。
「さっき、ログインしなくても見られるようにって言いましたよね?」
「その後に、会員だけが見られるようにと指示がありました」
どの指示が正しいのかを決める場所が無いのが、困りごとの元です。仕様書駆動開発では、その「決める場所」を仕様書にしておくわけです。
どちらで進めるかを決める目安
すべての開発を仕様書から始める必要はありません。次の問いに「はい」が多いほど、仕様書から書く進め方が向いています。
| 問い | 「はい」なら |
|---|---|
| 作る物を、自分以外の人も使ったり直したりするか | 仕様書があると引き継ぎやすい |
| 作り終えるまでに数日以上かかりそうか | 途中で決めたことを忘れにくくなる |
| AIに任せる作業の量が多いか | 指示のぶれを仕様書で防げる |
| 見せてはいけない情報や守る決まりがあるか | 制約を先に書いておける |
逆に、使い捨ての小さな試作なら、コードから書いて速く試すほうが合っていることもあります。場面で使い分けて大丈夫ですよ。
仕様書に書く4点:目的・振る舞い・制約・確かめ方
仕様書駆動開発の仕様書は、「目的」「振る舞い」「制約」「確かめ方」の4点がそろっていれば、AIにも人にも伝わる形になります。特に「確かめ方」まで書くと、できあがった物を判定しやすくなります。
『仕様書と言われても、何を書けばいいの?』という方のために、編集部では書く中身を4点にまとめました。
| 書く点 | 書くこと | 書き方の例 |
|---|---|---|
| 目的 | 誰の、どんな困りごとを解決するか | 営業の担当者が、外出先から今日の訪問予定を見られるようにする |
| 振る舞い | どんな時に、システムが何をするか | 予定を開いた時は、今日の訪問先を時間順に出す |
| 制約 | 守らなければいけない条件 | 自分の担当の予定だけを見られる。社外の人には見せない |
| 確かめ方 | どうなれば正しく作れたと言えるか | 他の担当者の予定が出ないことを確かめる |

振る舞いは「どんな時に、何をする」の形で書く
振る舞いを書く時は、「どんな時に」と「何をする」をセットにするのがコツです。公開されている開発ツールの中には、「WHEN [条件や出来事] THE SYSTEM SHALL [期待する振る舞い]」という EARS と呼ばれる型で受け入れの基準を書くものもあります。
日本語なら、「〜の時、システムは〜する」の形で書けば同じように伝わります。主語と条件があいまいな文は、AIも人も読み違えやすいんです。
仕様書の記入例:訪問予定を見る機能
編集部が作った架空の例で、先ほどの「訪問予定を見る」機能の振る舞いと確かめ方を書いてみますね。
| 番号 | 振る舞い(〜の時、システムは〜する) | 確かめ方 |
|---|---|---|
| 振る舞い-1 | 担当者が予定を開いた時、システムは今日の訪問先を時間順に出す | 時間の早い順に並んでいることを確かめる |
| 振る舞い-2 | 今日の予定が無い時、システムは「今日の予定はありません」と出す | 予定の無い日に開いて表示を確かめる |
| 振る舞い-3 | 他の担当者の予定を開こうとした時、システムは見せずに知らせを出す | 別の担当者として開き、予定が出ないことを確かめる |
| 振る舞い-4 | 通信がつながらない時、システムは最後に読み込んだ予定と、その時刻を出す | 通信を切って開き、表示を確かめる |
振る舞いと確かめ方を同じ行に書いておくと、AIに実装を頼む時も、できあがりを確かめる時も、同じ表を見れば済みます。
- 目的に「誰の」「どんな困りごと」が書いてある
- 振る舞いが「〜の時、システムは〜する」の形になっている
- 制約に、見せてはいけない情報や守る決まりが書いてある
- 確かめ方が、見れば合否の決まる言葉になっている
- まだ決まっていない事が、未決として残してある
AI駆動開発で設計書はどう変わる?
AI駆動開発でも、設計書が要らなくなるわけではありません。むしろ、AIに渡す設計書は「人が読んで分かる」だけでなく「AIが読み違えない」書き方が求められます。
APIの決めごとなら OpenAPI Specification(2026年10月時点で確認できた版は v3.2.1)、文書の書き方なら Markdown の仕様の CommonMark のように、決まった形で書いておくと、AIも人も同じ読み方ができます。API仕様書の書き方はAPI仕様書の書き方で、Markdownでの書き方は仕様書・設計書をMarkdownで書くで紹介しています。
公開されているツールキットの流れ
仕様書駆動開発のための道具は、どれも「仕様を書く、計画を立てる、作業に分ける、実装する」という順番で進みます。名前や細かい手順は違っても、仕様書が出発点になる点は同じです。
仕様書駆動開発の考え方を、道具として公開している例を2つ紹介しますね。どちらが良いという話ではなく、流れの参考として見てみてください。
| 道具 | 公開の時期 | 進め方の流れ |
|---|---|---|
| Spec Kit | 2025年9月2日にGitHub Blogで公開されたオープンソースのツールキット | Specify(仕様)、Plan(実装計画)、Tasks(作業への分解)、Implement(実装) |
| Kiro | 2025年7月14日に無償プレビューとして公開、2025年11月17日に一般提供 | Requirements(受け入れ基準付きの要求)、Design(技術設計)、Tasks(実装の作業) |
前者は公開時、仕様・計画・作業のそれぞれをコマンドで進める形でした。2026年10月時点の説明では、コマンドの名前が変わっています。後者は、要求を requirements.md、設計を design.md のような文書として作る形です。
こうした道具は更新が早く、コマンドの名前や手順も変わっていきます。使う時は、その時点の公式の説明を確かめてみてください。道具が変わっても、「仕様書を先に書く」という考え方は持ち越せます。
道具を使わなくても始められる
『新しい道具を入れないと、仕様書駆動開発はできないの?』と思った方もいますよね。実は、考え方だけなら今日から試せます。
Markdownのファイルに4点を書き、それを生成AIに渡して「この仕様書に沿って計画を作ってください」と頼むだけでも、流れは同じです。生成AIへの頼み方は仕様書をAIで作る|生成AIに下書きさせる手順で紹介しています。
- 作りたい物の目的・振る舞い・制約・確かめ方を書く
- 書いた仕様書を生成AIに渡し、計画を出してもらう
- 計画を読んで、仕様書と食い違う所を直す
- 計画を小さな作業に分けてもらい、1つずつ実装する
- 確かめ方に沿って、できあがった物を確かめる
初めて試すなら、社内の小さな業務ツールのように、失敗しても困らない物から選ぶのがおすすめです。1回やってみると、『仕様書のどこが足りないと、AIの計画がずれるのか』が体でつかめます。
ずれた所は、仕様書に書き足して次に生かしましょう。書き足した仕様書そのものが、チームの財産になっていきます。
AIに任せるほど、人が書く仕様書が大事になる
AIはコードを書くのは得意でも、「何のために、何を作るか」は人が決めるしかありません。仕様書駆動開発で人が担うのは、目的を決め、仕様書を確かめ、できあがった物を判定する所です。
AIに任せる作業が増えると、人の仕事が無くなるように感じるかもしれません。でも実は、人が決める所はかえってはっきりしてくるんです。
IPAの「超上流から攻めるIT化の原理原則17ヶ条」には、「要件定義書はバイブルであり,事あらばここへ立ち返るもの」という一条があります。仕様書駆動開発の考え方は、この原則をAIとの開発に持ち込んだもの、と見ることもできます。
同じ17ヶ条には、「機能要求は膨張する。コスト,納期が抑制する」という一条もあります。AIで作るのが速くなっても、何を作り、何を作らないかを決めるのは人の役目のままです。
| 人が担う所 | AIに任せやすい所 |
|---|---|
| 目的と優先順位を決める | 仕様書の下書きや言い回しの整え |
| 仕様書の中身を確かめて承認する | 計画を作業に分ける |
| 制約(見せてはいけない情報など)を決める | 作業ごとのコードを書く |
| できあがった物を確かめ方に沿って判定する | テストのコードを書く |
AIが作った仕様書の下書きを、読まずにそのまま次へ進めてしまうことがあります。AIはもっともらしい文を書くので、目的や制約がずれていても気づきにくいんです。仕様書の段階で、人が1行ずつ読んで確かめましょう。
仕様書を確かめる時の観点
AIが下書きした仕様書を読む時は、次の観点で見てみてください。書いてあることより、書いていないことに気づけるかが大事です。
- 目的が、自分たちの困りごとと合っている
- 振る舞いに、うまくいかない時の動きが入っている
- 制約に、社外に出せない情報の扱いが書いてある
- 頼んでいない機能が勝手に足されていない
- 確かめ方が、実際に試せる形になっている
要件定義書の書き方の基本は要件定義書とは?目的・書く内容・作る流れで紹介しています。仕様書駆動開発の仕様書も、この考え方が土台になります。
仕様書駆動開発でよくある相談
知恵袋では「テスト駆動開発は現場で本当に使われている?」「テスト仕様書はいつ作る?」「仕様があいまいなまま、バグを出さずに作るには?」「設計の細かい所を任せたい」という相談がよく読まれています。
仕様書駆動開発に近い話題で、知恵袋で多く読まれている相談を要約して答えてみますね。
相談1:仕様が明確でないものを、バグを出さずに作るには?
『仕様がはっきりしないまま作ることになった。バグを出さずに作るにはどうすればいい?』という相談です。
結論から言うと、あいまいな所を作る前に書き出して、決めてもらうことです。「ここは〜と考えて作ります。違っていたら教えてください」と、自分の考えを仕様書に書いて確かめてもらう形にすると、話が進みやすくなります。
仕様書駆動開発は、まさにこの「書いてから確かめる」を毎回やる進め方なんです。
相談2:テスト仕様書は、プログラムを作る前と後のどちらで作る?
『テストケースはプログラムを作る前に用意するもの?』という相談です。
仕様書駆動開発の考え方なら、答えは「前」です。仕様書に確かめ方まで書いておけば、それがそのままテストの元になります。テスト仕様書の書き方はテスト仕様書とは?書き方・項目とテンプレートの使い方で紹介しています。
相談3:テスト駆動開発は、現場で本当に使われている?
『テスト駆動開発という言葉は聞くけれど、実際の現場でやっているの?』という相談です。
使い方は現場によってさまざまで、全部の開発で取り入れている所もあれば、大事な部品だけに使う所もあります。仕様書駆動開発も同じで、まずは小さな機能1つから試してみるのが始めやすい方法です。
相談4:設計の細かい所を、作る人に任せたい
『設計者がプログラムの細かい所まで決めず、作る人に任せる進め方はできる?』という相談です。
できます。その時は、任せる所と任せない所の線を仕様書に書いておくのがコツです。目的・振る舞い・制約・確かめ方の4点さえ決まっていれば、作り方の細かい所は作る人に任せても、できあがりを判定できます。
AIに作業を任せる時も、考え方はまったく同じなんです。
仕様書を書ける力は、これからの仕事でも生きる
AIと一緒に開発する場面が増えるほど、目的や振る舞いを言葉にできる人の役目は大きくなります。今の職場で要件定義や設計に関わる機会を増やすのも、資格を取ってから動くのも、どちらもよい道です。
要件定義や設計書を書く経験は、上流工程を任される職場で評価されやすいものです。今の担当工程から一歩進みたい方は、求人の仕事内容を比べてみると道が見えてきます。
IT・Webエンジニアの転職(PR)
仕様書を書く経験を活かせる職場を探すなら、求人も比べてみる
要件定義や設計を任されるか、発注側か開発側か、扱うシステムや働き方は会社によって大きく違います。担当したい工程や条件から、IT・Webエンジニアの求人を比べてみてください。
無料ITエンジニアの求人を探す求人の条件・待遇は各求人票と応募先の案内でご確認ください。
仕様書を書く仕事そのものについては、仕様書を書く仕事とは?SE・PM・社内SEの仕事内容と違いで紹介しています。
よくある質問
仕様書駆動開発とは、ひと言でいうと何ですか?
コードより先に仕様書を書き、その仕様書を元に計画・作業・実装を進める開発の進め方です。AIに作業を任せる時に、何を作るかがぶれないようにする狙いがあります。
仕様書駆動開発には特別な道具が要りますか?
道具は公開されていますが、無くても始められます。Markdownのファイルに目的・振る舞い・制約・確かめ方を書き、それを元に生成AIへ作業を頼むだけでも、同じ流れで進められます。
AI駆動開発では設計書は要らなくなりますか?
要らなくはなりません。AIに渡す設計書は、読み違えが起きないように書くことがかえって大事になります。決まった形式やはっきりした文で書いておきましょう。
仕様書駆動開発とテスト駆動開発は一緒に使えますか?
使えます。仕様書に確かめ方まで書いておけば、そこからテストを作れます。仕様書が何を作るかを、テストが作った物が正しいかを支える関係です。
仕様書駆動開発の仕様書は誰が書きますか?
目的や優先順位を決めるのは人です。AIに下書きを手伝ってもらうことはできますが、中身を確かめて承認するのは、作る物に責任を持つ人の役目です。
まとめ
- 仕様書駆動開発は、仕様書を先に書き、仕様書を中心に開発を進める方法
- 仕様、計画、作業、実装の順に進み、変更も仕様書から直す
- 仕様書には目的・振る舞い・制約・確かめ方の4点を書く
- 道具が無くても、Markdownと生成AIで同じ流れを試せる
- AIに任せるほど、人が仕様書を確かめて判定する役目が大事になる





コメント