🚀 Vibe CodingでAgile開発を進化させる
Agile開発の理想は「素早く作って、素早く直す」。
しかし現実には、要件定義、設計、タスク分解、そして見積もり……。
この「前工程」に時間とリソースを取られて、結局最初の一歩が踏み出せないこともしばしば。
私のチームではこの問題を、AIとVibe Codingの導入で一気に突破しました。
今回は、AI × Vibe Codingを活用して、Agile開発をどう加速させたのか? を、
実際の開発フローを交えて紹介します。
🧩 私たちの開発フロー:Vibe Codingが変えた3つのこと
1. 要件定義を「自然言語」で済ませる
-
最初にやることはただ一つ、Project Requirementを書くこと
-
このファイルこそが、開発の中心になります。当然に、やりたいことを手動で調整することが必要です。
要件
ECサイトの注文管理システムを構築したい。管理画面・APIが必要で、CSVアップロードも可能にして欲しいです。
# user-story.md
## ユーザーストーリー
**タイトル:** ECサイト注文管理システム
**概要:** ECサイトの注文情報を一元的に管理し、業務効率化を図るためのシステムを構築する。
**背景:** 現在、注文情報の管理が煩雑化しており、手作業によるミスや時間的なロスが発生している。効率的な注文処理、データ分析、および外部システムとの連携が求められている。
**ユーザー:** 管理者
**ゴール:**
* 注文情報を容易に確認・管理できる。
* APIを通じて外部システムと連携し、自動化を促進できる。
* CSVアップロードにより、大量の注文情報を効率的に登録・更新できる。
**ストーリー:**
* **ID:** US-001
* **タイトル:** 注文一覧表示
* **詳細:** 管理者は、管理画面から全ての注文情報を一覧で確認できる。
* **受け入れ条件:**
* 注文ID、注文日時、顧客名、商品名、注文ステータス、合計金額などの情報が表示されること。
* 注文ステータスによる絞り込み、注文日時のソートなどの基本的な検索・ソート機能が利用できること。
* **ID:** US-002
* **タイトル:** 注文詳細表示
* **詳細:** 管理者は、注文一覧から特定の注文を選択し、詳細な情報を確認できる。
* **受け入れ条件:**
* 顧客の連絡先、配送先情報、注文商品の一覧(数量、単価を含む)、支払い方法、配送状況などが表示されること。
* 注文履歴(ステータスの変更履歴など)が確認できること。
* **ID:** US-003
* **タイトル:** 注文ステータス更新
* **詳細:** 管理者は、注文の詳細画面から注文ステータスを更新できる。
* **受け入れ条件:**
* 「未処理」「処理中」「発送済」「完了」「キャンセル」などのステータスを選択できること。
* ステータス更新時に履歴が記録されること。
* **ID:** US-004
* **タイトル:** APIによる注文情報取得
* **詳細:** 外部システムは、APIを通じて注文情報を取得できる。
* **受け入れ条件:**
* 注文ID、注文日時、顧客情報、商品情報、ステータスなどの基本的な情報が取得できるAPIエンドポイントが提供されること。
* 認証機能により、不正なアクセスが防止されること。
* **ID:** US-005
* **タイトル:** APIによる注文ステータス更新
* **詳細:** 外部システムは、APIを通じて注文ステータスを更新できる。
* **受け入れ条件:**
* 注文IDと更新後のステータスを指定して更新できるAPIエンドポイントが提供されること。
* 認証機能により、不正な更新が防止されること。
* **ID:** US-006
* **タイトル:** CSVによる注文情報アップロード
* **詳細:** 管理者は、CSVファイルをアップロードすることで、複数の注文情報を一括で登録・更新できる。
* **受け入れ条件:**
* 指定されたフォーマットのCSVファイルを受け付けられること。
* アップロード時にエラーチェックが行われ、エラー内容が通知されること。
* 既存の注文情報を更新できること(キーとなる項目を指定)。
**非機能要件:**
* **パフォーマンス:**
* 注文一覧表示は〇秒以内に完了すること。
* APIのレスポンスタイムは〇ms以内であること。
* **セキュリティ:**
* 管理画面へのアクセスは認証が必要であること。
* APIへのアクセスは適切な認証メカニズムが必要であること。
* 個人情報は暗号化して保存すること。
* **保守性:**
* システムの構造が理解しやすく、変更や拡張が容易であること。
* ログ機能が充実しており、問題発生時の原因究明が容易であること。
* **操作性:**
* 管理画面のUIは直感的で、操作に迷わないこと。
* エラーメッセージは分かりやすく表示すること。
**今後の拡張検討:**
* 注文情報の検索条件の追加(商品、顧客など)。
* 帳票出力機能(領収書、納品書など)。
* 在庫連携機能。
* 決済システムとの連携強化。
→ これをベースに、AIが設計・コード生成まで行ってくれます。
2. すべては「user-story.md」から始まる
- Vibe Codingでは、
user-story.md
が唯一の信頼できるドキュメント - コードもテストもこのファイルをベースに生成
- 修正があれば、user-storyを更新 → AIが差分生成
🔁 毎回ゼロからではなく、コンテキストを保持したまま進化していける。
3. プロンプト駆動型の反復開発
- 変更や追加があれば、自然言語で追記するだけ
- 例:「一覧に検索機能を追加したい」→ コードが再生成される
- 開発者はコードレビューと微調整に集中
これにより、1タスク1〜2時間で実装 → テスト → デプロイという高速サイクルが実現しました。
🧠 なぜVibe CodingがAgileと相性が良いのか?
従来の課題 | Vibe Codingでの変化 |
---|---|
要件整理に時間がかかる | 自然言語でそのまま記述できる |
コミュニケーションロス | AIが常に文脈を保持してサポート |
設計→実装の断絶 | その場で設計+コードを生成 |
メンテ時に設計書が古い | user-storyが唯一の真実、常に更新される |
Vibe Codingは、設計と実装、仕様とコードの距離を限りなくゼロに近づけるアプローチです。
🧪 実際にやってみた所感
- 「会話しながら作る」感覚は、ペアプロに近いけどもっと速い
- user-story.mdがチーム全員の共通言語になりやすい
- AIが提案する設計は70〜80%の精度。微調整前提で使えば強力
開発にかかる**「段取りコスト」が劇的に減少**しました。
🔮 次回予告
次回は、実際どのようにコードが生まれたか、UIができたかを見ていきます!
- 実際のuser-story → コード生成の流れを公開
- UIも自動生成できる?
- チームで使うにはどう運用する?
💬 コメントや質問も大歓迎です!よろしくお願いします!