##はじめに
当記事ではスクラムの運用方法については記載しておりません。
僕の所属するカミナシでは先月からスクラムを導入しており、ZenHubを使ってスプリントを回しています。スクラムやる上では定番ツールの一つですよね。
Zenhub、最初はとっつきづらかったんですが、使っていくうちに手に馴染んできたので僕らのチームではこんな風に使ってますよ。というのを紹介します。
Pipelineの設定
Zenhubでは作成したissueをPipelineという仕組みを使って各issueの状況を管理します。
僕らのチームでは以下のPipelineを用意しています。ちょっとだけ、基本形を変えて使ってます。
Icebox
・みんなが好きにissueを立てて放り込んでおくPipeline
・スクラムマスターは適宜、ここに挙げられたissueを選別し、優先度をつけたり、不要ならcloseさせたりする
Product-Backlog
・対応することが決まったissueが所属するPipeline
・上から順に優先度が高いように並べておく
・新機能追加時ならストーリーを記載し、スプリントミーティングで仕様決め、見積もりを行う
Sprint-Backlog
・スプリントで実施予定のissueが所属するPipeline
・ストーリーを細かく分解し、着手できる単位に分け、見積もりまでしておく
In Progress
・スプリントで着手中のissueが所属するPipeline
・原則、一人が同時に着手していいissueは一つまでにしておく
Review/QA
・対応が終わり、Pull Request中のissueが所属するPipeline
・Review完了後、マージし、issueはcloseする
Done
・Reviewが終わったが、何らかの理由でマージ待ちになっているissueが所属するPipeline
・closeさせてしまうと、そのissueが終わってしまった感じになってしまうのでこのPipelineがあるとちょっと便利。
Close
・Reviewが終わり、マージされ、完了したissueが所属するPipeline
レポジトリの運用
僕らのチームでは以下のようにレポジトリを運用しています。(○○はサービス名です)
○○_devレポジトリ
・issueはとりあえず、このレポジトリに原則挙げていく。エンジニアでもビジネスサイドの人でもとりあえずここに。
・複数レポジトリを跨ぐような開発が必要な場合には、ZenHubのepicをこのレポジトリに作り、各レポジトリのissueを紐づけるようにする。
○○_api-serverレポジトリ
・サーバーサイドの開発用
○○_webレポジトリ
・フロントサイドの開発用
○○_spレポジトリ
・sp(smart phone)向けアプリの開発用
ZenHubは複数のレポジトリを跨いで、issueの管理、マイルストーンの設定ができるのでこのようなレポジトリの運用が楽にできます。
##便利機能
###レポジトリの移動
shift + z
でレポジトリ移動のためのwindowを開けます。
###ボードへの移動 + issue作成
z + b
でZenHubボードへの移動、n + i
でissueを作成できます。
###複数のレポジトリに同じマイルストーン作成
burndownレポートのページからマイルストーンを作ると複数レポジトリに同じマイルストーンを作ることができます。
###レポジトリを跨いで、マイルストーンを設定してSprint-Backlogに乗っける
複数レポジトリでやってるといちいち、レポジトリを移動してマイルストーン設定したりするの非常にめんどくさいが、
ZenHubなら楽チン。
boardには複数レポジトリのissueを表示できるので、
他にもレポジトリ、マイルストーン、ラベルなどでフィルターしたりする機能があるので、issueを並べるのが非常に楽です。
##おわりに
僕らのチームでのPipeline,レポジトリの運用と、ZenHubの小回りの効いてる機能を紹介しました。
特に複数レポジトリでissueを管理してるチームにはお勧めだと思います。スクラムをする上でissueの管理というのが非常にめんどいのですが、ZenHubのおかげで相当ストレスが軽減されました。
最後になりますが、僕らの作っているサービス、KAMINASHIではエンジニア絶賛募集中です!
一緒にスクラムやりましょう!!