GitHub sub-issuesを使ってタスクの進捗状況の見える化が捗った!
2025年1月13日に「GitHub sub-issues」という機能がパブリックプレビューになり、誰でも使えるようになりました!
さっそくtacoms SREチームでも導入してみたところ、使い心地がとてもよかったので、使い方など紹介したいと思います!!
sub-issuesとは
こちらに詳しく書いてあります:
既存issueに子どものissue(sub-issue)を作ることができる
issueの画面を開くとDescriptionの下部にsub-issueを作るボタンが表示されてます。
新規作成ボタンを押すと以下の画面が出てissueが作れます。
アサインやラベル付与など一連のことはできますし、嬉しいのが「Create more sub-issue」という機能があるところ!
これにチェックをいれるとアサインなどの情報が引き継がれた状態で新しいissueを作成できます。
作成後、issueのページにsub-issuesの情報が表示されます。
子どもの子ども(孫)もこの画面で見れます。このissueの順番は任意で変えられます。
sub-issueの画面だと親issueがわかるようになっています。
また既存のissueをsub-issueにすることもできます。
そして異なるリポジトリのissueをsub-issueにすることもできます。
便利ですね!!
sub-issueの進捗状況が確認できる
issue画面でももちろん進捗確認が確認できますが、真に威力を発揮するのはGitHub Projectでです。
Projectのtable viewで親issueでグルーピングした状態が以下の画面です。
見出しが親issueとなっており、自身の進捗が見出しに表示されます。
sub-issueがさらにsub-issueを持っている場合、「Sub-issues progress」というカラムで進捗状況がわかります。
GitHub issueにはマイルストーンという機能がありましたが、Projectで進捗状況がわからなかったのですが、sub-issuesならバッチリです!!
どう使ってるのか?導入事例
tacomsのSREのタスク管理は「ミッション・ストラテジー・プロジェクト」の3層構造に基づいています。
この3層構造については以下の記事で説明しています。
ストラテジーとプロジェクトは1:nの関係です。
ストラテジーの進捗状況は私がCTOに共有するため、プロジェクトの進捗状況は私がチーム運営するうえで必要なものです。
この前提があるうえで次のように使ってます。
まずストラテジーをissueにし、それを最上位の親issueにしています。
次にストラテジーissueからプロジェクトをsub-issueとして作成します。
ストラテジーとプロジェクトにはいつ頃着手予定かを表す情報を付与します。
その情報でグルーピングした結果、ストラテジーダッシュボードで次のように着手時期や進捗状況が可視化できます!
つぎにプロジェクトの着手が可能なタイミングになったら、プロジェクトissueにメンバーアサインをアサインします。
アサインされたメンバーはプロジェクトissueのsub-issueとしてタスクを作成します。
このタスクの進捗報告を毎日の朝会で行います。親issueでグルーピングすることで見出しでプロジェクト全体の進捗率がわかるようになってます。(モザイクでわかりづらくなってます・・・)
その結果、プロジェクトダッシュボードでプロジェクトの進捗状況の確認ができます。
またプロジェクトissueに開始時期と終了時期を設定することでガントチャートっぽい画面も見れます!
これらの画面を定期的に眺めながら、チームの状況を整理し、次の計画を立てていきます。
メンバーにとっても「このプロジェクトの本来の目的ってなんだったっけ?」ってなったときも、プロジェクトissueの親issueを見ればストラテジーを確認できるので、本来の目的を簡単に確認することができます。
使ってみた感想
いままではプロジェクトのissueの進捗確認として「マイルストーン」という機能を使っていました。
マイルストーンでも似たようなことができましたが、マイルストーンを俯瞰して進捗管理する機能はなかったし、マイルストーンは説明や開始・終了時期程度の情報しか入れられなかったのでいまいち使いづらかったです。
今回出たsub-issuesは我々のタスクをGitHub Projectで管理するにピッタリのサービスでとても気に入っています!
これでGitHub Projectの不満は一旦なくなりました!本当に感謝ですねー!
Discussion