10Xの石田(@wapa5pow)です。10Xでは全社でオフサイトを3ヶ月に一回開いています。 全社オフサイトというのはこんな感じで会社のメンバー全員が集まりワイワイして仲良くなってより事業を伸ばしましょうというイベントです。 今回、全社オフサイトとは別にStailerを開発する(コードを書く)メンバーを対象とした開発オフサイトを開きました。
この記事ではなぜ今回新たに開発オフサイトを始めたのかと、どのように準備したかを紹介します。
開発オフサイトを行う事によって解決したかったこと
10Xの作っているチェーンストアECの垂直立ち上げプラットフォームであるStailerの事業が順調に伸びていることもあり開発メンバーも増えています。
上図にあるようにソフトウェアエンジニアは20名ほどいます。創業当時は数名で机を向き合わせて開発していましたがコロナ禍ということもありリモートで開発しています。なかなか直接話せる機会がない中で開発オフサイトを実施することにより以下の目的を立てました。
開発メンバー同士がお互い相談し合ったり疑問を共有しあえる環境だとStailerのような複雑性が高いプロダクトの開発がうまくいきやすい。現在メンバーが増えてきて部署をまたいだ交流がないので横のつながりができにくくこれからもメンバーが増えることを考えると横の繋がりを定期的に保つ仕組みが必要。全体オフサイトとは別に開発オフサイトで以下を達成する。
- 普段業務で関わらないメンバーとの親交を深める
- 開発チームとしてStailerの未来をイメージする
実際に開発オフサイトを行うにあたり協力者を募集したらメンバーが集まってくれたので、コンテンツごとに担当を分けて作成することにしました。
- チームビルディング: (@futabooo担当)
- トークタイム (LT): (@yamarkz担当)
- 未来を考える会: (@operandoOS担当)
チームビルディングで仲良くなって、トークタイムでいままでの成果を共有し、未来を考える会でStailerをより良くする事を考えるという流れを意識しました。
コンテンツ紹介
どのようなコンテンツかは各自担当したメンバーに紹介してもらいます。
チームビルディング (@futabooo担当)
オフサイトコンテンツ1つ目は「チームビルディング」ということで、紙ヒコーキワークショップをやりました!
紙ヒコーキワークショップとは、いくつかのルールのもとで工夫をしながらチーム対抗の紙ヒコーキを飛ばすゲームです。Scrumの基本の流れを体験できるので、研修などでよく行われます。読者の中にも経験したことがある方もいるかも知れません。
全体の流れとしては下記を1セットとして4セットやります。
- 設計・計画:1分
- どうやって作るかを設計する
- いくつ飛ばせるか見積りする
- 実装・テスト:3分
- ルールのもと紙ヒコーキを作って飛ばす
- ふりかえり:2分
- やってみてわかったことや次にやる時に改善することを話す
ルールは下記です。
- A4用紙の1/4サイズの紙から1機を作ります
- 紙ヒコーキの先端は尖っていてはいけません
- 出来上がった紙ヒコーキは飛行場で試験します
- 飛行場で飛ばすのに成功した紙ヒコーキの数がスコアです
- 3m以上飛んだら成功です
- 1機につき1度しか飛ばせません
- 1人で連続して折ってはいけません、一度折ったら他の人に渡します
- スプリント終了時の仕掛品はすべて破棄しなければなりません
4セットやった結果がこちらです。
1セット目(SP1)はどこのチームも実績が0となり、誰もが知ってる紙ヒコーキづくりと言っても最初の見積りの達成確率が低いことが如実にあらわれました。
3セット目(SP3)の実績がどのチームも大幅に向上していますが、これは3セット目だけ3m以上飛んだら成功以外のルールのうち1つを無くすことができるようにした時です。制約(ボトルネック)を取り除くとスピードが上がることを体験してもらいました。
4セット終わった後には床に紙ヒコーキが散乱するほど白熱したワークショップとなりました。
ワークショップの最後にはまとめとしてよい(強い)チームとは何か、なんのためにそんなチームになるのかをメッセージとして残して終わりました。
トークタイム (LT) (@yamarkz担当)
オフサイトコンテンツ2つ目は「トークタイム〜〜 🧑🏫」という名目で、メンバーから6本のLTを話してもらいました!
6本のLTは事前に"聞きたい!"という投票を行なって、チーム内で関心の高いトピックと、リードメンバーの独断と偏見 (熱意が高い or 面白そうなテーマ) で選びました。
LTとして8~10分という時間で話してもらう予定でしたが、どのトークも非常にレベルが高く、今度はもう少し長めに時間を取りたいな〜と思っています。そんな素敵なトーク内容で使われた資料を公開します。(※ 一部社内に閉じた話題でもあるため抜粋)
1. マスターインポータを開発する
ishidaさん(@wapa5pow)によるStailerのマスターインポータの話。
膨大な在庫データをいかに効率的に取り込めるように開発するかという切り口で、マスターデータ運用を楽にする工夫を話してもらいました。
データ規模が大きく、そして要件が複雑になればなるほど開発難易度が10xする領域なので、具体的な運用の工夫話が面白かったです。
2. パフォーマンス改善 事始め
kitakさん(@kitak)には直近取り組んでもらっていたパフォーマンス改善の話。
直近Stailerで成果が出た例を取り上げて、何を行なったのか、取り組みをどう進めたのかを話してもらいました。
仮説に対する確からしさを検証から明らかになった事実から証明していく過程が、10Xらしさそのものだなと思いました。
3. 検索改善の弟です.検索改善のすべてをお話しします
metalunkさん(@metalunk)からは検索改善における検索技術の話。
タイトル通りに「すべて」をLTで話すのは無理なのでw 検索とは?という話をしてもらいました。
とにかく話がわかりやすかった。難しそうな内容を平穏に話すのがとても上手い。(※ 本人にも直接感想を伝えてます)
加えて、Good Morning Talkという社内のトーク会でもより詳細検索の話をしてもらいました。
今朝,社内向けに検索の勉強会を実施しました https://t.co/cEOYtSb8wL pic.twitter.com/4Z9iihjave
— Ryusuke Chiba (@metalunk) 2022年7月27日
4. 仕様書を10本以上書いて気づいたこと
オフサイトメンバーを代表(@yamarkz)して、直近仕様書を整備した中で気づいたことを振り返った話。
直近は開発で要求された仕様書を17本ほど書き、そこで得られた気づきを振り返って紹介しました。
仕様書システムはまだまだ模索中ですが、チームとしてより良い開発プロセスにしていけたらと思っています。
5. 最近入社してわかったこと、よかったこと、わるかったこと
teshiさん(@teshi)からは最近入社されたメンバーを代表した話。
率直に思ったことや取り組んだことを話してもらいました。
アオダイのアイコンですが座右の名は「お客様に価値を届けるオアダイ」で、自分も何か〇〇 or Die...というテキストを持ちたい。
6. Reliability を各チームが自律的にコントロールできる Platform of Platform 像と組織体制
babarotさん(@b4b4r07)にはTeamとReliabilityについての話。
チームを起点として組織とプロダクトへの取り組みを今後どうしていきたいのかを話してもらいました。
「自分達はこうあるべき」が明瞭に示されていて非常にワクワクしました。
以上がトークタイムでのコンテンツでした!!
皆機会が来るとなれば、気合を入れて準備してくれて非常に良い時間でした。感謝 ✨
未来を考える会 (@operandoOS担当)
オフサイトコンテンツ3つ目は「未来を考える会」というタイトルで、事前に決めたテーマについてディスカッションするコンテンツにしました。
OSTのグラウンド・ルールを利用したディスカッション設計
ディスカッションのテーマ決めや当日の進め方はOST(オープン・スペース・テクノロジー)というワークショップ手法で利用されるグラウンド・ルールを一部取り入れ、メンバーが主体的にディスカッションできる場作りを心がけました。一例としてテーマ間の移動が自由なグラウンド・ルールを取り入れることで、より自身が貢献できるテーマに参加する働きかけを行いました。
OSTについては「人と組織の「アイデア実行力」を高める ― OST(オープン・スペース・テクノロジー)実践ガイド」という本がとても参考になったので、気になる方は読んでみてください。
オフサイトでディスカッションしたテーマ
当日ディスカッションするテーマの選定は、事前に各自が議論したいことをNotoinに記載してもらい、メンバーの「議論したい!」投票数が多いテーマから選びました。
オフサイト当日 未来を考える会で実際にディスカッションされたテーマは以下になります。
- ドキュメントから実装までをスムーズな流れでいけるようにする方法を考える
- 仕様書システムの未来を考える
- Stailerのセキュリティ機能の未来を考える
- システム全体に対してどういう構造でチームがオーナーシップを持って開発・運用をするか
ちなみに、「テーマ同士をマージしてディスカッションしてもOK」というグラウンド・ルールを作ったことで、「ドキュメントから実装までをスムーズな流れでいけるようにする方法を考える」と「仕様書システムの未来を考える」は一緒のグループでディスカッションすることになりました。
ディスカッションは3つのグループに分かれてホワイトボードや付箋などを使用しながら行われました。ディスカッション時間は45分と短くなってしまいましたが、各テーマとてもいい議論ができました。
ディスカッションが終わったら最後 各テーマごとに議論したことのまとめ + Next Actionをまとめてもらいました。オフサイトだけでディスカッションが止まってしまうともったいないので「まとめたものを利用して継続的にディスカッションを行ったり、実際の業務に活かしてください!」という締めの言葉で未来を考える会は終了しました。
やってみて
再度石田(@wapa5pow)です。
メンバーと久しぶりに一緒にわいわいできてやって非常によかったと感じています。
トークタイム (LT) や未来を考える会はコンテンツが充実しすぎていて、もっとゆっくり聞きたいとの意見がありました。別途切り出して開発共有会として8月から開始する予定です。そこでは未来の組織のあり方、QAのあり方、開発のあり方など未来はこうあるべきだなどの未来図の話から、機能の実装の話などゆったりコンテンツが聞ける会にできたらなと思っています。
これから開発オフサイト始めるために
以下に今回学んだ、これから開発オフサイトを始めたい人のための情報を載せておきます。
- 会社外でオフサイトをやる場合は場所を確保するためinstabaseを利用しました。
- 事前の準備時間と、終了時間がオーバーするかもしれないので前後余裕をもって場所を予約したほうがいいです。
- オフサイト場所にお菓子やお水をもっていきました。(メンバーからはちょっと高いお菓子があるとテンションがあがるとの報告がありました)。ゴミは持ち帰る必要があったので飲料は各自もってきてもらいお水は緊急時のために用意しておきました。
- マスタスライドを用意してそこにコンテンツを載せてプロジェクタに1つのPCでつなぐと進行しやすいです。そのPCでMeetで画面録画しながら録画しておくとこれなかった人にもコンテンツを共有できます。
- 部屋は広いほうがいいです。人数ぴったりよりもやや広い部屋を用意します。
- 集合写真など思い出の写真を取ったほうがいいです。(オフサイトが終わってから写真を撮っていないことに気づきましたorz..)
- グループで雑談できる余白があったほうがいいので休憩時間も適度にとったほうがいいです。
- 1人で企画するより協力してくれるメンバーを募って行ったのでとてもやりやすかったです。コンテンツを考えるという気の重い作業を分担できそれぞれのコンテンツがより高いクオリティになりました。
それではよい開発オフサイトを〜。