03.マイルストーン規定
このドキュメントは、GitHubのマイルストーン機能を利用して、プロジェクトの中期的な目標と進捗を管理するためのルールを定めます。
1. マイルストーンの目的
マイルストーンは、以下の目的のために使用します。
- 目標の明確化: 特定のバージョンリリースや、大きな機能群の実装など、プロジェクトの中間的なゴールを明確に定義します。
- 進捗の可視化:
マイルストーンに紐づくIssueの消化状況をパーセンテージで可視化し、プロジェクト全体の進捗を直感的に把握します。
- 計画的な開発の促進: 期限(Due date)を設定することで、計画に対する遅延や前進を意識し、リスク管理に役立てます。
Note
"ロードマップとの連携" プロジェクト全体の計画と各マイルストーンの関係は、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🔥と判断されたバグが発見された場合、安定版であるreleaseブランチからhotfixブランチが作成されます。関連するバグ修正のIssueとPRは、このHotfixに対応する新しいパッチバージョンのマイルストーン(例:v1.1.1)に紐付けます。このフローの詳細は、05.ブランチ規定で定義します。
2.3.3. 例外:マイルストーンに紐付けなくても良いIssue
Type: Question(質問)など、具体的な成果物を伴わない場合。Status: Consideration(検討中)ラベルが付いている、対応時期が未定のアイデア段階のIssue。
2.4. 完了(Close)のタイミング
- マイルストーンに紐づけられた全てのIssueが完了(Close)し、マイルストーンの目標が達成されたと判断された時点で、そのマイルストーンを完了(
Close milestone)します。