スマートフォンチームで課題解決ハッカソンを開催しました
こんにちは!スマートフォンチームです!
先日、スマートフォンチームでは、社内での課題解決ハッカソンをオフラインで開催しました。
目的
普段中々できない改善・改修を進める
同じ課題に集中し、一緒に楽しむことで、誰でも誰とでも議論できるチームを作る
ハッカソンと言っても一般的に想像されるものとは異なり、日々のプロダクト開発で感じる課題や実際に起きた問題を、集中して分析し解消する時間を確保し、ハッカソンと称して行いました。
我々は受託開発がゆえにいつもスケジュールがつきまとい、開発・運用の両面でチーム全体に関わるような改善タスクや、とある案件で行った良い施策も共有はしたけど実際に運用されるまでは時間がかかったりと、正直停滞してしまうことがどうしても多くなってしまっていました。
また、普段は案件単位で活動することが多いので、コミュニケーションの範囲が案件にとどまってしまう事が多くなってしまいました。
事前準備
スケジュール
1タームを90分とし、1日の中で計4回行いました。
定例化しているクライアントとのミーティング等、どうしても丸一日空けられないケースが多いので、ターム分けを行い、参加可能なタームを選んでもらうようにしました。
グループ分け
カレンダーに4タームの予定を作成し出欠確認を行い、事前に運営側でベテラン・若手など経験年数や担当OSを考慮し、3〜5人のグループを作成しました。またこの機に普段交流が少ないメンバーとの接点を増やすため、可能な限り普段の同じ案件メンバーと一緒にならないようにする点も意識しました。
課題のピックアップ
普段からチームの課題やタスクはGithubのリポジトリにissueとして作成して整理しています。今回はその中からハッカソンに合いそうな課題を運営側でいくつかピックアップし、事前に各タームのベテランメンバーに、各グループメンバーがチャレンジできそうなものを選んでもらいました。
■ 課題の一例
Android : [Figma] Android画像書き出し&圧縮方法の最適化
AppleDeveloperConnectに参加しているユーザがOneLogin上でinactivateされたら通知するなんかを作る
FirebaseのCrashlyticsやAnalyticsのレポートを定期的に流したい
ハッカソン当日
当日は下記のようなスケジュールで各タームを進めました。
0分 ~ 10分:自己紹介・グループ名決め
10分 ~ 15分:ハッカソン説明・課題決定
スマホチーム課題から1つ選択
課題に対して必ず時間内でアウトプットを出す(100%の解決でなくて良い)
15分 ~ 80分:ハッカソン
80分 ~ 90分:アウトプット確認・次回アクション決定
チームの人数も年々増えており、初対面のメンバー同士もいたりするので、まず初めにアイスブレイクとしてグループ名を決める時間を設けました。
ファシリテートは各グループのベテランメンバーが担当し、各課題にあった議論や調査を行いました。
各タームでの議論はグループ全員が編集できるようにGoogle Docsを利用したり、課題issueを更新して議事録を残していきましたが、最終的なまとめは元の課題issueに集約するようにしました。
限られた時間のなかでも成果として、それぞれの課題の解決方法にそったアウトプット(Pull Request、Repository、ドキュメントなど)をいくつか作成することができました。
もちろん課題によっては90分の中で完全に解消することは難しいものもありました。難易度の高かったり複雑な課題は日頃から停滞しがちです。そこで最後に設けている10分は単に情報や成果の整理だけでなく、メンバー同士で具体的なタスクや担当を相談しあい、いかに次のアクションにつなげられるかを意識するようにしました。
ハッカソンを終えて
各案件のナレッジが共有され、様々な目線から意見が集まり、数々の施策・解決策が話し合われました。90分という限られた時間内で解消しきる課題は多くはなかったですが、最後の10分でアクションと担当を決めることで次に進める足がかりができ、今後動き出しやすい状況を作ることができました。またハッカソンを通じて交流の幅が広がり、メンバーの人となりもわかったことで話しかける・誘うハードルが下がり、案件内外に関わらずチーム内で今後のコミュニケーションがしやすくなったのではと感じています。
アンケート結果と今後の課題
ハッカソン後すぐに匿名でアンケートを行いました。
普段触れていない技術に触れたし、話したことない人とも話せたため。
ボールが浮きがちなスマホチーム課題を、イベント形式で解決のアクションができるのが楽しいし利点がある様に感じた。先輩エンジニアの調査の仕方や、知らない技術も知れた。
普段関わることのないメンバーと学びができて新鮮でした。
なんとなくやりたいと思っていたことに強引に着手できた。
楽しく進めることができたため。また、他の人とナレッジをその場で共有しながらタスクを進めることができるので、進捗が出やすいと思いました。
普段関わらない先輩方とissueに取り組めて楽しかったし、勉強になりました。
ターム減らして3時間にするという形でも良いかと思いました。
できれば自分の興味のある課題から班が決まる仕組みだと嬉しいです。1タームが短い気もします。
時間が足りない!けどこれ以上長時間空けるのも難しい・・・。
1つの案として、休みの日に開催して、代休申請可にするのもアリなのかと思いました。やっぱりそれぞれの案件の事情があって平日だとみんなで同じ日に時間を確保するのは難しいので、、 もちろん家庭があったりで土日こそ参加できないという方もいらっしゃると思うので、あくまでも1案です。
課題の内容に対してタームの時間が足りなすぎたので2、 3ヶ月前から予定を空けておき1日時間を取って行いたかった。
該当する案件に参加してる人、直接経験した人じゃないと話を理解するのさえ難しい気がするので、みんな知ってる前提で話すんじゃなくてビギナーでも理解できるように話して、ここまではわかってそうであればそれからスキップして本論を話してほしかった。
初めての試みとしては概ねポジティブな意見が多く、運営側としては一段落できる結果となりました。当初の目的であった2点はある程度達成できたのではないかと感じています。
一方で、時間の確保や議論の進め方には課題が残りました。
時間の確保についてはアンケートの結果にもある日程の設定や長さだけでなく、案件都合で全員参加とはならなかった点も、大きな課題として認識する必要がありそうです。
また議論の進め方については、全員が取り組みやすい課題のチョイスはもちろん、高難易度・複雑な課題や普段関わりが希薄な課題を、様々なスキルレベルのメンバーに対してどう自分ごととして認識させ議論できるようにするか、運営やファシリテーターの工夫がまだまだありそうです。
最後に
すでに次の開催を企画を進めています。
アンケートのフィードバックを活かし時間確保や参加メンバーの増加の改善はもちろん、引き続きチーム全体で共通認識を持ちながら、スピーディーに動ける体制を作って行きたいと考えています。