GitHub Projects に Roadmaps が登場 - issue や PR をタイムラインで管理しよう
GitHub Projects のビューに Roadmap が追加されました。
Roadmaps in Projects are now generally available | GitHub Changelog
従来の Board(カンバン)、Table(スプレッドシート)のレイアウトに加えて、よりプロジェクト計画・進捗管理に適したレイアウトが追加されたことになります。
Roadmap レイアウトの選択
#新規プロジェクト作成時にレイアウトを選択できます。
既存プロジェクトへの新規ビュー追加時にも選択可能ですし、既存ビューの変換も可能です。
Table ビューや Projects のオートメーションについて以下の記事で紹介しています。
Roadmap レイアウトの特徴
#Roadmap レイアウトでは、アカウント内、オーガニゼーション内の任意のリポジトリの issue / PR / Draft PR をタイムラインに配置して計画と進捗管理ができます。issue に Milestone が設定されていればタイムラインに反映されますし、Roadmap 側でイテレーションを定義して issue や PR を含めることもできます。
Roadmap の利用方法については公式ドキュメントの以下のページに記載されています。
Customizing the roadmap layout - GitHub Docs
計画時の issue 登録
#計画フェーズでは、ユーザーストーリーや機能などを issue として登録し、Milestone を定義しておおよそのスケジュールを登録しておくとよいと思います。Roadmap では Iteration を定義してより細かくタイムボックス管理することになります。
以下のように issue と Milestone を登録しました。サンプルなので中身が適当なのはご了承ください。
- サンプルの issues
- サンプルの Milestones
Roadmap への issue 追加
#作成した issue を Roadmap に追加していきます。Roadmap の行追加時にリポジトリを選択して issue を選択して追加することになります。
issue が未登録の場合はこの画面から登録もできます。
Add items from <repo>
でリポジトリの issue を一括選択して追加することもできます。
必要な issue を追加した状態です。
Iteration の作成
#Iteration は issue の属性ではなく Roadmap 固有の概念です。issue の右の +
ボタンをクリックすることで Iteration を作成できます。
右上の Settings からも遷移できます。
以下のように Iteration を定義しました。最初の Iteration を作って week 単位で長さが決まれば、あとは、Add Iteratioon
をクリックするだけで新しい Iteration を追加して連番も期間設定も自動でやってくれます。「イテレーションじゃなくスプリントがいい」という人は Field name を Sprint にすればよいでしょう。
issue の Iteration への割り当て
#次は各 issue を Iteration に割り当てていきます。
Marker で Milestone と Iteration をチェックしておくと、タイムラインに表示されます。
タイムラインのズーミングは Month / Quarter / Year から選べますので、全期間を俯瞰しながら割り当て作業を行えます。
issue を Iteration に割り当てるには、対象の Iteration 期間にカーソルを当てます。期間と Iteration 名がポップアップされます。
クリックで確定します。
確定後は、ドラッグ&ドロップで移動できます。
各ストーリーの issue を Iteration に割り当てました。
グルーピング
#Iteration 単位で見やすくグルーピングします。ビューのメニューで group をクリックします。
グルーピングの単位として Iteration を選択します。
タイムラインが見やすくなりました。グループは折りたたんで配下の issue を非表示にもできます。
フィルタリング
#大規模なプロジェクトでは、issue が多くなり期間も長くなるため、ビューのフィルタリングが必要になります。Roadmap では Iteration / 担当者 / 状態などでフィルタリングができます。
Iteration によるフィルタリング。
issue の担当者(assignee)によるフィルタリング。
issue か PR か、もしくは issue / PR の状態によるフィルタリング。
最後に
#以上、GitHub Projects の新しい Roadmap レイアウトの使用方法をご紹介しました。今回は1つのリポジトリの issue のみを対象にしましたが、当然マルチリポジトリでも使えますし、PR や Draft PR もタイムライン上で同時に管理にできます。
issue を Excel に転記して進捗報告をしている現場が(もしかしたら現在も)あるかもしれませんが、ここまで GitHub で管理できるならそろそろ脱 Excel も可能かもしれません[1]。
個人的には Board レイアウトで事足りていますが、Enterprise レベルのプロジェクトではこのような機能が必要とされているのでしょう。今後も機能の追加や改善があることと思います。GitHub を採用している現場のマネージャーのみなさんも試してみてはいかがでしょうか。
いわゆる「神Excel」だとまだまだ厳しいかもしれませんが。 ↩︎