【イベントレポ】GitHub-flowにおけるissue作りのコツとは…達人による登壇を聞いてポイントをまとめてみました。
201504.23

(blog-images/issue1.jpg "issue1")

はじめに

4 月 18 日土曜日にイベント「複数人開発を上手く回す!達人から学ぶ issue づくりのコツ」に参加してきました。イベントに弊社代表の佐藤が登壇するということで参加させて頂いたのですが、複数人開発のやり方を習得中の私としても勉強になる点が満載でしたのでレポートとして書いてみました。

イベントの目的と内容

まず、このイベントでの目的、それは「issue の最適化」。そのためのコツを複数人開発の達人が登壇してお話してくれました。

登壇者のお話(1)

最初の登壇者は株式会社 StartupTechnology 代表取締役菊本様です。
Ruby on Rails 専門のクラウドソーシング StartupLabo をリリースされた菊本様はクラウドソーシングならではの issue づくりのコツをお話して下さいました。

以下クラウドソーシングにおける複数人開発のポイントについて纏めてみました。

まず大前提として

  • クラウドワーカーは持っているスキルが見えない
  • 時間や場所が合わない
  • 大きな責任を持たせることが難しい

このことから

  • 振る issue の内容を細かく記載して難しくしない
  • Rails のルールに沿った形で伝えるようにする
  • 以上のことによってコミュニケーション量を抑える

一番重要なのは最後のコミュニケーション量を抑えるということで、この量を抑えることでコストを抑えることができるということです。
クラウドソーシングであっても社内エンジニアの方と一緒にやるような環境に近づけることで両者の利点を享受することができるのだと感じました。

登壇者のお話(2)

続いて登壇してお話したのが弊社代表の佐藤です。
佐藤はパソナテック社主催「ハッカー部!」にてコーチを務める傍ら、同企画の e-learning システムの開発を GitHub-Flow をベースにした手法で手がけ、自社開発しているサービスについても GitHub-Flow にて開発を進めている等、issue 開発の達人の一人であると言えます。

佐藤と一緒に開発に携わる方々は佐藤が自ら声をかけて共同開発に誘った方々で、クラウドソーシングとは違った人間関係での issue 作りのコツをお話しました。

内容のポイントとして

  • issue の粒度を意識する
  • issue の粒度とコストの関係を考える
  • コストを考えチームの誰に振るかを考える
  • 大きい粒度の issue をどのように分解するのか

という issue 作りのコツをあげました。(実際の資料が以下になります。是非ご覧下さい)

GitHub の Issue 作成について from Masashi Sato

粒度とは issue の大きさという意味です。粒度の大きいものとしてある機能の実装といった issue を考えて下さい。

ある機能の実装という issue があったとすると腕のある開発者であれば、その方に任せてしまえばコミュニケーションコストを抑えながら実装を完成させることができますが、腕がまだ確かでない開発者であればコミュニケーション量(コスト)が大きくなってしまいます。
つまり、粒度の大きさとコミュニケーションのコストは比例した関係にあり、そのバランスを誰に振るかで調整するというお話でした。

また issue を親と子で分ける考え、親(粒度は大きいことが多い)を小さい単位に分けたものを子として分解していくことで粒度の大きさを調整することも issue 作りのコツとしてあげました。
これは子をいくつか合わせて一つの実装したい機能(親)とするやり方でこのやり方であれば腕がまだ確かでない技術者にも仕事を効率的に振ることができるというわけです。
この分け方であったり粒度に合わせた仕事の振り方は、佐藤と他の開発者の人間関係ならではの issue 作りのセオリーだと感じました。

(blog-images/issue.jpg "issue")

終わりに

登壇して下さったお二人の issue 作りのコツとして共通している点はやはり、コミュニケーション量を抑えるということで、環境に合わせたこのコミュニケーション量の抑え方がコツとして直結してくるのだと思いました。登壇者のお話の後は issue 作成の演習、懇親会と盛り沢山のイベントでした。イベントを終えてみて、issue を作る側の視点はもちろんのこと issue を受ける側としてもこれから必要になる知識を知ることができる、どの立場で参加しても勉強になること間違いなしのイベントでした。

イベントに関するお知らせ

URL 内でも記載していますが、サークルアラウンドでは WEB プログラミング個別トレーニングを実施しています。こちらは短期間で集中して、プログラミングを学びたい方に適したサービスとなっております。今回の issue の作り方や、受け側として実際の開発へ加わるためのトレーニングも実施しておりますので是非ご覧下さい。

https://circlearound.co.jp/training/

今回登壇して頂いた菊本様の株式会社 StartupTechnology が運営する Ruby on Rails 専門のクラウドソーシング StartupLabo の URL もあげさせていただきます。https://startup-labo.com/

また今回のイベントに協賛いただいた 2 社様についてご紹介します。

■ 株式会社ツクルバ 様会場となるコワーキングスペース【co-ba】を運営している会社様になります。
http://tsukuruba.com/

■ 株式会社アクトキャット 様コードの自動レビュー等をしてくれる CI サービス【SideCI】を運営している会社様になります。
https://www.sideci.com/

最後にこのイベントを運営して下さったパシリ池田様(パシリは屋号)ありがとうございました。