前回の合宿はアプリチーム内の1プロジェクトのみで行いましたが、今回はアプリチーム全体での合宿となりました。人数も7人から18人と大所帯になりました。
「普段は進められない技術的負債の解消を図る」。これが今回の合宿テーマでした。
今年9月のアプリリニューアル後もカカオタクシーとの連携やd払い対応などの新規開発が続いており、なかなか技術的負債を解消する時間をとれないでいました。また、チームメンバーの半分以上が今年入社ということもあり、改めて親睦を深める目的も兼ねて、合宿を行うことにしました。
前回の合宿で利用したおんやど恵を、今回も再度利用しました。理由としては、以下が挙げられます。(前回合宿のKPT->Keepから引用)
今回の合宿には、iOS, Android, サーバーサイド、SREユニット、そしてデザイナーが参加しました。
「普段は進められない技術的負債の解消を図る」というメインテーマのもと、各プラットフォームでやりたいことを洗い出し、「iOS年末大掃除チーム」「Android 昔のコードさよならチーム」「エラーメッセージ見直しチーム」などのテーマを持ったチームを作りました。
1日中開発に集中できるとはいえ、あくまで2泊3日という限られた時間。それぞれのチームで、合宿でやりきれそうなタスクの見積もりを事前に行っておきました。
都内から湯河原までは踊り子で約1時間。
11:00 おんやど恵に到着。
はしゃぐiOSメンバーたち。
すでに会議室を予約していたので、早速12時まで開発。各テーブルに電源タップが用意されていました。
お茶とお水、おしぼりを宿の方が用意してくださいました。
あっという間に1時間が経過し、午前の開発が終了。お昼は外部のお弁当を注文しておきました。
午後の部開始。13:00から18:30までひたすら開発。みるみるうちに差し入れのお菓子がなくなっていきます。 また、事前に宿に頼んでいたため、午後にはコーヒーも出てきました。
18:30から夕食。夕食後は、会議室にてレクリエーションを行いました。レクリエーションは、事前に受けていた性格診断をもとに自己紹介をするというもの。
この診断では、大きく4つ、細かくは16のタイプに性格が分類されます。今回のメンバーは「提唱者(外交官)」「仲介者(外交官)」が特に多く、18人中半分以上が「外交官」という結果でした。
一方で、ほぼみなエンジニアなのに「分析家」が1人もいないという面白い結果になりました。「分析家」タイプの方、募集中です!笑
レクリエーション後は、自由時間。おのおの温泉に入ったり、引き続き開発をおこなったり、カードゲームやスマブラで盛り上がったりしました。
2日目スタート!温泉は24時間利用可能なため、朝風呂をしてから朝食に来るメンバーもいました。時間の制約なく入り放題なのが素晴らしいです。
会議室は合宿期間中借りっぱなしにしていたため、PCなどを置いたままにできてとても楽でした。もちろん施錠できます。早朝に少し開発をしてから朝食に来るメンバーもいました。
ディスプレイはレンタルしていなかったため、iPadをディスプレイ代わりにしている人も。(有料でレンタル可能)
2日目のお昼は、外へ出かけました。18人の大所帯なので、3グループにわかれて昼食。宿の周辺に飲食店は多くないように見えましたが、少し歩けばいろいろとあるようです。
おんやど恵のむかいにある生そば越後屋。なすのあんかけうどん(写真右端)がとてもおいしそうでした。
がっつり系のお店も。(味の大西)
昼食後はふたたび、18:30まで開発。2日目午後にもなると、徐々に疲れがたまってきます。途中で足湯に入りに行くメンバーもいました。
集中して開発するメンバーたち。
社内だとMTGや割り込みの依頼などで作業が中断されがちですが、合宿期間中は負債解消というタスクに100%のリソースを割くことができました。ただし、全く問い合わせを受け付けないということはできないため、緊急対応については社内に残ったメンバーに依頼しておきました。合宿期間中も急ぎの対応は多く来ており、社内に窓口を残しておくのは必須だということがよくわかりました。
2日目の夕食は大広間でした。合宿感があっていいですね。1日目はすきやき、2日目は飛騨牛の朴葉焼きと、お品書きが異なっていたのもよかったです。そしてどれもおいしい!
夕食後は2日目もレクリエーション。この日はマシュマロチャレンジというゲームを行いました。パスタとテープ、ひもを使ってできるだけ高いタワーを作り、一番上にマシュマロを載せます。机からマシュマロまでの高さが一番高いチームが勝ちです。
62cmのチームが優勝!一般的には50cmが平均らしいです。欲張りすぎて計測直前にタワーが倒れ、0cmのチームが出てしまうなど、とても大盛り上がりで楽しい時間となりました。
その後、マシュマロチャレンジの考案者のTEDを紹介。チームビルディングについて学びました。
はやくも最終日。チェックアウトはお昼前ですが、会議室は18時まで予約していたため、3日目もたっぷり開発の時間を確保することができました。
朝の9時から16時の振り返りまで、ラストスパート!
16時からは1時間ほど振り返りの時間をとりました。
チームごとに、目標達成度を報告しました。この合宿のメインテーマは「普段は進められない技術的負債の解消を図る」。大掃除をテーマにしたチームでは、不要コードを1万行以上削除したり、古いAPIの64%を削除するなど、大きな成果が出ていました。
2泊3日の滞在で、21時間もの開発を行うことができました。時間外に開発しているメンバーも多くいたため、実際は+3,4時間 x 2晩長くできていたと思われます。2度のレクリエーションにより、新しいメンバーとの親睦を深めることもできました。
今回の合宿では、「技術的負債の解消」という普段後回しにされがちなものをテーマに据えました。事前に作業内容を洗い出しておくことで、当日はひたすら手を動かすことに集中できた実感があります。
また、各チームメンバーで同じタスクを共有しているため、プルリクエストのレビューにおけるコンテキストスイッチのコストも少なく、普段の2,3倍のスピードで開発→レビュー→デプロイのサイクルを回すことができました。
「JapanTaxi」アプリチームは、この1年で10人を超えるメンバーが加わり、体制なども大きく変わりました。今後も開発効率を改善するため、そしてチームとしての一体感を高めるためにも、定期的に合宿を行いたいです。
Mobility Technologies では共に日本のモビリティを進化させていくエンジニアを募集しています。話を聞いてみたいという方は、是非 募集ページ からご相談ください!