2019年9月20日金曜日

「ZenHub×GitHub」を軸としたアジャイルプロセスの作り方

https://codezine.jp/article/detail/11346
シェアしました。

 チーム開発でプロジェクトを始める際『プロジェクト管理ツール』を何にするかは一番はじめに悩む点の一つです。今回は、アジャイルプロセスに親和性のあるプロジェクト管理ツール「ZenHub」を題材に、GitHubとZenHubの組み合わせることで、開発プロセスをどのように作り、改善していくかについて、紹介したいと思います。
目次

対象読者

  • プロジェクト管理ツールの「選定」に興味がある方
  • GitHub、ZenHubを利用している方
  • ZenHub以外のプロジェクト管理ツールを利用している方
  • ホワイトボードを使ったプロジェクト管理している方

ZenHubとは

 ZenHubとは、GitHub Issueをチケットとしてカンバン方式で進捗を管理できるプロジェクト管理ツールです。
 ZenHubの公式サイトにある「What is ZenHub?」には、下のように述べられています。
 ZenHub is not your typical GitHub Issue tracker. For one, every feature is crafted specifically for fast-moving software teams. Rather than forcing teams to leave GitHub and jump into another tool (resulting in double work, informational silos, and missed updates), it transforms GitHub into a fully featured project management platform. Wasted time spent context switching is eliminated. And because everything is fuelled by your GitHub Issues and Pull Requests, you're always working from the most up-to-date data possible. It's the fullest possible integration where you already work.
 つまり、ZenHubはGitHub Issueを追跡するだけのものではなく、GitHub IssueおよびPull Requestsを軸として、別のツールへの切り替えや二重更新などの「ムダ」から解放され、すべてが高速になるようなプロジェクト管理プラットフォームです。
 ZenHubのプロダクトは、バンクーバーとカナダに拠点を置くAxiom Zenが運営しています。
 利用するにあたっての料金は、複数のアカウント体系が用意されています。詳しくは、公式サイトのPricingをご覧いただきたいのですが、要約すると以下のようになっています。
ZenHub 料金体系
体系料金(月)制約
Free無料Publicリポジトリのみ
Business1ユーザーあたり月額5ドル-
Enterprise1ユーザーあたり月額12.5ドル10人以上利用可能

他プロジェクト管理ツールとの比較と選定ポイント

 また、アジャイルプロセスを作っていく上で親和性がある他のプロジェクト管理ツールとしては、アトラシアン製のJIRATrelloがあります。
 これらの中でZenHubを選定した理由は、「チケット管理」と「リポジトリ管理」の親和性がポイントでした。
 例えば、リポジトリ管理にアトラシアンのBitbucketを利用しているならば、JIRAやTelloのほうが親和性が高いですし、さまざまな連携からアジャイルプロセスを作りやすいです。
 一方、GitHubを使っているのであれば、ZenHubを使うことをおすすめします。特にチケット(GitHub Issue)からリポジトリに対するコミット履歴やPull Requestが確認できたり、チケットとリポジトリで相互リンクの関係を作れていたりとてもアジャイルプロセスが作りやすいです。また後述しますが、ZenHubはレポート機能が豊富なので、プロセス分析がとてもスムーズにできることも良い点の1つです。
 公式サイトにもJIRAとの比較がありますのでご覧ください。
 より良くプロジェクト管理ツールをチーム導入するには、ツールの「文化・概念」を組織文化として取り入れることが重要です。ただ単にプロジェクト管理ツールを手段として導入するのではなく、概念・思想を理解した上で導入を進めるとチームへの貢献度が高まります。

Getting Started

 GitHubを利用しているかつZenHubのアカウントを作成済みであれば、いつでも簡単に使うことができます。 利用方法としては2種類あります。
 また、基本的なUIの見方などは公式サイトにある以下の記事をご覧ください。

GitHub×ZenHubでアジャイルプロセスを最適化する

 ZenHubにおけるアジャイルの概念を述べていきます。最も有名な「アジャイルソフトウェア開発宣言」には以下のように書いてあります。
 私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。この活動を通して、私たちは以下の価値に至った。プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を、価値とする。すなわち、左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく。
 つまり、より早いサイクルでのコードのリリース、継続的なテストでの品質担保、柔軟な変更にも対応することを実現するために、アジャイルプロセスを整備することが不可欠です。
 そして、アジャイルプロセスの中で最も重要な役割は「コード」です。いかにコードを高品質で担保し、継続的デリバリを使って高速で効率よくリリースし、顧客からフィードバックをもらうかが大事になってきます。いわば、高品質なコードをどう担保するかを、プロセスとして設計して行くべきです。
 そのひとつの解は「GitHub」です。より早く、より柔軟に強いアジャイルプロセスを実現するには、GitHubのようなコード管理とプロジェクト管理の距離が近いことが最も重要です。
 距離が近いとは、コードを軸とした時にその周りで必要となってくるチーム開発におけるプロジェクト管理が効率よく、高速にコラボレーションできることです。ZenHubを活用すると、上でも述べた別のツールへの切り替えや二重更新などの「ムダ」から解放され、すべてが高速になるようなプロジェクト管理プラットフォームが必要になってきます。
 「ZenHub×GitHub」を実現することで、それらは実現できます。ZenHubには、アジャイルプロセスを設計する上での必要な機能が備わっております。次の章で説明していきます。

著者プロフィール

CodeZineについて

 
プログラミングに役立つソースコードと解説記事が満載な開発者のための実装系Webマガジンです。
掲載記事、写真、イラストの無断転載を禁じます。
記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。

0 コメント:

コメントを投稿