最近は小さなチームのリーダーとしてチーム運営をしており、GitHub Projects を何年かぶりに使っています。
GitHub Projects は以前からありましたが、2022/07/27 に完全リニューアルし、GA (Generally Available) となりました。
Planning next to your code - GitHub Projects is now generally available | The GitHub Blog
最近の使い方
こんな前提です。
- 現在は自分含めた 3 人のチーム
- コア開発っぽいリポジトリと、案件ベースのリポジトリ合わせて 10 個くらいある
- 1 つの機能をチームで開発することはなく、それぞれが別々の開発をしている
- 出来るだけレビューを通した PR をマージするように、合意はしている
そんな GitHub Projects を再現したものがこちらです。Issue/PR が少ないのはご愛嬌。😅
各 view の使い方
Board
いわゆるカンバンとして使います。
-status:Idea
というフィルターのとおり、Idea
カラム(後述)は非表示にしています。
Inbox
や Backlog
などのカラムには、短いながらも的確な Description を書いたつもりです。例えば In Progress
の「1人1つまで」だとか。
Schedule
期間を決めた主要 Issue や、期日が決まった Issue のスケジュールは、ここで確認できます。
Start Date もしくは Target Date を設定した Issue/PR が、この view に現れます。-no:"start date","target date"
はそんなフィルターです1。
当初は Roadmap
という view 名にして、Epic
ラベルがついた Issue をこの view に出そうと考えていました。
しかし前述した前提のように、案件ベースの Issue のようなロードマップ以外の要素が多く、チームで普段から Epic という言葉を使うこともないため、一旦このようにしました。もちろん今後変える可能性はあります。
今のところ Epic 的な Issue のタイトルには「★親課題★」という Prefix を付けています。ダサいですが分かりやすいし、自然発生的に生まれたのでこの名前も良いかもしれません。
補足:
アジャイル エピックとは、顧客やエンドユーザーのニーズやリクエストに基づいて特定のタスク (通称「ユーザー ストーリー」) に細分化できるまとまった作業を指します。
今はアジャイル開発はしていないし、Epic から User Story に細分化するような大きな業務フローでもないので、実業務と距離が遠いなと感じた次第。
List
カンバンを全体的に眺めて整理したい時を想定して作りました。あまり使いません。補助的な view です。
Idea置き場
Idea
カラムを表示するだけの view ですが、自分なりの工夫を凝らしました。
個人でうまくいっている「やるかもしれないリスト(パーキングロット)」[2021-01-05-1] を、チーム向けにアレンジしています。
思いついたばかりの Issue は、考えが練られていないことが多いと思います。
例えば「○○をしたい」とか「△△を実装する」といった、「課題じゃなくて、願望や方法ですよね?」といった Issue を目にすることは多いでしょう。そのような Issue は、一番重要な「なにが課題なのか?」を説明した「背景」も置き去りにされているでしょう。
これを避けるための工夫が、この Idea置き場
view です。Issue 化前の Idea 置き場として使います。
最初は「○○をすると良いかも」といった、緩い Draft Issue2 を作り、時間をかけて追記や修正などして、よく練られた Issue に近づけていきます。
本当に Issue を作ると管理が面倒になる気がしたので Draft Issue を奨励していますが、Issue 化は禁止していません。Draft Issue は、更新しても GitHub の通知が飛ばないという悩ましさもありますからね。
me
自分の Issue/PR を眺めたい時に使います。これも補助的な view です。
まとめ
会社で使っている GitHub Projects を紹介しました。
個人では何年もうまく運用できているが、チームへの展開が難しかった「やるかもしれないリスト」を、GitHub Projects で表現できたことにかなり満足しています。この記事を書くモチベーションになりました。
あくまでひとつのサンプルなので、自分達に合ったやり方を見つけ出すことが重要です。参考になれば幸いです。
参考情報
- GitHub Projects勉強会を開催しました - ROUTE06 Tech Blog
- GitHub Projects を使い始めようとしていた 2023/03 に、タイムリーに投稿された ROUTE06 さんの記事
- How the Grafana Alerting team scales their issue management with GitHub Projects | The GitHub Blog
- Grafana というログ・データ可視化サービスの Alerting チーム用 GitHub Projects
- Grafana Labs > Alerting で実際に閲覧可能。Twitter でも少し調べた
-
GitHub Projects では Draft Issue を作ることができます。 リポジトリの Issues タブからは作れません。 ↩︎