コンサルホームエンジニアの心スポンサーリンクZenHubにアジャイル・スクラムのアイデアを注入するエンジニアの心TwitterFacebook0Pocket6LINEコピー2020.01.17GitHubと連携できるZenHubを使うところが増えてきた気がします。直感的に使いやすいツールですが、アジャイル・スクラムチームとして手はじめにどう使えばいいか迷う方もいるようなので、ざっくり使って調べてみました。スポンサーリンクRepositoryZenHubはGitHubに紐づく便利さと同時に、リポジトリに紐付かざるを得ない宿命があります。リポジトリに紐付かない作業も、どこかのリポジトリに所属しなければならない制約があるということだと思います。バックログを構成する要素まずは、ツール内に登場するオブジェクトや属性を整理してみます。いうことは、そういったリポジトリに紐付かない作業(つまり、ソースのコミットやPRのやりとりが発生しない作業)のためのリポジトリを、ダミーで用意するのがいいかもしれませんね。EpicEpicとは何かを考えるよりも、Epicをどう使うか考えるといいと思います。Epicはこのあと出てくるIssueより上位の概念です。Epicの中にIssueが作成され、Issueは複数作成できるため、複数EpicとIssueは親子関係となり、Epicは複数のIssueをたばねる役割をもたせられるということです。Issueは複数のEpicを持てます。操作上、EpicにEpicも設定できちゃうのですが、ZenHubがアラートを出してくれるので大丈夫。こし!試しにEpicとIssueを作ってみます。Epicを作ると同時に、Issueを追加できるページが表示されます。そこに2つのIssueを追加すると上記のようになります。GitHub上で見てみましょう。ZenHubはGitHubと相思相愛なので、対象のリポジトリにIssueが3つできます。Epicは「Epic」というラベルが貼られただけのIssueです。Issueはその名の通り問題点、課題を指しますが、ZenHubにおけるアジャイルなプロジェクト運営ならば、タスクやバックログも意味するようになるはずです。Issueで注意したいのは、依存関係をもたせられる点でしょう。Epicとは違い「依存」という形でEpicやIssueと繋げられ、「これができないとこっちができない」といった関係性を表現できます。Sub-tasksSub-tasksは、Issueの説明にチェックボックスを記述すれば実現できます。すべてのチェックを終わらせられれば、IssueはDONEになります。Board上(かんばん形式のView)からは見えなくなるので注意が必要です。Epic、IssueとSub-tasksの使い方もちろん現場によって色んな使い方をすればいいとお思いますが、ここまで考えると、EpicとIssueをどう使うべきかが見えてきます。Epics」にはアジャイル開発との関係性が、上記のようにわかりやすく説明されています。Epicは大きなユーザーストーリー。EpicはIssueに分割できます。Issueは小さなユーザーストーリーです。IssueはSub-tasksに分割できます。Sub-tasksはユーザーストーリーを実現するためのタスクです。ユーザーストーリーレベルの見える化でよければIssueまで使い、Sub-tasksは各個人のタスク管理として使えます。ユーザーストーリー)にせざるをえません。ちなみに、ユーザーストーリーは、Wikipediaの表現がとてもわかりやすいです。ユーザーストーリーとは、ソフトウェアシステムの1つ以上の機能の非公式の自然言語記述です。ユーザーストーリーは、多くの場合、エンドユーザーまたはシステムのユーザーの観点から書かれています。Wikipediaさらに、親子関係や依存関係も活用できます。EpicやIssueの紐付けや依存関係を設定できます。依存関係はBlockerを意味します。EpicやIssueは多対多の親子関係を設定できます。それぞれのオブジェクトの関連性が複雑になるため、親子関係や依存関係を利用しないのも手だと思います。Issue」を参考にどうぞ。時間を司る要素Issueにも期限があっていいような気がしますが、Issueは見積もり(Estimate)をラベルとして設定します。このへんがバックログっぽくていいですね。ZenHubでは時間を扱えるものとして、MilestoneとReleaseがあります。それぞれの特徴を見ていきましょう。date)を持てます。マイルストーンには期限があるので、スプリントとして「Spint1」「Sprint2」という命名にしたり、ロードマップ上の特定期限を指してあげると良いと思います。ZenHubReleaseReleaseはReportから作成できます。リリースには開始日と終了日を設定できます。開始と終了があるので、見積もりを入れれば上記のようなレポートが表示可能です。ZenHubはReportが充実しています。見積もりなしでも表示できるレポートがあるので気軽にメトリクス測定できますね。insightsRelease対象となるIssueも確認できます。入れないといった判断も簡単なので、スプリントバックログみたいにもつかえます。JIRAのようにドラッグアンドドロップで優先順位付けを変更できるようになったら最高ですね。MilestoneとReleaseの使い方マイルストーンとリリースもシンプルに使うのであれば以下のようになるはずです。マイルストーンはイテレーション・スプリントとして固定期間リリースはマイルストーンをつみあげていった成果をリリースするものリリースの開始日はスプリントXなりに合わせるとシンプルです。マイルストーンの期限日になるとわかりやすいです。リリースはリリースノートといったレポート機能として存在するため、マイルストーンとの親子関係はありません。よって、その関係性は人間が意識して設定する必要があります。属性ZenHubにはそれ以外にもたくさんの属性があります。これらはEpicとIssue双方に付与できます。カテゴリが存在しないのでラベルを使って整理します。前述のリリースまとめZenHubのサイトはこちら。GitHubかつてタモリさんは言っていました。簡単なことを難しくするのがバカ。繰り返しになりますが、ツールもプロセスもシンプルに使うべきです。happy.最後に、この記事のタイトル「ZenHubにアジャイル・スクラムのアイデアを注入する」は「RedmineへScrumのアイデアを注入」へのオマージュです。ソフトウェア開発の実現に向けて奮闘中。週末に娘と息子とお昼寝しながら世界のビーチや離島を旅する夢を見る。お仕事募集中!daipresentsをフォローする857翻訳しました。赤ちゃんの肌にやさしいおしりふき10種類を夫婦でガチ比較してみた2015.08.252020.01.082016年アジアベストビーチに選ばれたミャンマーのガパリに行ってきた。t("").html(tocplus.visibility_show).text():default:t(this).html(tocplus.visibility_hide),t.cookie&&(o?t.cookie("tocplus_hidetoc","1",{expires:30,path:"/"}):t.cookie("tocplus_hidetoc",null,{path:"/"})),t("#toc_container").css("width",tocplus.width).removeClass("contracted"),t("ul.toc_list").show("fast")}})}}});タイトルとURLをコピーしました。