SMARTCAMP Engineer Blog

スマートキャンプ株式会社(SMARTCAMP Co., Ltd.)のエンジニアブログです。業務で取り入れた新しい技術や試行錯誤を知見として共有していきます。

プロダクトチーム合宿レポート - 2022

スマートキャンプでエンジニアをやっております永井です。
日毎に寒気加わる時節となりました、皆さまいかがお過ごしでしょうか。

今年も弊社プロダクトチームで開発合宿を開催しました。
そこで本記事では合宿の目的や様子をご紹介しようと思います。

今回の合宿も去年と同様に以下の感染症対策を充分に行い実施しました。

  • 参加者全員の抗原検査、検温
  • 一定時間ごとに換気

合宿の目的

弊社は2018年より毎年開発合宿をしており、「チームで企画からプロトタイプ開発まで一気通貫でやりきる経験」や「初めて一緒に業務をするメンバーがいることによる気づき」などとても価値がある施策だと考えています。

そこで今年の合宿の目的としては以下の3つを掲げました。

  • テックカンパニーを牽引していくエンジニア組織として、スマートキャンプの未来につながるアイディアを創造する
  • テックカンパニーを牽引していくエンジニア組織として、スマートキャンプの未来を支える技術力を向上させる
  • これから組織として大きくなっても壊れない頑丈な絆を形成する

テーマ

また、今回の合宿では 「スマートキャンプの新規事業としてテクノロジーで成長させられるプロダクトを創造する」 というテーマも掲げました。

これからテックカンパニーを目指すうえで、次の柱となるプロダクトを生み出すことは必要不可欠です。そしてただ生み出すだけではなく、労働集約型のサービスではない、開発主体でサービスをグロースさせていけるものである必要があると考えました。

よって開発するプロダクトは 「社会の非効率をなくす」「将来的にテクノロジーでサービス成長できる」 ことを重要視しました。

またアイディアも優先順位を以下のように指定しました。

  1. テクノロジー
  2. 新規性
  3. (マネタイズ)
    1. 全くマネタイズアイディアがないのはNG

会場

今年は千葉県香取市にある農園リゾート「THE FARM」にて行いました。日本初の牧場グランピング施設で、貸農園や野菜収穫体験農園がある宿泊施設です。

www.thefarm.jp

HPには「都会の喧騒を離れ〜」とありましたが、都会にはあまり無い自然豊かで広々とした場所で、いるだけでもリラックスできる良いところでした。

また施設内には温泉やサウナ、カフェなどが一緒になった「おふろcafé かりんの湯」もあり、非常に過ごしやすい場所でした。セルフロウリュができるサウナもあるのでサウナ好きにはたまりませんね!

www.thefarm.jp

天気は快晴で気温もちょうどよく、絶好の開発合宿日和となりました。
奥に見えるテントが宿泊したグランピング施設です。

やったこと

合宿は11/9〜11/11の2泊3日で行いました。

参加者は5人 × 4チームに分かれました。
「組織として大きくなっても壊れない頑丈な絆」を作るため、実務であまり一緒になったことが無く、また職能もバラバラな人達になるようにチーム編成をしました。

そして今回のテーマである「スマートキャンプの新規事業としてテクノロジーで成長させられるプロダクトを創造する」に沿った形で、各チームは新規サービスの企画からプロトタイプの開発まで行い、最終日にプレゼンを行いました。

事前準備

移動時間などもあるため3日間丸々使えるわけではなく、企画から始めるとそれだけで合宿が終わってしまいます。
なので1~2ヶ月前から各チームで案出しやプロトタイプはどこまで作るかなどを話し合い、空き時間で開発環境の構築も進めました。

準備の目安も運営で以下のように定義しました。もし開発合宿をお考えの方がいらっしゃいましたら参考になれば幸いです。

  1. 作りたいプロダクトのコアコンセプトが明確になっている
  2. 合宿中に作りたい機能群を具体化しておく
    1. 誰がどうやって使うものかをコアコンセプトから落としてくる
    2. 必要な技術についても考えておく
    3. 簡単なペーパープロトのようなものがあるとなおよし
  3. 技術的な懸念点がない、もしくは明瞭である
    1. 懸念点がないように調査しておく、または合宿中で懸念点を払拭する
      1. 合宿中で懸念点払拭する場合は、もしだめだった場合の代替案も考えておく
  4. エンジニアはリポジトリ作成やAWSの環境準備など、下準備をしておく
    1. どこまで事前にやるかは各班・各人に任せます
  5. 当日のタイムスケジュールを考えておく
    1. 進捗確認のタイミングや連携をとるタイミングなど
  6. メンバー全員が「どんなものを作るか」「だれが何をするか」「どこまでやるか」を共通認識取れた状態にしておく

中には上記の準備だけでは無くCI/CDを組んでいるチームもいて、力の入りようが伺えました。

合宿の様子

開発の進め方はチームによって多種多様で、話しながら実装するチームもいれば打ち合わせをして各自実装をしているチームもいました。

疲れたら雑談でもしながらご飯を食べます。外だと開放感があって良いですね。

近くでは焚き火をやっていたので火を見ながら開発もできました。ちょっとエモい。

夜はBBQをしたり…。

焚き火をやっていたのでマシュマロを焼いたり…。

気分がノッてくると夜もガリガリと開発を進めました。

2日目は開発の合間に皆で農業体験をしました!
天気が良くてよかったです(ちょっと暑かった……)

(農業体験あとで切り替えが大変だったのはさておき)その後も実装を続けました。と同時に発表用のスライドづくりも行い、どう発表するかも話し合います。

成果発表

3日目の最後には各チームでプロダクトについて発表しました。

発表内容は以下の内容で行いました。

  • プレゼン
    • Vision, Mission
    • 優位な機能3選
    • リーンキャンバス
    • グロースアイディア、展望
  • ソフトウェアプロトタイプ
    • コンセプトがわかりやすいもの
    • 技術的に重要な要素を再現したもの、優位性を再現したもの

JSフレームワークのSvelteを使ってフロントエンド開発をしたり、機械学習など日常の業務ではあまり触れていない技術分野にもチャレンジしつつ開発した新しいサービスを発表し合いました。

実際に動くものを見せられるのは開発合宿ならではですね。

最後に皆で「技術的にチャレンジをしているかどうか」「スマートキャンプで実現できそうか」などの項目で投票し合い、結果を元に授賞式を行い合宿は終了しました!

具体的な内容まではお伝えできませんが、優勝したプロダクトを始めこの合宿で出たアイディアが未来のスマートキャンプを支える礎になれば良いなと思います。

合宿を終えて

目的でも述べた「チームで企画からプロトタイプ開発まで一気通貫でやりきる経験」ができた合宿だったと思います。

スキル面

企画もそうですが、ゼロからのアプリケーション開発やインフラの構築など普段ではあまり触れないことを経験する良い機会になりました。

また機械学習もそうですが、「普段はRubyでの開発なのでGolangで作ってみる…」など技術面での新たなチャレンジも通じて技術力の向上の良い機会にもなりました。

エンジニア以外のメンバーも開発したり、普段デザインを考えることが少ないメンバーもデザインを考えてみたりと職能の壁を超えた経験を積むことができました。

コミュニケーション

最近は人数も増え、テレワークも相まってあまり話さないメンバーとも直接コミュニケーションを取る良い機会となりました。また今回の目標にもある「これから組織として大きくなっても壊れない頑丈な絆を形成する」こともできたと思える合宿となりました。

この経験を日々の業務に活かして頑張っていきたいと思います。