仕様駆動開発とは何か ― その3つの技術要素・4つの原則・7つの工程

はじめに

先日、「仕様駆動アーキテクチャ」という記事を書きました。これは仕様駆動開発を経営に広げる試みでしたが、書いてみて気づいたことがあります。

その土台である 仕様駆動開発そのもの を、まだきちんと一本の記事にしていなかった、と。

いま英語圏では “Spec-Driven Development” が大きな潮流になっています。だからこそ、私が『仕様駆動開発 実践入門』(日経BP)で体系化したものを、改めて整理してお伝えしておきたいと思います。土台を、ここに置きます。

一言でいうと

仕様駆動開発とは、仕様を「信頼できる唯一の情報源」として扱う開発手法です。

会話やメール、散らばった資料ではなく、仕様に立ち返る。迷ったら仕様に戻り、そこを出発点に意思決定する。そして、その仕様を コードと同じように管理・運用する(一般にこれを Spec-as-Code と呼んでいます)。

これを実現するために、私は3つの定義を置きました ―― 3つの技術要素・4つの原則・7つの工程です。順に説明します。

仕様駆動開発「3つの技術要素」

仕様を扱うための、技術的な基盤です。

  1. Markdown(記述) ―― 人にもAIにも読めるプレーンテキスト。Word・Excelと違い、そのままAIに渡せる
  2. Git・GitHub(管理) ―― 仕様の変更履歴をすべて残し、チームで共有する
  3. AI・AIエディタ(活用) ―― 最も重要な要素。仕様を書き、整合を確かめ、コードを生成する作業をAIが支える

Markdownで書き、Git/GitHubで管理し、AIで活用する ―― これが Spec-as-Code の実体です。

仕様駆動開発「4つの原則」

進めるうえで守る、考え方です。

  • 原則① 仕様は「生きたドキュメント」 ―― 作って終わりにせず、常に最新に保つ(ただし変更は必ず履歴に残す。動的と無秩序は違う)
  • 原則② 仕様は「信頼できる唯一の情報源」 ―― 知識の属人化を避け、全員が仕様に立ち返る
  • 原則③ 仕様は「変更と反復が前提」 ―― 変化を例外ではなく必然として取り込む(計画不要、という意味ではない)
  • 原則④ AIでコストを抑えて実現する ―― AIに丸投げではなく、「何を作るか」は人が決める。最終判断は人間(ヒューマン・イン・ザ・ループ)

仕様駆動開発「7つの工程」

実践の具体プロセスです。

  1. 原則決定(Constitution)
  2. 企画・要件定義(Specify)
  3. 設計計画(Plan)
  4. タスク分割(Tasks)
  5. 実装(Implement)
  6. 検証・受入(Verify / Accept)
  7. 移行・運用(Migration / Operation)

⑦の運用フェーズは終点ではありません。そこで得た学びを①②に戻し、次のサイクルを始める ―― 仕様駆動開発は、こうして回り続けます。

なぜ「7つ」なのか ―― 英語圏の潮流との違い

ここが、私の方法論の特徴です。

GitHub は公式の技術ブログ記事「Spec-driven development with AI: Get started with a new open source toolkit」で、4つのプロセス(Specify / Plan / Tasks / Implement)を示しました(この記事が、オープンソースのツールキット Spec Kit を紹介したものです)。私はこの4プロセスを土台に、日本の組織特性に合わせて3つの工程を足し、7つに拡張しました。

足したのは、次の3つです。

  • 原則決定(Constitution) ―― 合意形成文化に応える。プロジェクトの存在意義・基本原則を最初に明文化し、全員で合意する
  • 検証・受入(Verify / Accept) ―― 品質管理に応える。継続的な検証と、最終的な受入を工程として明示する
  • 移行・運用(Migration / Operation) ―― 運用のフィードバックを次の仕様に戻す。開発と保守を分断しない

つまり ―― 英語圏は「速く作る」ための4工程。私のは、合意形成・契約・品質といった日本の開発現場の現実に、仕様駆動開発を着地させるための7工程です。同じ潮流に立ちながら、向き合っている現場が違う。そこが違いです。

おわりに

仕様駆動開発は、3つの技術要素(基盤)・4つの原則(方針)・7つの工程(実践)が、「仕様を信頼できる唯一の情報源とする」という一つの思想で束ねられています。

詳しくは書籍『仕様駆動開発 実践入門』に書きました。そして、この考え方を経営にまで広げたのが、前回の仕様駆動アーキテクチャです。土台(本記事)と応用(アーキテクチャ)、両方を行き来しながら読んでいただけたら嬉しいです。

ご意見・ご質問、歓迎します。


参考

  • 『仕様駆動開発 実践入門 〜 AIで実現する開発方法論』― 日経BP(2026-03)
    https://amzn.to/3RWAvmR
  • GitHub 公式ブログ「Spec-driven development with AI: Get started with a new open source toolkit」(Specify / Plan / Tasks / Implement の4プロセスの出典。OSSツールキット Spec Kit を紹介する記事)
  • 仕様駆動アーキテクチャという考え方(当ブログ)
    https://hdkworks.com/archives/36381