Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

【R&D DevOps通信】チーム開発合宿 in 徳島県神山町

技術本部 研究開発部 Architectグループでチームリーダーをやっている鷹箸です。
3/29(水)〜3/31(金)に開発合宿へ行ってきました!
チームとしては初めての開発合宿になります。

なお、本記事は【R&D DevOps通信】という連載記事のひとつです。

開発合宿の概要

目的

今回の合宿の目的は大きく2点です。

  • 優先度が上がらず後回しになっているプロジェクトにチームメンバー全員で取り組み、短期間で集中して片付ける*1
  • チームメンバー全員がオフラインで集まり、親睦を深める

ここ数年はリモートワークが中心となっていたことや、チームメンバーも東京と大阪にいるためなかなか全員がオフラインで顔を合わせる機会もありませんでした。

また、チームは4名で構成されていますが私を除く3名はコロナ禍に入社された方であり、チームとしてオフラインで顔を合わせながら開発を行なった経験はありません。

普段からコミュニケーションはオンラインで行っているため、オンラインだからといって不安や不便を感じたことはありませんが、全員がオフラインで集まっていることはとても新鮮で定期的に開催をしたいなという気持ちになりました。

日程/スケジュール

2023/03/29(水) ~ 2023/03/31(金) の二泊三日*2

3/29 -12:00 移動
12:00-13:00 お昼ごはん
13:00-13:30 チェックイン(チームビルディング)
13:30-18:30 開発
18:30- ご飯や風呂、自由時間
3/30 9:30-12:00 開発
12:00-13:00 お昼ごはん
13:00-18:30 開発
18:30- ご飯や風呂、自由時間
3/31 9:30-13:00 開発
13:00-14:00 お昼ごはん
14:00-15:00 神山まるごと高専見学
15:00-16:30 チェックアウト(チームビルディング)
16:30- 移動

場所

徳島県名西郡神山町にあるサテライト拠点の神山ラボ


1日目

移動(-12:00)

東京と大阪から現地集合です。東京組は飛行機、大阪組は高速バスでの移動となりました。この日は雲ひとつない晴れ空で飛行機から陸の様子が綺麗に見えました。

お昼ごはん(12:00-13:00)

ラボへの到着はお昼となったため、まずは腹ごしらえ。ラボ近くのうどん屋に行きました。


tabelog.com

チェックイン(13:00-13:30)

開発に入る前にチームビルディングでチェックインです。

合宿を実施することが決まってからは、開発内容を決めたり、スケジュールの調整だったり、合宿を円滑に進めるために合宿前に行なっておくべきタスクの消化であったり、実は合宿前から合宿に向けて忙しい日々を送っていました。

ただ一点、メンバーにはチームビルディングを行うことは一切話しておらず、現地でさぁチームビルディングしましょうか。といった具合で始まりました。

今回の合宿は開発がメインとなるため、チームビルディング自体はあくまでもサブです。短時間で行えるチームビルディングを探していたところ、「ヘリウムリング」というワークを見つけました。

内容を簡単に説明すると、フラフープを囲うように全員が立ち、フラフープに人差し指を乗せて支えながら指が離れないように地面まで下ろすワークです。 ルールは、全員の指がフラフープから離れないようにするだけです。もし一人でもフラフープから指が離れてしまった場合は最初の位置からやり直しです。

今回は合宿初日と最終日にこのワークを行なっており、地面に下ろすまでにどれぐらいの時間がかかったかを見て、合宿によりチームワークがより高まったのかの判断に使おうと考えました。


制限時間は5分としているため、タイマーを使ってカウントダウンしています。
初回は約90秒でクリアしました。想定より早いクリアとなったため、最終日はどうなるのかどきどきでした。

開発(13:30-18:30)

さて、ここからが開発合宿の本番です。

合宿前に、今回の合宿で達成すべきタスクを洗い出し、プランニングを実施し、ストーリーポイントの見積りが完了していますが、この3日間で終わらせなければならないストーリーポイントは20です。

普段、弊チームは1週間でスプリントを実施していますが、そのスプリントに入れるストーリーポイントが20です。

そのため、今回の合宿ではいつもより半分の期間でタスクを消化していかなければならない計算になります。燃えますね!

初日は6ポイントほど消化して終えました。半日で6ポイントでしたので上々な立ち上がりと言えるのではないでしょうか。

ご飯や風呂、自由時間(18:30-)

初日の開発を終え、お風呂は近くの神山温泉で。と事前に決めていたのですが、残念ながらタイミングが悪く臨時休業でした。この日はおとなしくラボのお風呂に入ることにしました。


kamiyama-spa.com

夕飯は近くの焼肉屋で精をつけて2日目に備えました。


tabelog.com

2日目

開発(9:30-12:00)

2日目の開発を始める前に、1日目に出したプルリクエストを一気に片付けます。わいわい言い合いながら1時間もかからずにすべてのプルリクエストが閉じました。
こういった動き方ができるのは、全員が目の前にいるからこその合宿ならではですね。

午前中の開発が完了するころには、積んでいたタスクも7-8割は着手済みの状態になっていたため、合宿開始前に抱いていた不安はこの頃から解消されていたように思います。

お昼ごはん(12:00-13:00)


tabelog.com

開発(13:00-18:30)

これまで順調だった開発ですが、後半になってタスクに漏れが見つかりました。

前述の通り、合宿に向けては事前に準備を行なっていました。今回、しっかり作り切ることを目標にしていたため、本番環境に対しては抜け漏れがないように念入りに準備を行なっていたのですが、ステージング環境の考慮が少々おろそかになってしまっており、ステージング環境のあれこれが一部タスクに書き出されておらず、追加タスクが発生することになりました。

少々焦りましたが、これまでオンスケで開発が進んでいたため、多少のタスクが差し込まれたところで問題なくリカバリでき、ステージング環境にサービスを構築するところまでを完了させて2日目の開発が終了しました。残作業はステージング検証と本番構築、本番検証、リリース作業です。

ご飯や風呂、自由時間(18:30-)

前日は神山温泉が臨時休業でラボのお風呂で済ますことになったため、今日は温泉を。と意気込んでいましたが、修繕工事が必要とのことで本日も神山温泉は休業でした。しかし、どうしても温泉にありつきたく、付近の温泉を調査し、天然温泉えびすの湯へ行くこととなりました。

お食事処も施設内にあるため、ご飯を食べて温泉に浸かって少しゆっくりしようと思っていました。しかし、到着してみるとお食事処は「都合によりしばらくの間、毎週木曜日をお休みにさせていただきます」の張り紙。今回の合宿はこんなのばかりなのでしょうか...。


www.ebisunoyu.com

温泉からラボに戻ってきた後はメンバーが持参した「プログラミング言語かるた」をプレイして夜を明かしました(日が変わる前には寝ました)。


yamasy.info

3日目

開発(9:30-13:00)

3日目はステージング環境での検証作業から始まります。ここからは全員でひとつの画面を見て確認していきます。

問題なく動作確認ができま...と言いたいところでしたが、そんな簡単にはいかず、試行錯誤が始まります。あーだこーだしているうちに12時を回りました。いつもならここでお昼に行きたいところですが、もう少しのところまで来ていたため全員合意の元、お昼には行かず最後まで進めることにしました。

ステージングの検証が無事に完了すると、その後の本番構築/検証は問題なく完了しました。無事に最後までやりきった達成感で満たされつつ、お腹が減ったのでお昼ごはんを食べに行きます。お疲れ様でした!!!!

お昼ごはん(13:00-14:00)


tabelog.com

神山まるごと高専見学(14:00-15:00)

今回、今年度から開校する神山まるごと高専*3にもお邪魔しました。
本当は2日目に行く予定だったのですが、想定外のタスク追加があったため訪れる余裕がなく、3日目に延期しました。

チェックアウト(15:00-16:30)

チェックイン時に行なったヘリウムリングでは約90秒でのクリアとなりましたが、、、なんと、チェックアウト時は約30秒でのクリアとなりました。
これが3日間同じ時間を過ごした効果なのでしょうか。そういうことにしておきましょう。

移動(16:30-)

以上で全日程を終えて、神山町を後にします。来たときと同様に、現地解散となり東京組は飛行機、大阪組は高速バスでそれぞれ自宅へ帰ります。

おわりに

現チームでの開発合宿は初めての試みでした。ストーリーポイントも多めに積んでいたため、本当に終わるのか合宿前は不安でしたが無事に目標を達成して、終えることができました。短時間で実施可能なチームビルディング「ヘリウムリング」の結果も良好でした。今後もチームマネジメントに尽力し、チームの働きやすさや生産性の向上に取り組んでいきます。

*1:開発内容:開発者の手元で手動実行して運用していたバッチをアプリケーション基盤に移行した後、GUIからパイプライン実行できるようにしました

*2:時間はざっくりです

*3:弊社の代表取締役社長である寺田が理事長を務めています

© Sansan, Inc.