0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【第2回】Agile開発 × Vibe Coding = 開発スピードと精度の両立を目指す

Posted at

🚀 Vibe CodingでAgile開発を進化させる

Agile開発の理想は「素早く作って、素早く直す」。
しかし現実には、要件定義、設計、タスク分解、そして見積もり……。
この「前工程」に時間とリソースを取られて、結局最初の一歩が踏み出せないこともしばしば。

私のチームではこの問題を、AIとVibe Codingの導入で一気に突破しました。

今回は、AI × Vibe Codingを活用して、Agile開発をどう加速させたのか? を、
実際の開発フローを交えて紹介します。


🧩 私たちの開発フロー:Vibe Codingが変えた3つのこと

1. 要件定義を「自然言語」で済ませる

  • 最初にやることはただ一つ、Project Requirementを書くこと

  • あとはChatGPTやGeminiと対話しながら user-story.md を構築していきます
    Screenshot 2025-05-16 at 08.11.58.png

  • このファイルこそが、開発の中心になります。当然に、やりたいことを手動で調整することが必要です。

要件

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も自動生成できる?
  • チームで使うにはどう運用する?

💬 コメントや質問も大歓迎です!よろしくお願いします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?