仕様書駆動開発とは?AI時代の開発で仕様書が主役になる理由

仕様書駆動開発とは何か、AI時代の開発で仕様書が主役になる理由を紹介する記事のアイキャッチ。机の上の仕様書とノートPC

当サイトの記事は編集部が国土交通省・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点にまとめました。

書く点書くこと書き方の例
目的誰の、どんな困りごとを解決するか営業の担当者が、外出先から今日の訪問予定を見られるようにする
振る舞いどんな時に、システムが何をするか予定を開いた時は、今日の訪問先を時間順に出す
制約守らなければいけない条件自分の担当の予定だけを見られる。社外の人には見せない
確かめ方どうなれば正しく作れたと言えるか他の担当者の予定が出ないことを確かめる
仕様書駆動開発の仕様書に書く目的・振る舞い・制約・確かめ方の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 Kit2025年9月2日にGitHub Blogで公開されたオープンソースのツールキットSpecify(仕様)、Plan(実装計画)、Tasks(作業への分解)、Implement(実装)
Kiro2025年7月14日に無償プレビューとして公開、2025年11月17日に一般提供Requirements(受け入れ基準付きの要求)、Design(技術設計)、Tasks(実装の作業)

前者は公開時、仕様・計画・作業のそれぞれをコマンドで進める形でした。2026年10月時点の説明では、コマンドの名前が変わっています。後者は、要求を requirements.md、設計を design.md のような文書として作る形です。

道具の中身は変わっていく

こうした道具は更新が早く、コマンドの名前や手順も変わっていきます。使う時は、その時点の公式の説明を確かめてみてください。道具が変わっても、「仕様書を先に書く」という考え方は持ち越せます。

道具を使わなくても始められる

『新しい道具を入れないと、仕様書駆動開発はできないの?』と思った方もいますよね。実は、考え方だけなら今日から試せます。

Markdownのファイルに4点を書き、それを生成AIに渡して「この仕様書に沿って計画を作ってください」と頼むだけでも、流れは同じです。生成AIへの頼み方は仕様書をAIで作る|生成AIに下書きさせる手順で紹介しています。

道具なしで試す流れ
  1. 作りたい物の目的・振る舞い・制約・確かめ方を書く
  2. 書いた仕様書を生成AIに渡し、計画を出してもらう
  3. 計画を読んで、仕様書と食い違う所を直す
  4. 計画を小さな作業に分けてもらい、1つずつ実装する
  5. 確かめ方に沿って、できあがった物を確かめる

初めて試すなら、社内の小さな業務ツールのように、失敗しても困らない物から選ぶのがおすすめです。1回やってみると、『仕様書のどこが足りないと、AIの計画がずれるのか』が体でつかめます。

ずれた所は、仕様書に書き足して次に生かしましょう。書き足した仕様書そのものが、チームの財産になっていきます。

AIに任せるほど、人が書く仕様書が大事になる

ここでの結論

AIはコードを書くのは得意でも、「何のために、何を作るか」は人が決めるしかありません。仕様書駆動開発で人が担うのは、目的を決め、仕様書を確かめ、できあがった物を判定する所です。

AIに任せる作業が増えると、人の仕事が無くなるように感じるかもしれません。でも実は、人が決める所はかえってはっきりしてくるんです。

IPAの「超上流から攻めるIT化の原理原則17ヶ条」には、「要件定義書はバイブルであり,事あらばここへ立ち返るもの」という一条があります。仕様書駆動開発の考え方は、この原則をAIとの開発に持ち込んだもの、と見ることもできます。

同じ17ヶ条には、「機能要求は膨張する。コスト,納期が抑制する」という一条もあります。AIで作るのが速くなっても、何を作り、何を作らないかを決めるのは人の役目のままです。

人が担う所AIに任せやすい所
目的と優先順位を決める仕様書の下書きや言い回しの整え
仕様書の中身を確かめて承認する計画を作業に分ける
制約(見せてはいけない情報など)を決める作業ごとのコードを書く
できあがった物を確かめ方に沿って判定するテストのコードを書く
よくある失敗

AIが作った仕様書の下書きを、読まずにそのまま次へ進めてしまうことがあります。AIはもっともらしい文を書くので、目的や制約がずれていても気づきにくいんです。仕様書の段階で、人が1行ずつ読んで確かめましょう。

仕様書を確かめる時の観点

AIが下書きした仕様書を読む時は、次の観点で見てみてください。書いてあることより、書いていないことに気づけるかが大事です。

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に任せるほど、人が仕様書を確かめて判定する役目が大事になる
仕様書ドットコム

仕様書ドットコム 編集部

仕様書の意味・種類・書き方から、システム開発の要件定義書・設計書・テスト仕様書、公共工事の標準仕様書・共通仕様書、住宅や発注の仕様書、仕様書を書く仕事のキャリアまでを、初めて仕様書に向き合う人が自分で判断できるように整理している情報サイトです。 公式サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次