タスク管理ツール ZenHub を導入して楽々タスクマネジメントを始めた話

タスク管理ツール ZenHub を導入して楽々タスクマネジメントを始めた話

Airシリーズのフロントエンジニア日野澤 (@kt3k) です。今日は、タスク管理ツールの ZenHub Enterprise を導入した話です。

きっかけ

リクルートライフスタイルでは全社的には主に JIRA でタスク管理を行なっていますが、Airウェイトフロントエンドチームでは JIRA の運用がうまく回っていない問題がありました。

Airウェイトバックエンドチームでは JIRA の WBS (Work Breakdown Structure, 作業分解図) を使って進捗を管理していますが、フロントエンドチームは、タスクの粒度が細かく流動的で WBS は馴染まないとして GitHub issue でタスクを管理していました。結果、チームとしての進捗が良く分からないまま放置される状況が続いていました。

一方で、やはり進捗可視化ができないことが不便であると言う意見も強く、昨年(2017)末の案件ではフロントエンドの進捗遅れが原因でリリースが遅れる事案が起こっていました。

当初はバックエンドチームのワークフローに寄り添った JIRA ワークフローを組んで改善を試みましたが、チームの JIRA スキルが足りず、代替ツールとして ZenHub Enterprise を使う案が上がってきました。

ZenHub Enterprise とは

ZenHub は GitHub の issue を Trelloカンバンのように扱えるツールです。

ブラウザエクステンションとして実装されていて、GitHub の UI 上からシームレスに、タスクカンバンや、マイルストーンごとのバーンダウンレポート等を出力できます。

JIRA のようにカンバンを作成するために複雑な設定などは無く、使い始めた時点で、GitHub repository の issue がそのままカンバンになります。また GitHub のマイルストーンに対してバーンダウンレポートが自動的に作成されます。(複数の GitHub repository を跨いだ看板を作成することもできます。)

ZenHub 自体は github.com 上で動く SaaS 型サービスですが、2015年には GitHub Enterprise 上で動く ZenHub Enterprise がリリースされています。今回 Airウェイト で導入したのはこちらの Enterprise 版のバージョンです。

ZenHub Enterprise のインストール

ZenHub Enterprise は SaaS型の ZenHub に比べると若干導入が面倒になります。以下導入手順の紹介です。

まず、ZenHub のサポートに連絡して、インストールガイドを入手する必要があります。その後手順に従って ZenHub Enterprise がプリインストールされた Amazon Web Service の AMI イメージを自分の AWS アカウント上に立ち上げる必要があります。(.ova 形式の Virtual Box イメージから立ち上げるオプションもあります。)

また、当然ですが、GitHub Enterprise と ZenHub Enterprize 間のネットワークアクセスを許可する必要があります。

ネットワーク要件を通した後、インストールガイドの手順に従って、Chrome Extension と Firefox Extension を ZenHub インスタンスからダウンロードし、署名 / ストアアップロードなどの手順を踏むことで、ブラウザエクステンションから利用可能な状態となります。

また初期状態では、自己署名証明書で https 配信をしていますが、ZenHub インスタンスの UI 上から独自の証明書をアップロードすれば、自社のドメイン名で https 配信をすることが出来ます。

トライアルから本運用へ

上記チームで2ヶ月間のトライアルを実施してみたところ、結果は以下のように非常に良好でした。

  • 関係者全員 (エンジニア、マネージャー、ディレクター) が、トライアル開始後すぐに必要なメトリクスを見れるようになった。(学習コストが低かった)
  • バーンダウンレポート機能を使って必要十分な進捗状況の可視化が出来た。
  • 中間チェックポイントで、進捗が順調であることが全員納得できる形で確認でき、工数が嵩むクオリティの高い方の開発プランを自信を持って選択できた。
  • エンジニアにとっては GitHub とのコンテキストスイッチが無いため、集中が途切れにくくなった。

また期待していた以上の効果として、以下のようなメリットが確認できました。

  • 仕組みが根本的に簡単なため、みんながタスク管理方法自体に意見を出せるようになった。(進捗管理自体が誰でも行えるようになり、一部のツール習熟度が高いメンバーに依存することがなくなった)
  • GitHub との連携が密なため、実際の進捗とレポートのズレがなくなり、チケット同期コストが削減された。

Airウェイトフロントエンドチームでは、当初想定した通りの十分な効果が確認出来たため、 ZenHub Enterprise を本格導入して、現在はタスクの管理自体をエンジニア主導で行なっています。

まとめ

今回は、Airウェイトチームで ZenHub を導入した話を紹介しました。

タスク管理には色々なスタイルがあるため一概にツールに対して優劣をつけられるものではありません。また、 JIRA と比較する場合、JIRA は非常に多機能であるため、そもそも比較対象として適切ではないかもしれませんが、特にタスク管理手法にこだわりがなく、シンプルに進捗状況の可視化がしたいと言うモチベーションの場合は ZenHub を使うことでタスク管理自体のコストを非常に削減できるのは間違いないと個人的には思います。