注目イベント!
アドベントカレンダー2024開催中!
一年を締めくくる特別なイベント、アドベントカレンダーを今年も開催しています!
初心者からベテランまで楽しめる内容で、毎日新しい技術トピックをお届けします。
詳細はこちらから!
event banner

GitHub Projects に Roadmaps が登場 - issue や PR をタイムラインで管理しよう

| 3 min read
Author: masahiro-kondo masahiro-kondoの画像

GitHub Projects のビューに Roadmap が追加されました。

Roadmaps in Projects are now generally available | GitHub Changelog

従来の Board(カンバン)、Table(スプレッドシート)のレイアウトに加えて、よりプロジェクト計画・進捗管理に適したレイアウトが追加されたことになります。

Roadmap レイアウトの選択

#

新規プロジェクト作成時にレイアウトを選択できます。

Select template

既存プロジェクトへの新規ビュー追加時にも選択可能ですし、既存ビューの変換も可能です。

Select layout

Information

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

issues

  • サンプルの Milestones

milestones

Roadmap への issue 追加

#

作成した issue を Roadmap に追加していきます。Roadmap の行追加時にリポジトリを選択して issue を選択して追加することになります。

Add issue from repo

issue が未登録の場合はこの画面から登録もできます。

Add issue after create

Add items from <repo> でリポジトリの issue を一括選択して追加することもできます。

Add issues

必要な issue を追加した状態です。

issues added

Iteration の作成

#

Iteration は issue の属性ではなく Roadmap 固有の概念です。issue の右の + ボタンをクリックすることで Iteration を作成できます。

Add iteration

Itteration screen

右上の Settings からも遷移できます。

Settings

以下のように Iteration を定義しました。最初の Iteration を作って week 単位で長さが決まれば、あとは、Add Iteratioon をクリックするだけで新しい Iteration を追加して連番も期間設定も自動でやってくれます。「イテレーションじゃなくスプリントがいい」という人は Field name を Sprint にすればよいでしょう。

iterations

issue の Iteration への割り当て

#

次は各 issue を Iteration に割り当てていきます。

Marker で Milestone と Iteration をチェックしておくと、タイムラインに表示されます。

Markers

タイムラインのズーミングは Month / Quarter / Year から選べますので、全期間を俯瞰しながら割り当て作業を行えます。

zoom

issue を Iteration に割り当てるには、対象の Iteration 期間にカーソルを当てます。期間と Iteration 名がポップアップされます。

assign candate

クリックで確定します。

fix assign

確定後は、ドラッグ&ドロップで移動できます。

move assignment

各ストーリーの issue を Iteration に割り当てました。

assign complete

グルーピング

#

Iteration 単位で見やすくグルーピングします。ビューのメニューで group をクリックします。

group

グルーピングの単位として Iteration を選択します。

group by iteration

タイムラインが見やすくなりました。グループは折りたたんで配下の issue を非表示にもできます。

Grouped view

フィルタリング

#

大規模なプロジェクトでは、issue が多くなり期間も長くなるため、ビューのフィルタリングが必要になります。Roadmap では Iteration / 担当者 / 状態などでフィルタリングができます。

Iteration によるフィルタリング。

filter by iteration

issue の担当者(assignee)によるフィルタリング。

filter by assignee

issue か PR か、もしくは issue / PR の状態によるフィルタリング。

filter by status

最後に

#

以上、GitHub Projects の新しい Roadmap レイアウトの使用方法をご紹介しました。今回は1つのリポジトリの issue のみを対象にしましたが、当然マルチリポジトリでも使えますし、PR や Draft PR もタイムライン上で同時に管理にできます。

issue を Excel に転記して進捗報告をしている現場が(もしかしたら現在も)あるかもしれませんが、ここまで GitHub で管理できるならそろそろ脱 Excel も可能かもしれません[1]

個人的には Board レイアウトで事足りていますが、Enterprise レベルのプロジェクトではこのような機能が必要とされているのでしょう。今後も機能の追加や改善があることと思います。GitHub を採用している現場のマネージャーのみなさんも試してみてはいかがでしょうか。


  1. いわゆる「神Excel」だとまだまだ厳しいかもしれませんが。 ↩︎

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。