はじめに
- アジャイル開発におけるドキュメントの関係をまとめます
- 「うちはこうしている」の一例であり、いろんなやり方があるかと思います
PRD →エピック→ユーザーストーリー→実装
- PRD(Product Requirements Document)、エピック、ユーザーストーリー、実装というプロセスは、ソフトウェア開発の異なるドキュメント段階を表しています。
- このプロセス全体は、高レベルの要件から始まり、段階的により具体的で詳細な作業に落とし込まれていきます。
- PRDは方向性を示し、エピックとユーザーストーリーはその方向性を実現するための計画と構造を提供し、実装はその計画を実現します。
各ドキュメント要素
PRD (Product Requirements Document)
- 目的: 製品やプロジェクトの目標、機能、制約条件などを定義します。
- 役割: PRDは全体的なビジョンと製品の範囲を示し、開発の基盤となる文書です。
エピック
-
目的: PRDで定義された要件を、より管理しやすい大きな作業単位に分割します。
-
役割: エピックはPRDの要件を大まかな機能やテーマに分割し、プロジェクトの主要な目標を表します。
💡 エピックは、通常、単一のユーザーストーリーやタスクよりも広範囲で、プロジェクトの重要な部分を形成する大きな目標や機能を示します。
ユーザーストーリー
- 目的: エピックをさらに小さな単位に分解し、具体的な機能やタスクに落とし込みます。
- 役割: ユーザーストーリーは、実際のユーザーの視点から具体的なニーズや問題を表し、開発チームがどのように対応すべきかを明確にします。
PRD、エピック、ユーザーストーリー、実装の先行後続関係
PRD、エピック、ユーザーストーリー、実装が含む内容
各要素(PRD、エピック、ユーザーストーリー、実装)が含むべき具体的な内容をブレイクダウンします。
1. PRD (Product Requirements Document)
- **ビジョンと目的**: 製品の目的と、達成したいビジョン
- **機能要件**: 製品が満たすべき具体的な機能
- **非機能要件**: パフォーマンス、セキュリティ、可用性などの要件
- **ターゲットユーザー**: 製品の主なユーザーグループ
- **ビジネスケース**: 製品によってもたらされるビジネス上の価値
- **制約条件**: 技術的、法的、時間的な制約
- **リスク評価**: プロジェクトに関連する潜在的なリスク
- **スケジュールとマイルストーン**: 製品開発のタイムライン
2. エピック
- **概要記述**: エピックの目的と概要。
- **主要な機能**: エピックによってカバーされる主要な機能群。
- **優先順位**: プロジェクト内でのエピックの優先度
- **関連するユーザーストーリー**: エピックに関連する具体的なユーザーストーリー
- **予想される成果**: エピック完了時の期待される成果
3. ユーザーストーリー
- **ユーザーの視点**: 「As a [user], I want [feature], so that [reason]」の形式
- **受け入れ基準**: ストーリーが完了とみなされる条件
- **タスクの詳細**: ストーリーを実現するための具体的なタスク
- **依存関係**: 他のユーザーストーリーや機能との依存関係
- **見積もり**: 作業の所要時間や労力の見積もり
4. 実装
- **コード実装**: ユーザーストーリーに基づくプログラムコード
- **単体テスト**: 各機能の動作を確認するテスト
- **統合テスト**: 複数のコンポーネントやシステム全体のテスト
- **ドキュメント**: コード、API、使用方法のドキュメント
- **デプロイメント**: 製品のデプロイやリリースプロセス