ネットショップ開設サービス STORES でフロントエンドグループのエンジニアリングマネージャーをしております、 daitasuと申します。
STORES には大きく5つのプロダクトがあり、それぞれ別のチームとして開発を進めています。
今までプロダクトを越境して開発コードに触れ合う機会がなかったのですが、今回 プロダクトを横断した社内もくもく会イベント を実施したので、そのレポートを書きます。
はじめに
STORES 株式会社では、エンジニアがいるテクノロジー部門に117名が所属しています。(2022年12月時点)
その中で、組織としてはプロダクトごとに分かれて仕事をしています。
実はSTORES 株式会社は元々別の会社でそれぞれプロダクトを開発しており、それらが統合していき今のSTORES 株式会社となりました。
そういった背景もあり、会社全体として企業文化、評価制度、採用フローなど様々な観点で1つのカルチャーとして統合を進めてきています。
一方、開発チームについてはそれぞれの開発フローが醸成されており、「将来的には横断した開発の取り組みも進めていきたいね」と話していますが、現状はそれぞれのプロダクトで開発を進めており、横断的な取り組みはこれから本格的に進めていくフェーズです。
そこで、
- 横断して交流していく取り組み
- お互いの開発文化やコードへの関心を上げていく取り組み
をなにか出来ないかなぁというのを今年の秋から STORES 予約のEMである ykpythemind さんと月1 で 1on1 していく中で一緒に考えてみてました。
そして、プロダクト横断での開発チームのイベントを今回実施することにしました。
開催にあたり
開催概要詰め
最初に、何をするのかを詰めました。
色々案は出たのですが、まずは互いの開発環境作ってみないとお互いのこと分からないよね、ということで、「お互いの開発環境をつくってみるオフラインもくもく会」 に決定しました。
コードを知れば、興味も湧く。
興味が湧けば、プロダクトを超えた情報も目に止まるようになる。
情報が目に止まれば、ちょっと口を出したくなる。
気づけば互いの知見が自分たちの血となり骨となっている。
カラーバス効果です!いいことずくめですね!そんな世界線を描くべく、今回のチャレンジに着手しました。
準備
準備は以下のとおりです。
- 開催概要の決定
- 社内周知、集客
- GitHub Organizationの招待、チーム権限付与
- 当日のタイムスケジュール、簡易なスライドづくり
社内で行うだけなので、あまり凝った準備は不要でした。
上記の開催概要をまとめ、互いのプロダクトチーム全体に展開し、関心のある人達を集客しました。
STORES では、Slack、ドキュメントツール(esa)はすべて1つでオープンになっており、プロダクト間はもちろん、ビジネスサイドのことやデザイナーの議論など、ありとあらゆる情報にアクセスできるようになっています。
新型コロナウイルスの感染状況も鑑みて、また、初回ということもあり、ファシリテーター2人で回すには限界があるので、概ね15人程度を想定して集客を行いました。
準備の工程で、前述の通り、STORES では会社が統合していった背景もあり、一部のプロダクトで Github Organization がまだ分かれていたりします。 今回のイベントでセットアップに必要なリポジトリの権限を付与するため、Github Organization への招待なども行いました。
開発環境セットアップの資料
STORES では、各プロダクトごとで入社キットや開発環境セットアップのDocがとても充実しています。
(私が入社した3年前もとても充実してたんですが、時を増してより強化されてます!)
そのため、イベントに向けた資料などはほぼほぼ何も必要なく、開発環境セットアップのDoc URLやシステム構成をスライドに転記するだけで進めることが出来ました。
開催当日
当日は、最初に開催趣旨を説明したあと、いくつかの班に別れて開発環境の構築にそれぞれ着手してもらいました。
セットアップの中で苦戦していることなどは都度Slack チャンネルに投稿しました。
そして、1時間半という枠の中で見事全員が開発環境を立ち上げ、ローカルで見れる状態を作ることが出来ました!!!!!
互いの開発環境を触って見る中で、0から開発環境を作る場合に詰まる点を理解しオンボーディングの改善に活かしたり、プロダクトごとのアクセシビリティの対応などを知ってモチベーションが上がったりなど、互いにとても刺激のある時間となりました。
イベント後は懇親会。
美味しく お寿司とピザを頂きつつ、互いの開発についてわいわい盛り上がりました。
ふりかえり
参加したメンバーからも満足度が高いイベントになりました。 当日のアンケートから気になったものを取り上げてみます。
・予約の開発環境を構築することで EC の開発環境構築の改善点を見出せたのが良かったですね。また、懇親会に参加して、以降、予約チームの人の Slack の投稿に対して、中の人を知っている分、より親しみを持って見れているような気がします笑
・普段話さない予約の方々とお話できて、チームや各々の雰囲気を知ることができてよかったです! 環境構築もスクリプト用意されていて楽にでき、勉強になりました。 アクセシビリティ周りも結構対応されていて、参考にさせてもらう部分もあるかと思います
運営として、今回の社内イベントを通じて、良かったなと思った点を挙げてみます。
- それぞれの開発フローやシステム構成など、Docが十分整備できていたため、あまり負荷なく横断イベントを開けることが分かった
- 想像していたよりも横断イベントの需要が高く、これまできっかけがなかっただけで、今後色々な取り組みができる可能性を感じた
- 会社の統合が進む中でリモートワークが主流になった背景もあり、プロダクトを跨いでオフラインでしっかり話す機会が初で、メンバーをより知れた
- 交流を通じて、それぞれの良い点が刺激となり、また、自分のチームのオンボーディングの課題を知れた
一方で、改善点も見えてきました。
- やはり Github Organization が分離している状態はつらい → ので、早く統合を頑張りたい
- 開発環境を作っただけだとそこからの広がりがないので、定期的によりコードに踏み込んだイベントがあると良さそう
また今後もこういったイベントを作っていこうと思います。
環境ができたので次回は互いのプロダクトの Bugfix を出してみるなど、より文化を染み込んでいく取り組みを目指していきます!