こんにちは、株式会社マッチングエージェントのサーバーサイドエンジニアの島谷です。
マッチングエージェントはサイバーエージェントのグループ会社で、「タップル誕生」という恋活アプリを運営している設立3年目の会社です。
先日このマッチングエージェントのメンバーで伊東温泉にて開発合宿を行ってきました。今回の合宿ではプロジェクトが抱えていた様々な技術的負債を返済すべく、開発メンバー全員で合宿に赴きました。合宿自体は非常に良い結果となったので、その経緯をまとめたいと思います!
開発合宿の経緯
今回の開発合宿のゴールですが、「各技術領域の優先度が高い技術的負債を撲滅する」という目標を立てました。
マッチングエージェントが運用するタップル誕生ですが、運用開始から既に2年以上たっています。この2年の間に徐々に技術的負債が溜まってきており、開発効率や品質に影響してきているけれど日々の業務に埋もれてなかなか対応できず、もどかしい思いをしていました。特に大きな改善はまとまった時間がないと着手しづらく、どうしても後回しになりがちに。
そこで今回合宿を行い、アプリ(android, ios)、webフロント、サーバー、インフラ、それぞれの領域が抱えている技術的負債を撲滅する(撲滅への足がかりを作る)こととなりました。
ENERGYと合宿地について
マッチングエージェントの親会社であるサイバーエージェントでは最近新たにENERGYというエンジニアを支援するための制度ができました。
この中にエンジニアリングキャンプという、合宿の候補地リストアップ、宿泊先・移動手段の手配などを行ってくれる開発合宿の支援する制度があり、今回は候補地選びに利用させてもらいました。
今回はこのリストを参考に山喜旅館という静岡県伊東市にある旅館にお邪魔することにしました。
この山喜旅館ですが、電源ケーブルやプロジェクターなど開発合宿を実施するには必要なものを旅館で借りられますし、合宿場の利用時間も柔軟に対応してくださるのでとても良かったです。旅館の皆さんも合宿がスムーズにできるように配慮してくださったりと非常に作業がやりやすかったですね。合宿先としては大変おすすめです!
事前準備
せっかく合宿に来たのにダラダラ作業してしまい、成果をあげることができなかったということを避けるため、事前準備はしっかり行っておきました。
上記は実際に事前準備としてまとめたものの一部です。具体的なスケジュールなどはもちろん、「各セクションでやるべきタスクとそのゴール」の洗い出しやそのタスクに取り掛かるための環境作りなどを準備し、当日はその作業のみに集中できるようにしておきました。こうした準備をどれだけしっかりやれるかで当日の作業効率がかなり変わってくると思います。
開発合宿の様子
出発(9:00)
当日朝、全員が品川駅に集合して出発しました。
あれだけ準備をしっかり行っていたのに、なぜだか集合場所が半々に別れてしまい、全員が合流するまで少々時間がかかってしまいました。品川駅恐るべし。
新幹線に乗車すると皆おしゃべりも早々に切り上げ、早速作業を開始していました。
改めてみると少々異様な光景ですね。電車での移動中に、今回の合宿での初commitが行われていました。皆の前のめり具合がすごい。合宿は移動中から始まっている。
宿到着。準備(11:00)
新幹線とローカル線を乗り継ぎ、宿に到着です。
山喜旅館の外観。古き良き日本旅館という感じで落ち着いて開発できる感じです。
到着後すぐに作業の準備を開始です。会場のセッティングは自分たちで。会場が結構広いですが、電源延長ケーブルなどは旅館で借りることができます。
設営後はこんな感じ。各チームごとに机をくっつけて後はバラバラ。この自由感が良いですね。
昼ご飯(12:00)
準備が完了したらまずは腹ごなし。
近くの商店街に出向き、お昼ごはんをいただきました。
伊東は海の近くだけあって海鮮がとっても美味しいです!
お店は楽味家まるげんに行きました。色々な種類の海鮮丼があり、皆どれを注文するか悩んでいました。
開発開始!(13:00)
いよいよ作業開始です!
事前準備をしっかりと行っていたので、開始直後から皆迷いなく作業に取り掛かっています。キーボードを叩く音が部屋に響いていました。
パイプ椅子に疲れたメンバーはスタンディングで作業していたりと気ままに開発。パイプ椅子に長時間座っていると、普段仕事場ではどれだけ良い環境で作業させてもらってるのかに気が付かされますね。宿の方に言えば座布団を借りることができるので、それで凌いでいる人もいました。
途中渋谷にいるマッチングエージェントの皆から応援のビデオチャットが来たりしました。
すこし疲れてきたなと感じたタイミングでこの応援。マッチングエージェントの女性陣の女子力を感じますね。
集中していた皆もこれにはニッコリ:) 疲れも吹き飛ぶ!
ダンディーおじさまたちも癒やされてますね。
応援メッセージも貰って気合を入れ直し、夕食までラストスパートです。
夕食(19:00)
待ちに待った夕食!
品目たくさんの会席料理!旅館の料理も大満足です。
この後も作業を続けるのでまだお酒は禁止。ぐっと我慢。。。
開発再開(20:00)
お腹も膨れて開発再開。その日の作業目標を達成するべく本日のラストスパート!
途中渋谷に残っているメンバーから差し入れも頂きました!
突然の差し入れだったので驚きました。こんなにエンジニア以外のメンバーからも応援される開発合宿は他にあるのだろうか?!本当に感謝ですね!
さて22時に一旦切り上げる予定だったのですが、キリが悪いのか皆その後も作業を続行。ここからはお酒も解禁したので、軽くお酒を飲みつつ作業を続けたり、雑談に花を咲かせたりとゆるりとしたムードへ。好きなタイミングでお風呂に入ったりと、最終的には2:00頃にお開きとなりました。山喜旅館の温泉は24時間いつでも入れるので、深夜まで作業に没頭してしまっても安心です!
作業終了して談笑中の皆。やりきった顔をしています。
部屋に戻ってからも新卒のユザワ君の質問に熱心に答える先輩エンジニア。アツい!
二日目(7:00)
最終日開始!
午後の成果発表に向けて、いよいよ作業も大詰めです。
旅館の朝ごはんを頂いた後は、お昼までガッツリ開発。
合宿最後のお昼はうなぎのまといというお店に行きました。
とても美味しくてラストスパートへの弾みがつきます。
成果発表準備(16:15)
いよいよ成果発表の時間です。
社長がスライドから見守る中、皆合宿での成果をまとめてます。
成果発表(16:30)
成果発表では各チーム毎に5分ほどで今回の合宿の成果について発表しました。
swift対応やテストコードの充実、サービス監視の整理やmackerelの導入など、今回の合宿で改善されたことはたくさんあり、今後のサービス開発がやりやすくなったと思います!みんな達成感に満ちた表情をしてました。
最後はエンジニアリーダーの河野による締めの挨拶で合宿は終了!お疲れ様でした!
まとめ
今回の開発合宿で以下のような気付きや学びが得られました。
* 事前準備(テーマ決め、タスクと工数洗い出し、美味しい店の調査等)は超重要!
* 技術的負債返却のような普段の業務では進めづらい開発との相性が良かった
* 技術的負債に向き合うきっかけを作ることで、メンバーの負債への意識が向上する
* エンジニア以外のメンバーを巻き込めるとさらに良い合宿になる(かも)
最後に
いかがでしたでしょうか。
各チーム毎にやっていた作業はバラバラですが、タップル誕生をより良いサービスにしたいという思いは同じで、作業に没頭していたエンジニア全員の一枚岩感をしっかりと感じることができました。
事前準備や調整など手間もかかりますが、良いことがたくさんありますので、ぜひ皆さんも機会があれば開発合宿に行ってみてください!本当にオススメです!
以上、島谷でした!