1. HOME
  2. ニュース一覧
  3. ニュース

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

はじめに

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作りのコツをあげました。(実際の資料が以下になります。是非ご覧下さい)

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

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

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

終わりに

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

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

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

http://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/

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