Slide 1

Slide 1 text

© asken.inc 実践 仕様書駆動開発 のススメ 2025/09/25 1

Slide 2

Slide 2 text

© asken.inc 2 自己紹介 鈴木 一帆 株式会社asken インフラエンジニア 前職はSIerとして、インフラ、バックエンド、プロジェクト管理を経験 インフラが楽しくなり、現在はaskenのインフラエンジニアとして、 AWSを中心としたシステム全般を担当 運動のためにエアロバイクを買って、やる気を出すようにしてる

Slide 3

Slide 3 text

© asken.inc 3 AIでの仕様書駆動開発 流行ってますよね 皆さん実施してますか?

Slide 4

Slide 4 text

© asken.inc 4 インフラエンジニアですが 仕様書駆動開発を最近ずっとしてます バッチ作成、運用で使うツールなど 仕様書から作ると (わりと)品質高いプログラムが作れます

Slide 5

Slide 5 text

© asken.inc 5 今回の内容 ・仕様書駆動開発は良いぞ ・仕様書駆動開発の具体的な進め方

Slide 6

Slide 6 text

© asken.inc 仕様書駆動開発とは? ● Spec-Driven Development(SDD) ● 仕様書(要件)を開発の中心に据えるアプローチ ● 仕様を出発点として、一貫性を持って開発をすすめる

Slide 7

Slide 7 text

© asken.inc 仕様書駆動開発は奥が深い ● 仕様書駆動開発は具体的な進め方が決まってない ● AIツールがKiroやSpecKitなど、他いろいろある 何のAIを使うか、どう使うか →選択肢がたくさんある ● 自分に適した仕様書駆動開発の進め方を考える ● AIによって使い方を変えるのではなく、使う内容によってAIを選ぶ

Slide 8

Slide 8 text

© asken.inc 今日伝えたいこと ● 仕様書駆動開発を「自分にあわせて」テンプレート化する ● 私の仕様書駆動開発 ○ 人が仕様を壁打ちで決める → AIがカバレッジ満たすまでTDDで コードで書く → 門番が漏れを防ぐ [仕様整理] 要件元ネタをAI壁 打ちで作成 ChatGPT Claude Code [設計/タスク整理] DesignDoc作成 実施タスクまで整 理 Kiro Claude Code [テスト/実装] AIルール注入 /TDD/カバレッジ 90%まで回す Claude Code [修正〜レビュー〜 デプロイ] AI自己レビュー/ 他AIレビュー/ pre-commit門番 Claude Code Devin(レビュー用) 流れ 利用AI 何回か行き来 実装がおかし かったら戻る AI開発ルール ドキュメント作成ルール [私の仕様書駆動開発テンプレート]

Slide 9

Slide 9 text

© asken.inc 9 私の仕様書駆動開発のイメージ ● イメージは ウォータフォール開発を超速で回す ○ 「要件定義→設計→実装→テスト→リリース」の流れを順々に行う ○ 実際は手戻りがある それも含めて、一気にAIで実施してしまう ウォータフォールを AIが超速で実施

Slide 10

Slide 10 text

© asken.inc 10 詳細 [仕様整理] 要件元ネタをAI壁 打ちで作成 ChatGPT Claude Code [設計/タスク整理] DesignDoc作成 実施タスクまで整 理 Kiro Claude Code [テスト/実装] AIルール注入 /TDD/カバレッジ 90%まで回す Claude Code [修正〜レビュー〜 デプロイ] AI自己レビュー/ 他AIレビュー/ pre-commit門番 Claude Code Devin(レビュー用) 流れ 利用AI 何回か行き来 実装がおかし かったら戻る AI開発ルール ドキュメント作成ルール [私の仕様書駆動開発テンプレート]

Slide 11

Slide 11 text

© asken.inc 11 STEP1:仕様整理 ● 要件の元ネタからAI壁打ちで作成する ○ 最初は数行のプロンプトを記載 ○ 要件と簡単な構成イメージをMarkdownで出力させる ○ 何を作るか、人がわかるまで壁打ちを繰り返す ● 使うAIは「ChatGPT」「ClaudeCode」 [要件] 画像をアップロードして保存するサービスを作りたいです 画像アップロード後、一覧画面で表示させる用のサムネイル画像も作ります。 何らかの形で完了を通知してください。 [構成元ネタ] いまイメージしているのは 画像アップロード → S3保存 → サムネイル自動生成 → Slack通知のシンプルな構成です。 これらをAWS実施する場合の構成図、処理シーケンス、概要をマークダウンでまとめてください 構成図、処理シーケンスは Mermaid 形式で作成してください。 プロンプト例 1問1答させても良い

Slide 12

Slide 12 text

© asken.inc 12 何回か繰り返すと、イメージに近いのが出てくる ポイント:Marmaidで図を起こすと、人にもAIにもわかりやすい

Slide 13

Slide 13 text

© asken.inc 13 何回か繰り返すと、イメージに近いのが出てきたぞ ポイント:Marmaidで図を起こすと、人にもAIにもわかりやすい

Slide 14

Slide 14 text

© asken.inc 14 STEP2:設計/タスク整理 ● DesignDocのフォーマットに沿って、記載を厚くしていく ● それを元にタスクリストを作る ● 人とAIの両方が理解できる仕様(設計)を作る ○ AIが嬉しいもの ■ Marmaid図(構成、シーケンス) →人も嬉しい ■ 処理サンプル ● 使うAIは「Kiro」「ClaudeCode」

Slide 15

Slide 15 text

© asken.inc 15 DesignDocフォーマット例

Slide 16

Slide 16 text

© asken.inc 16 STEP3:テストと実装 ● 実装する際に事前に決めたAI用の開発ルールを注入 ● テストが先  →TDD[テスト駆動]で実施(twadaさん降臨させる) ● テストカバレッジ率を満たすまで実装  ○ カバレッジ90%までAIを働かせる ● 使うAIは「ClaudeCode」 カバレッジ90%を満たすまで、テス トと実装を繰り返してください AIなら過労死しない

Slide 17

Slide 17 text

© asken.inc 17 ├── README.md # このファイル ├── common/ # 共通ルール │ ├── agent_stance.mdc # AIエージェントの基本姿勢 │ ├── cicd.mdc # CI/CD・セキュリティルール │ ├── coding.mdc # コーディング・開発環境ルール │ ├── documentation.mdc # ドキュメント作成ルール │ ├── ecr_coding.mdc # ECR関連ルール │ ├── testing.mdc # テスト関連ルール │ ├── version_control_cicd.mdc # バージョン管理・CI/CDルール │ └── sample/ # 設定ファイルサンプル │ ├── .flake8.sample # flake8設定サンプル │ ├── .gitignore.sample # gitignore設定サンプル │ └── .pre-commit-config.yaml.sample # pre-commit設定サンプル AIルール例 ○ AIの振る舞い方、コーディングルール、テスト方 法、デプロイ方法などなど

Slide 18

Slide 18 text

© asken.inc 18 STEP4:修正〜レビュー〜デプロイ ● チェックと仕上げの段階 ● この段階でコードがよくない=設計が良くないのでコードを捨てる ことも考える  ● AIレビュー ○ Claude CodeのSubagentでレビューアを作る ○ 他のAIでもレビュー Devinなど ● pre-commit ○ gitのフック機能を利用したコミット時の毎回チェック ○ Lint/Test/カバレッジを毎回保つ ○ AIにさぼらせない(指定しないとAIは忘れる)

Slide 19

Slide 19 text

© asken.inc 19 Claude CodeのSubagent レビューア作成例 --- name: pr-reviewer description: GitHub Pull Request の総合レビュー。gh CLI で差分・チェック・メタ情報を収集し、 [nits]/[imo]/[q]/[must] の分類タグを付けたコメント案と最終判断を出力。 tools: Read, Grep, Glob, Bash --- あなたは PR 向けのシニアレビュアです。**gh CLI** を使い、PR の差分・CI・スレッドを収集してレビューします。 (略) ## コメント分類タグ(必ず先頭に付与) - **`[must]`**: マージ前に必ず修正すべき不具合・セキュリティ・破壊的変更の不備 - **`[q]`**: 質問(仕様/意図確認、追加情報要求) - **`[imo]`**: 提案・設計/実装選択に関する意見(非ブロッカー) - **`[nits]`**: 細かな指摘(文言/スタイル/微修正)

Slide 20

Slide 20 text

© asken.inc どれくらい開発に時間かかるの? ● [仕様整理] : 1~2時間 ● [設計/タスク整理]  : 2~4時間 ● [テスト/実装] : 5-6時間  (AIが頑張る) ● [修正〜レビュー〜デプロイ] : 5-6時間 (もちろん内容によりますが) AIが頑張る時間を含めても2〜3日で開発サイクルをまわせる

Slide 21

Slide 21 text

© asken.inc 仕様書駆動開発で嬉しいこと ● 自然にドキュメントとテストなどが揃う ● 単一AIに依存しない ○ 役割ごとに最適に差し替え 新しいAIも使いやすい ● チームの開発ルールを適用しやすい ○ AIルールとして定義 ● 実装はけっこう放置できる  ○ カバレッジ90%満たすまで作る & pre-commitでガード

Slide 22

Slide 22 text

© asken.inc 22 まとめ ● 仕様書駆動開発を「自分にあわせて」テンプレート化する ○ 人とAIの両方が理解できる仕様(設計)を作る ○ AIルール + カバレッジ90% + pre-commitで品質を高める [仕様整理] 要件元ネタをAI壁 打ちで作成 ChatGPT Claude Code [設計/タスク整理] DesignDoc作成 実施タスクまで整 理 Kiro Claude Code [テスト/実装] AIルール注入 /TDD/カバレッジ 90%まで回す Claude Code [修正〜レビュー〜 デプロイ] AI自己レビュー/ 他AIレビュー/ pre-commit門番 Claude Code Devin(レビュー用) 流れ 利用AI 何回か行き来 実装がおかし かったら戻る AI開発ルール ドキュメント作成ルール [私の仕様書駆動開発テンプレート]

Slide 23

Slide 23 text

© asken.inc 23 Thank you!