仕様駆動開発とは?AIにコードを書かせる前に決める3つの文書と、Claude Code・Kiro・Spec Kitでの進め方
直したくなったら、コードではなく仕様の文書を直す
仕様駆動開発とは何かの結論|仕様の文書を正にして、AIに実装させる進め方
1人で1回使うだけの試作なら、仕様書なしで作るほうが早いこともあります。2人以上が使う、データを貯め続ける、ほかのシステムとつなぐ、のどれかに当てはまるときに効きます。
- 仕様駆動開発は、AIにコードを書かせる前に要件・設計・作業手順を文書にし、その文書を正としてAIに作らせる進め方です。
- 要件には誰が何をできればよいかを、設計にはどのデータがどうつながるかを書きます。ここは業務を知っている人のほうが正しく書けます。
- Kiro・Spec Kitは手順が組み込まれたツールで、Claude Codeなら文書と計画モードで同じ進め方ができます。
先日、あるエンジニアの短い動画で「AIにコードを書かせる前に、誰が・何を使って・どのデータとつながるかを決める。決めずに始めると修正の沼にはまる」という話を見ました。業務アプリの相談を受けていると、まさにこの沼で止まっている会社によく出会います。
画面は1日でできたのに、使い始めて2週間たっても直し終わらない。直すたびに別の画面の数字がずれる。原因をたどると、最初に決めておくべきことをAIとの会話の中で少しずつ決めていて、どれが最新の決定なのか誰も分からなくなっています。仕様駆動開発は、この状態を避けるための進め方です。
仕様駆動開発とは、仕様の文書を正にしてAIに作らせる進め方
仕様駆動開発(Spec-Driven Development)は、作りたいものを会話で伝えながら形にするのではなく、先に仕様を文書に書き、AIにはその文書を読ませて実装させる進め方です。GitHubが公開しているSpec Kitも、AWSのKiroも、この考え方を前提にしています。
大事なのは、文書を書くことそのものより、文書が「正」になることです。使ってみて直したいところが出たら、AIに「ここをこう変えて」と会話で頼むのではなく、まず仕様の文書を直します。そのうえで、直した文書をもとにAIに作り直させます。こうすると、何が決まっていて何が変わったのかが、会話の履歴ではなく1つの文書に残ります。
AIにコードを書かせる前に書く3つの文書
ツールによって名前は違いますが、中身はほぼ共通で、要件・設計・作業手順の3つに分かれます。ここでは、社員10人ほどの不動産会社が「内見予約をスプレッドシートから専用の画面に移したい」という場面を例にします(例として作った場面で、特定の会社の事例ではありません)。
1. 要件(何を作るか)
誰が、どの場面で、何をできればよいか。内見予約の例なら「営業3人が、スマホで空き枠を見て予約を入れられる」「事務が前日に全員分の予定を一覧で確認できる」。完成したと判断する条件も、ここで1行ずつ書きます。
2. 設計(どう作るか)
どのデータを持ち、データ同士がどうつながるか。顧客・物件・内見予約・担当者を別々に持ち、予約には顧客と物件と担当者がそれぞれ1つずつ付く、という関係を決めます。保存先や、既存のスプレッドシートとの受け渡しもここに書きます。
3. 作業手順(どの順で作るか)
設計を、AIが1回で終えられる大きさの作業に分けます。「予約のデータを保存できるようにする」「空き枠を一覧にする」のように並べ、1つ終わるごとに要件の完成条件と照らします。
仕様駆動開発で書く3つの文書(要件・設計・作業手順)のうち、非エンジニアがつまずきやすいのは、データ同士のつながりを決める設計です。「予約のデータに顧客名を直接書く」のか「顧客のデータを別に持って、予約からはそれを指す」のかで、あとから顧客の電話番号を直したときに全部の予約を書き換えるかどうかが変わります。データ同士のつながりを図にしたものをER図と呼びますが、名前を覚える必要はありません。「1件の○○に、△△はいくつ付くか」を、データの組み合わせごとに1行ずつ書けば十分です。
要件の段階で決める項目と決定者の置き方は要件定義の進め方で、業務の書き出し方は業務棚卸しのやり方で詳しく書いています。
完成条件は「誰が見ても合否が分かる文」で書く
「使いやすい予約画面」では、AIも人も合否を判断できません。「営業がスマホで、物件名を2文字入れると候補が出る」「同じ時間に同じ担当者の予約を2件入れようとすると止まる」のように、試せば合否が分かる文にします。Kiroは要件を条件と結果で表すEARSという書式を使います。予約画面の完成条件を書くときも、書式より「試せる文になっているか」を先に確かめてください。
AI駆動開発・バイブコーディングとの違い
AI駆動開発は開発にAIを使う進め方全般を指す広い言葉です。仕様駆動開発は、その中で要件・設計・作業手順の文書を正にしてAIに作らせる進め方です。バイブコーディングは、AIとの会話を重ねて画面や処理を早く形にする作り方です。SalesDockでは、業務の聞き取りから運用後の改善まで、開発全体にAIを組み込んでいます。
SalesDockでは、業務を聞き取り、要件を決め、設計・実装・検証を経て実業務で試し、運用後に改善する流れにAIを使います。仕様駆動開発は、このうち要件を決めてから実業務で試すまでを支える進め方です。全体の流れはAI駆動開発の進め方で説明しています。
仕様駆動開発のツール:Claude Code・Kiro・Spec Kitの違い
仕様駆動開発に使える主なツールは、AWSのKiro、GitHubのSpec Kit、Claude Codeです。どれを使っても、書く文書(要件・設計・作業手順)の中身は変わりません。違うのは、文書の型と進める順番がツールにあらかじめ用意されているかどうかです。
| ツール | 仕様の扱い方 | 向いている人 |
|---|---|---|
| Claude Code | KiroやSpec Kitのような仕様書の型と手順は最初から組み込まれていないため、Markdownの文書を自分で置いて読ませます。計画モードで、コードを変える前に計画だけを出させることができます。 | 手元の文書やCLAUDE.mdの運用に慣れている人。すでにClaude Codeを使っている会社 |
| Kiro | 要件をrequirements.md、設計をdesign.md、作業をtasks.mdに分けて作り、tasks.mdの進み具合を画面で追えます。 | 3つの文書の型を最初から用意してほしい人 |
| Spec Kit(GitHub) | プロジェクトの原則を決めたあと、specify → plan → tasks → implement の順にコマンドで進めます。複数のAIエージェントで使えます。 | チームで同じ手順をそろえたい会社。エンジニアが1人はいる体制 |
Claude Codeで仕様駆動開発をするときの手順
Claude Codeには、KiroやSpec Kitのように仕様書の型と手順があらかじめ組み込まれてはいませんが、Markdownの文書と計画モード(Claudeがファイルを読んで計画を示し、承認するまで編集しないモード)を使えば、次の順で同じ進め方ができます。
- 作業フォルダに、要件・設計・作業手順の3つのMarkdownファイルを置きます。最初は空でも構いません。
- Claude Codeに「コードは書かずに、要件のファイルを埋めるために私に質問して」と頼み、答えながら要件を書き上げます。
- 計画モードに切り替え、要件をもとに設計と作業手順の案を出させます。計画モードの間はファイルを変更しないので、案を読んで直すことに集中できます。
- 作業手順を1つ選んで実装させ、終わったら要件の完成条件と照らします。
- 直したいことが出たら、先に要件か設計のファイルを直し、「更新した設計に合わせて直して」と頼みます。
毎回守らせたいこと(使う言語や保存先など)はCLAUDE.mdに、作るもの1つごとの内容は3つの文書に、と分けておくと、別のツールを作るときに混ざりません。権限やデータの扱いなど、Claude Codeならではの注意点はClaude Codeで業務ツールを作るときの注意点にまとめています。
仕様駆動開発の理想と現実:向かない場面もある
仕様駆動開発は万能ではありません。ボタン1つの配置を試したいだけなのに3つの文書を書くと、作るより書くほうが長くなります。Spec KitやKiroが作る文書は細かく、小さな修正には重すぎると感じる人もいます。
もう1つの現実は、仕様の文書も古くなることです。会話でこっそり直した部分があると、文書と実際の動きがずれ、次にAIが文書を読んだときに古い仕様へ戻してしまいます。「直すときは文書から」を1度でも破ると効果が薄れます。
目安として、次のどれかに当てはまるなら仕様を先に書きます。当てはまらないなら、会話で作って試し、うまくいったものを残す段階で仕様を書き起こしても遅くありません。
- 自分以外に2人以上が使う。
- データを貯め続け、あとから集計や検索をする。
- ほかのシステムやスプレッドシートとデータをやりとりする。
- 顧客情報や金額を扱う。
作ったツールを社内で使い続ける段階の線引きはバイブコーディングで作ったツールの本番公開ラインが参考になります。
効果は「作り始めてから前提に戻った回数」で測る
仕様駆動開発の効果は、完成までの日数だけでは見えません。文書を書く分、最初の数日はむしろ遅く見えるからです。次の記録を、仕様なしで作ったときと比べます。
- 作り始めてから「そもそも誰が使うのか」「このデータはどこから来るのか」に戻った回数を数えます。
- AIへの修正依頼を「仕様の書き漏れ」「AIの読み違い」「使ってみて気が変わった」に分けて記録します。
- 作業手順1つごとに、完成条件をそのまま満たした割合を残します。
- 作ったあと、仕様書だけを読んだ別の人が、画面の動きを説明できるかを試します。
「使ってみて気が変わった」修正は、仕様駆動開発でもなくなりません。減らしたいのは「仕様の書き漏れ」と「AIの読み違い」のほうです。この2つが減っていれば、文書に書く項目が足りているということです。
来週の一歩:作りたいもの1つで、要件だけ書いてみる
いきなりツールを入れる必要はありません。作りたい業務アプリを1つ選び、A4 1枚に「誰が使うか」「何ができれば完成か」「どのデータを持ち、1件の○○に△△はいくつ付くか」を書いてみてください。書けないところが、AIに作らせたら修正の沼になるところです。そこは業務を知っている人と話して埋めます。
要件と設計の1枚目を、一緒に書き出せます
作りたい業務アプリについて、誰が使うか、どのデータがどこから来てどこへ行くかを聞きながら整理します。AIに渡せる形の仕様にするところまでを30分で確認します。
30分の無料相談を予約する一次情報・公式情報
- GitHub「Spec Kit」
- Kiro Docs「Specs」
- Kiro Docs「Feature Specs」(EARS記法の要件)
- Claude Code Docs「Common workflows」(計画モード)
仕様駆動開発のよくある質問
仕様駆動開発とは何ですか?
AIにコードを書かせる前に、要件・設計・作業手順を文書にし、その文書を正としてAIに実装させる進め方です。英語ではSpec-Driven Developmentと呼ばれます。直したいことが出たら、まずコードではなく仕様の文書を直し、そこからもう一度AIに作らせます。
AI駆動開発と仕様駆動開発は何が違いますか?
AI駆動開発は開発にAIを使う進め方全般を指す広い言葉です。仕様駆動開発は、その中でも要件・設計・作業手順を文書にし、その文書を正としてAIに実装させる進め方です。SalesDockでは、業務の聞き取りから運用後の改善までAIを使い、要件を決めてから実業務で試すまでの部分に仕様駆動開発を取り入れています。
仕様駆動開発に使うツールは何がありますか?
AWSのKiro、GitHubのSpec Kitが代表的です。Kiroは要件・設計・作業の3つの文書を作る流れが組み込まれています。Spec Kitはコマンドで仕様、計画、作業、実装を順に進めます。Claude Codeには、KiroやSpec Kitのように仕様書の型と手順があらかじめ組み込まれてはいませんが、Markdownの文書と計画モードを使えば同じ進め方ができます。
非エンジニアでも仕様駆動開発はできますか?
要件と設計の文書は、業務を知っている人のほうが正しく書けます。誰が使うか、どのデータがどこから来てどこへ行くかは、コードの知識より業務の知識で決まるからです。ただし、顧客情報を扱う、社外に公開するといった段階では、権限やデータの守り方を確認できる人を入れます。
小さなツールでも仕様書は必要ですか?
自分1人が1回だけ使う集計や、見た目を試す試作なら、仕様書なしで作って捨てるほうが早い場合があります。2人以上が使う、データを貯め続ける、ほかのシステムとつなぐ、のどれかに当てはまるなら、A4 1枚でも先に書くと手戻りが減ります。
次に確認する記事
泉 款太(いずみ かんた)
株式会社SalesDock 代表取締役
慶應義塾大学法学部卒。スタートアップ、ラクスル、リクルート(SUUMO)を経て2025年に独立。 中小企業の経営・営業・業務・データをつなぐ事業基盤の設計と実装を支援。 不動産・製造業・クリニックを中心に、累計40社以上の支援に携わる。
運営は株式会社SalesDock(大阪市中央区本町)。中小企業向けに、AI自走プラン(初期構築15万円+月額10万円・90日)と、 そのあとのAI顧問(月額5万円・6ヶ月契約から)を提供しています。価格は税別です。 大阪・関西を中心に、オンラインで全国からのご相談に対応しています。
代表者情報を読む →この記事の数値について
本文中に一次資料へのリンクがある数値は、リンク先を出典としています。 リンクのない業務設計、判断基準、実務上の目安は、SalesDockが累計40社以上の支援と自社運用で得た知見を一般化したものです。 個別企業での成果を保証する数値ではなく、条件によって変わります。