03.マイルストーン規定
このドキュメントは、GitHubのマイルストーン機能を利用して、プロジェクトの中期的な目標と進捗を管理するためのルールを定めます。
1. マイルストーンの目的
マイルストーンは、以下の目的のために使用します。
- 目標の明確化: 特定のバージョンリリースや、大きな機能群の実装など、プロジェクトの中間的なゴールを明確に定義します。
- 進捗の可視化: マイルストーンに紐づくIssueの消化状況をパーセンテージで可視化し、プロジェクト全体の進捗を直感的に把握します。
- 計画的な開発の促進: 期限(Due date)を設定することで、計画に対する遅延や前進を意識し、リスク管理に役立てます。
ロードマップとの連携
プロジェクト全体の計画と各マイルストーンの関係は、00.プロジェクト管理/01.ロードマップで一覧・管理します。
2. 運用ルール
2.1. 命名規則
- マイルストーンのタイトルは、
v[バージョン]: [目標の要約]
の形式を標準とします。 - バージョン:
- バージョン番号は、
メジャー.マイナー.パッチ
形式のセマンティックバージョニングに準拠します。 - プレフィックス
v
は、Gitタグやリリース名との一貫性のために付与します。
- バージョン番号は、
- 目標の要約:
- そのバージョンで達成したい最も重要な目標を、簡潔に記述します。(例:
基盤整備
,ルール策定
)
- そのバージョンで達成したい最も重要な目標を、簡潔に記述します。(例:
良い例:
* v0.2: ルール策定
* v1.0.1: 緊急バグ修正
悪い例:
* 次のリリース
(具体的でない)
* Phase 2
(バージョン番号がなく、目標が不明)
2.2. マイルストーンの説明 (Description)
- 各マイルストーンの「説明(Description)」欄には、そのマイルストーンで達成すべき具体的なゴールを、箇条書きなどで分かりやすく記述します。
2.3. Issueとの関連付け
2.3.1. 紐付けの基本原則
- 原則として、全てのIssueは、その成果物がリリースされる予定の、いずれかのマイルストーンに紐付けます。
2.3.2. 紐付け先の判断
- 計画的な開発 (通常フロー):
- 新機能や通常のバグ修正(
Priority: High
以下)に関するIssueは、次に計画されているメジャーまたはマイナーバージョンのマイルストーン(例:v1.1.0
)に紐付けます。
- 新機能や通常のバグ修正(
- 緊急の割り込みタスク (Hotfixフロー):
Priority: Critical🔥
と判断されたバグが発見された場合、原則としてv1.0.1
のような、新しいパッチバージョンのマイルストーンを即座に作成します。- 関連するバグ修正のIssueとPRは、全てこのHotfix用マイルストーンに紐付けます。このフローの詳細は、05.ブランチ規定で定義します。
2.3.3. 例外:マイルストーンに紐付けなくても良いIssue
Type: Question(質問)
など、具体的な成果物を伴わない場合。Status: Consideration🤔
ラベルが付いている、対応時期が未定のアイデア段階のIssue。
2.4. 完了(Close)のタイミング
- マイルストーンに紐づけられた全てのIssueが完了(Close)し、マイルストーンの目標が達成されたと判断された時点で、そのマイルストーンを完了(
Close milestone
)します。