BIGLOBEの「はたらく人」と「トガッた技術」

GitHub Actionsを楽しく学ぶ:BIGLOBEとGitHub Japanのミニハッカソンレポート

GitHub Actionsで「自分の困りごとを解決」するハッカソン形式の社内研修を開催しました。過去に3度GitHub Actionsの研修を実施しましたが、最も高い評価となりました。

この記事では、研修の内容はもちろん、研修の準備を通じて得た学びについてお話しします。

BIGLOBEの網干です。

GitHub Actionsを活用できる人を増やそうとGitHub Japan様とBIGLOBEでミニハッカソン形式の社内研修を開催しました。実はこのイベントの前にも2回の研修を実施してきました。1回目は講義形式、2回目はサンプルプログラムを動かすハンズオンでした。1回目では「知識はついたが実装をイメージしにくい」、2回目では「実装はイメージできたのでなにか作りたいが、実際の業務で何を作ればいいかは思い浮かばない」というアンケート結果となりました。

そこで3回目はハッカソン形式とし、参加者自身が課題を持ちより、その解決策を考えてもらうワークショップとして設計しました。GitHub Japan様のプロフェッショナルサービスを利用して、GitHub社員の方(社員をHubberと呼んでいるそうなので以降Hubberと表記)にも参加していただいています。その結果、満足度を測る指標であるNPS(ネットプロモータースコア)は100となり、受講者から非常に高い評価が得られました。

研修の内容

今回の研修は次の3ステップで実施しました。

第一部 事例共有

まず最初に社内の有志やHubberが普段GitHub Actionsをどう使っているか、具体的な事例を紹介してもらいました。CI/CDに使われるのが当たり前のGitHub Actionsですが、あえてCI/CD以外の事例を中心に取り上げ、この後に続くアイデア出しでの視野を広げるのが目的です。

例えば、GitHub IssuesやGitHub Projectsと連携してタスク管理や議事録作成を半自動化する事例、GitHub APIを使って自分たちの開発パフォーマンスを把握するFour Keysを計算する事例、音楽のプレイリストを作成する事例などが紹介されました。

今回の研修は、バリバリ自動化を進めている人だけでなく、どうやって自動化すればよいかイメージしづらいメンバーも対象にしています。具体的な事例を知ることで、参加したメンバーは大きな刺激を受けたようです。

第二部 アイデア出し

アイデア出しでは、参加者を3〜4名に分け、そこにメンター役のHubberを一人ずつ加えたグループを作りました。次に参加者それぞれに仕事やプライベート問わず、身近な困りごとをふせんに書き出してもらいます。書き終わったらグループ内で共有し、それぞれの困りごとに対してGitHub Actionsを使った解決策をグループ全員で考えていきます。

解決策が実現可能かといった技術的な疑問についてはメンターに相談できるようにしました。Hubberの皆さんはとてもフレンドリーで、ときに和やかに、ときに議論を活性化しながら、アイデアを膨らませてくれました。

第三部 実装

最後に第二部で出た解決策をグループで一つ選んで実装をします。「ゴミ出し日をタスク化」といった日常的なものから「監視アラートの通知先をプルリクエストで追加・削除」といった業務に関する高度なものまで幅広いアイデアが選出されました。

実装の進め方はグループごとに様々です。メンバーそれぞれに役割を振って実装するグループもいれば、コーディングする様子を大きなモニターに写してモブプログラミングするグループもいました。最後に各チームが成果を発表し、研修は終了しました。

研修の結果

第1回の研修から取っていた受講者アンケートでは、10点満点の研修のオススメ度の結果が大きく改善し、NPSは-20→44.44→100と大幅に向上しました。

研修で良かったことについては「実際に手を動かすと分からないことも多く出てくるが、その場でHubberに聞けてすぐに解決できた」「GitHub Actionsを実際に使った事例を聞けてアイデアを思いついた。その後すぐにハンズオンに入ったので、そのアイデアをすぐに実装できた」といった意見がありました。

また嬉しいことに研修開催後、仕事の課題を解決するためにGitHub Actionsを活用する人もでてきました。

その一方で、改善すべき点もあげられました。例えば、GitHub Actionsの経験有無によらずバラバラなメンバーでグループを作成したため「研修で分けられたグループに知識がある人が多く、質問するのが自分だけの状態になってしまったため、質問しにくかった」という意見がありました。研修の目的に「GitHub Actionsを活用できる人を増やす」ことを置いていたのですが、質問しづらい状況を作ってしまったことについて反省しています。次の研修にぜひ活かしていこうと思います。

また、研修に参加しやすくなるよう研修時間をできる限り短く設計したのですが「実装の時間が足りなかった」といった意見がありました。弊社は温泉地でワーケーションを実施するONSEN WORKを事業として推進していますが、思いっきり開発に専念できる開発合宿も企画していこうと思いました。

研修の準備で得た学び

私は今回、初めて社内研修を主催しました。そこで得た最も大きな学びは「経験主義」についてです。というのも、研修の準備段階で「ああでもない、こうでもない」と不安を抱えていた時、考えていた研修内容を一度小さく試してみたことでその不安が簡単に解消したためです。

研修の企画段階では、「自身の困りごとをGitHub Actionsで解決するハンズオン」という内容がすぐに決まり、アジェンダまで順調に考えることができました。しかしその後「参加者に出してもらった困りごとに対し、受講者がその場で都合よくGitHub Actionsを使った解決策を思いつくことができるのだろうか?」と不安がよぎり、手が止まってしまいました。結局一週間ほど頭の中で考えましたが結論が出ず、周囲の先輩社員に相談することにしました。

「この内容で研修が上手くいくと思いますか?」

すると一人の先輩社員から

「まず周囲の人を集めて一回試してみたら?」

とアドバイスを頂きました。そこで早速身近な人を集めて「解決策のアイデア出し」の部分をやってみることにしました。その結果、参加者はほとんどの困りごとに対して解決策を出すことができました。この時分かったことは「案外多くの困りごとに対してプログラミングを使った解決策が思いつく。GitHub Actionsは定期実行、手動実行、様々なGitHub上のイベントをトリガーとすることができたり、他のサービスと連携できるため様々なアイデアに応用しやすい。」ということでした。これに気がついて以降企画内容に自信を持てるようになり、周囲の助けを借りながら最後までやり切ることができました。

普段の開発業務ではスクラム開発をしていて経験主義については知っていましたが、恥ずかしながらこのような形でそれを実践することは思いつきませんでした。日頃「ああでもない、こうでもない」と悩んだら小さい規模で試してみることで不安を解消し、自信を持ってものごとに取り組んでいこうと思います。

まとめ

講義形式の研修と比較して、とても高いオススメ度になった「自身の困りごとを解決するハンズオン研修」、ぜひ試してみてはいかがでしょうか。組織全体で開催するのが難しくても、身近なメンバーとやってみるだけで、様々な学びがあると思います。

企画内容に悩んだら一度小さく試してみるのがオススメです。私の場合「うまくいきそう」「うまくいかなそう」といったことが分かり、次に何をすべきか見えてきました。この「経験主義」の考え方を、研修や業務に限らず、色々なことに応用してみようと思います。

※ GitHubは、GitHub, Inc.の商標または登録商標です。