MoTLab -GO Inc. Engineering Blog-MoTLab -GO Inc. Engineering Blog-

「JapanTaxi」アプリチームで開発合宿を行いました@おんやど恵

行灯LaboEngineerLife
December 28, 2018


💁🏻
※本記事は Mobility Technologies の前身である JapanTaxi 時代に公開していたもので、記事中での会社やサービスに関する記述は公開当時のものです。
An image from Notion

開発合宿の目的

前回の合宿はアプリチーム内の1プロジェクトのみで行いましたが、今回はアプリチーム全体での合宿となりました。人数も7人から18人と大所帯になりました。

普段は進められない技術的負債の解消を図る」。これが今回の合宿テーマでした。

今年9月のアプリリニューアル後もカカオタクシーとの連携d払い対応などの新規開発が続いており、なかなか技術的負債を解消する時間をとれないでいました。また、チームメンバーの半分以上が今年入社ということもあり、改めて親睦を深める目的も兼ねて、合宿を行うことにしました。

おんやど恵をまた利用した理由

前回の合宿で利用したおんやど恵を、今回も再度利用しました。理由としては、以下が挙げられます。(前回合宿のKPT->Keepから引用)

  • 充実したWifi環境
    • ロビー、会議室、客室すべてでWifiが使えた
    • 速度も出ていて安定していた(上り/下りともに70Mbpsくらい)
  • 会議室の設備がよかった
    • ホワイトボードがあった
    • お茶・水が用意されていた
    • 会議室にこもれる環境になっていた
    • 静か
  • ご飯がおいしかった
    • 朝・晩ごはんが出る
  • 24時間大浴場が利用できる
    • 時間の制約が少ないのがよい
  • 東京から約1時間の好アクセス

合宿準備

今回の合宿には、iOS, Android, サーバーサイド、SREユニット、そしてデザイナーが参加しました。

普段は進められない技術的負債の解消を図る」というメインテーマのもと、各プラットフォームでやりたいことを洗い出し、「iOS年末大掃除チーム」「Android 昔のコードさよならチーム」「エラーメッセージ見直しチーム」などのテーマを持ったチームを作りました。

1日中開発に集中できるとはいえ、あくまで2泊3日という限られた時間。それぞれのチームで、合宿でやりきれそうなタスクの見積もりを事前に行っておきました。

開発合宿 〜1日目〜

都内から湯河原までは踊り子で約1時間。

An image from Notion

11:00 おんやど恵に到着。

An image from Notion

はしゃぐiOSメンバーたち。

An image from Notion

すでに会議室を予約していたので、早速12時まで開発。各テーブルに電源タップが用意されていました。

An image from Notion

お茶とお水、おしぼりを宿の方が用意してくださいました。

An image from Notion

あっという間に1時間が経過し、午前の開発が終了。お昼は外部のお弁当を注文しておきました。

An image from Notion

午後の部開始。13:00から18:30までひたすら開発。みるみるうちに差し入れのお菓子がなくなっていきます。 また、事前に宿に頼んでいたため、午後にはコーヒーも出てきました。

An image from Notion

18:30から夕食。夕食後は、会議室にてレクリエーションを行いました。レクリエーションは、事前に受けていた性格診断をもとに自己紹介をするというもの。

この診断では、大きく4つ、細かくは16のタイプに性格が分類されます。今回のメンバーは「提唱者(外交官)」「仲介者(外交官)」が特に多く、18人中半分以上が「外交官」という結果でした。

一方で、ほぼみなエンジニアなのに「分析家」が1人もいないという面白い結果になりました。「分析家」タイプの方、募集中です!笑

An image from Notion

レクリエーション後は、自由時間。おのおの温泉に入ったり、引き続き開発をおこなったり、カードゲームやスマブラで盛り上がったりしました。

An image from Notion

開発合宿 〜2日目〜

2日目スタート!温泉は24時間利用可能なため、朝風呂をしてから朝食に来るメンバーもいました。時間の制約なく入り放題なのが素晴らしいです。

An image from Notion

会議室は合宿期間中借りっぱなしにしていたため、PCなどを置いたままにできてとても楽でした。もちろん施錠できます。早朝に少し開発をしてから朝食に来るメンバーもいました。

ディスプレイはレンタルしていなかったため、iPadをディスプレイ代わりにしている人も。(有料でレンタル可能)

An image from Notion

2日目のお昼は、外へ出かけました。18人の大所帯なので、3グループにわかれて昼食。宿の周辺に飲食店は多くないように見えましたが、少し歩けばいろいろとあるようです。

おんやど恵のむかいにある生そば越後屋。なすのあんかけうどん(写真右端)がとてもおいしそうでした。

An image from Notion

がっつり系のお店も。(味の大西)

An image from Notion

昼食後はふたたび、18:30まで開発。2日目午後にもなると、徐々に疲れがたまってきます。途中で足湯に入りに行くメンバーもいました。

An image from Notion

集中して開発するメンバーたち。

An image from Notion

社内だとMTGや割り込みの依頼などで作業が中断されがちですが、合宿期間中は負債解消というタスクに100%のリソースを割くことができました。ただし、全く問い合わせを受け付けないということはできないため、緊急対応については社内に残ったメンバーに依頼しておきました。合宿期間中も急ぎの対応は多く来ており、社内に窓口を残しておくのは必須だということがよくわかりました。

2日目の夕食は大広間でした。合宿感があっていいですね。1日目はすきやき、2日目は飛騨牛の朴葉焼きと、お品書きが異なっていたのもよかったです。そしてどれもおいしい!

An image from NotionAn image from Notion

夕食後は2日目もレクリエーション。この日はマシュマロチャレンジというゲームを行いました。パスタとテープ、ひもを使ってできるだけ高いタワーを作り、一番上にマシュマロを載せます。机からマシュマロまでの高さが一番高いチームが勝ちです。

An image from Notion

62cmのチームが優勝!一般的には50cmが平均らしいです。欲張りすぎて計測直前にタワーが倒れ、0cmのチームが出てしまうなど、とても大盛り上がりで楽しい時間となりました。

An image from Notion

その後、マシュマロチャレンジの考案者のTEDを紹介。チームビルディングについて学びました。

An image from Notion

開発合宿 〜3日目〜

はやくも最終日。チェックアウトはお昼前ですが、会議室は18時まで予約していたため、3日目もたっぷり開発の時間を確保することができました。

朝の9時から16時の振り返りまで、ラストスパート!

An image from Notion

16時からは1時間ほど振り返りの時間をとりました。

An image from Notion

チームごとに、目標達成度を報告しました。この合宿のメインテーマは「普段は進められない技術的負債の解消を図る」。大掃除をテーマにしたチームでは、不要コードを1万行以上削除したり、古いAPIの64%を削除するなど、大きな成果が出ていました。

まとめ

2泊3日の滞在で、21時間もの開発を行うことができました。時間外に開発しているメンバーも多くいたため、実際は+3,4時間 x 2晩長くできていたと思われます。2度のレクリエーションにより、新しいメンバーとの親睦を深めることもできました。

今回の合宿では、「技術的負債の解消」という普段後回しにされがちなものをテーマに据えました。事前に作業内容を洗い出しておくことで、当日はひたすら手を動かすことに集中できた実感があります。

また、各チームメンバーで同じタスクを共有しているため、プルリクエストのレビューにおけるコンテキストスイッチのコストも少なく、普段の2,3倍のスピードで開発→レビュー→デプロイのサイクルを回すことができました

「JapanTaxi」アプリチームは、この1年で10人を超えるメンバーが加わり、体制なども大きく変わりました。今後も開発効率を改善するため、そしてチームとしての一体感を高めるためにも、定期的に合宿を行いたいです。

An image from Notion


💁🏻
※本記事は Mobility Technologies の前身である JapanTaxi 時代に公開していたもので、記事中での会社やサービスに関する記述は公開当時のものです。

Mobility Technologies では共に日本のモビリティを進化させていくエンジニアを募集しています。話を聞いてみたいという方は、是非 募集ページ からご相談ください!