GitHub+ZenHubをアジャイルな開発環境でどのように使うか

Tags
開発プロセス
ドキュメント
アジャイル
ツール
公開日
2022/2/14
Company/Product
GitHub
ZenHub
GitLabをアジャイルな開発環境でどのように使うか のGitHub + ZenHub版です。本来ならGitHubのみで行いたいのですが、projects (beta)でもアジャイル開発で使うのはRoadmapがないなど厳しいと判断したのでZenHubを組みわせます。
ZenHub for GitHubというChrome extensionがあるのでそちらを利用し、GitHubにNativeに組み込んだ形で確認していきます。

GitHub + ZenHubの各機能の紹介

Epic

最初にEpicを作成しました。
 
Issueが作られ、Epicとしてラベルがついています。Epicの中でIssueが作れます。期間も設定できRoadmapに反映されます。
 

Issue

EpicのIssueから追加したり、New Issuesから作成してそのIssueの中からEpicを紐付けることができます(複数のEpicを1つのIssueに紐付けることもできます)。
 
Issueで見積もりができ、Planning pokerもできます。Planning pokerの場合は、ポーカーするユーザを振って全員が同じならばそのポイントが振られ、異なるなら通議が行き議論が始まります。
 
Issueに依存関係も設定できます。

Sprint

Sprintの開始日と期間(2週間など)を選べば自動的に一定期間のSprintができます。このSprintはGitHubのどのアイテムとしても現れずZenHub内で作られるようです。3つくらいしかSprintを作ってくれなさそうで、一定期間後のものは自動でつくられるようです。MilestoneというのもありますがこちらはGitHubのMilestoneに明示的にアイテムを作ります。こちらは自動でつくられない分、先まで手動でつくることができます(ただしMilestoneのサポートは将来的に打ち切られるようです)。
 
Sprintを作ったらIssueの右ペインからどのSprintに属すかを選べます。

開発

こちらは通常のGitHubのIssueとPull Requestとの関係です。Issueを閉じるとRoadmapに進捗が反映されます。
Burndownチャートも見ることができます。
 

Roadmap

ロードマップを見るとIssueの完了が反映されています。
 
進捗部分にある1/3は以下のようになにを表示するか選択できます。

まとめ

GitHub + ZenHubを使ってアジャイル開発でどのように使えそうかみてみました。正直統合されたものではないのでJIRAに比べて惜しいところがありました。ただGitHubをGitのホスト先として使っている以上はGitHub上で完結できるのでコンテキストスイッチはやや発生しずらいかなと思いました。

参考

GitHubの価格

ZenHubの価格

GitHub自体が使うGitHub projects beta

あとかぎ

ZenHubを使っていて感じたこと

  • Epicに紐付いているIssueから自動的にStart/End dateを設定してほしい
  • JIRAみたいにRoadmapのEpicにどのIssueが完了しているかなどIssueの紐付けをネストされた構造で見たい
  • GitHub.com上でChromeのExtensionを使うかどうかの設定を、ExtensionのメニューでWhen You Click the Extensionを選んでからOn Github.comを選んでもgithub.com上で使えなくなってしまいました。Extensionを再インストールしたら直りました。
  • GitHub projects betaと項目の連携がとれていない。例えばSprintが連携されていない。