“10xを創る”開発チームの文化とはなにか 〜お届けチーム編〜

この記事は 10X アドベントカレンダー2023 の10日目(12/10)の記事です。9日目(12/9)の昨日は、 id:takanamito さんによる「grpc-dartのInterceptorを使う」でした。

10Xのお届けチーム エンジニアリングマネージャー(以下, EM)の id:hisaichi5518です。10Xではソフトウェアエンジニアとしてサーバサイド、Android、iOS、Flutterと色々やってきて、今は「人を動かして、ことを成す」を目指してEMとして活動しています。

今回は、自分が担当しているお届けチームについて「どんな雰囲気なのか」「どういうチームを目指しているのか」「具体的な活動」について書いていこうかなと思います。書き終わって気付いたんですが、今年のテーマは"開発・プロダクト"らしく、ちょっとテーマに沿ってない感があるけどまあいいかってなりました。人生ってそんなもんですよね

お届けチームって?

10Xは、”10xを創る”というミッションを持っていますが、お届けチームは、Stailer*1において"パートナーが、かんたんに届けられる仕組みを提供する"をミッションに持つチームです。このミッションを達成することが10xを創ることとも言えると思います。

イメージしやすいようにどういう機能の開発をしているのか具体の話をすると、店舗スタッフが商品を取ったことを記録するといった機能や配達スタッフが配達時にどの順番で届けるかといった機能などを提供するアプリの開発をしているチームです。

また、お届けチームは執筆時点で、EM1名、SWE4名、QA3名、Designer1名、PdM1名の計10名で構成されています。

お届けチームの雰囲気「楽しく働く」

カジュアル面談をしていると10Xはあんまり雑談がない雰囲気と思われていたりしますが、お届けチームのSlackチャンネルでは、こんな改善した!やこうしたほうがいいかも?や気になった技術ブログの話みたいな仕事に関連する話はもちろん、アニメの話や今日のお昼ごはんの話といった仕事に関係ない雑談もよくしています。他にもSlackのHuddleで作業している人同士で繋げたり雑談をすることもあります。

CIが爆速に!!

スクラムイベントの改善の提案

やいていき!

これは、チームメンバーの根幹に"楽しく働こう!"があると思っていて、それがチームの雰囲気にも出ていると自分は思っています。

お届けチームはどういうチームを目指すのか

もちろん楽しく働くのは大事ですが、それだけではお届けチームの"パートナーが、かんたんに届けられる仕組みを提供する"というミッションは達成出来ません。23年4月からお届けチームは組成*2されたのですが、その時からお届けチームはどういうチームを目指すのかを定義しています。

10Xでは、10X Valuesという価値観を定義していて、それを元に作成されています。

1. 中長期的な観点を持った活動が継続的に行われている

なぜ目指すのか

ある機能を期日に間に合わせるように作るというのは短期的には非常に重要ですが、期日に合わせようと無理をした実装になりバグの温床になったり、作った本人しかわからない機能になったり、後から色々とツラミが出てきます。そうならないためには、中長期的な観点を持って実装面や機能面はどうあるべきかを考え、それを言語化し、一歩ずつ実現する必要があると考えています。

2. チームが自分たちで判断し実行している

なぜ目指すのか

お届けチームは、経営や他事業部から言われたことをただやるチームではなく自分たちで判断して実行するチームでありたいと思っています。そのほうがメンバーがやることに対して自分ごと化出来て成果が出せると考えています。

3. チームで成果を出し、チームで評価される

なぜ目指すのか

“10xを創る”という大きな成果を出すには、1人1人が頑張って成果を出してその総和で勝負するのではなく、チームで成果を出すことで個々の総和をチームで超える必要があります。そのためには、メンバー同士が助けを求め、助け合うことで大きな成果が出せると考えています。

具体的なお届けチームの活動の例

お届けチームがどういうチームを目指すのかはわかったと思うので、それを踏まえて具体的にどういう活動をしているのかの例をこのセクションでは記載します。これは、EMの自分だけがやっているのではなく、メンバーが行っていることです。

理想の姿とギャップをドキュメントにして、チームで取り組む

中長期的な観点を持った活動は、まず理想の姿を定義して現状とのギャップを埋めるために着実に進めることが重要です。そして、一歩ずつ進めるためには1人で実施するのではなく周りを巻き込み、チームとして取り組む必要があります。そのためにはドキュメントを作成して、他の人も理解できるようにする必要があります。

最近作成されたドキュメントは以下のようなものがあります。(一部伏せ字にしています)

  • feature flagの削除を忘れないようにするための運用
  • お届けチームがオーナーシップを持つコンポーネントの監視・オブザーバビリティのあるべきを考える
  • 滞留しているプルリクエストを消化するためにやること
  • 満足のいく引き継ぎってなに?
  • ******* Syncerの現在地と目指しているところと未来
  • 総量ピックへのpick-packモジュール導入

現場リサーチ

お届けチームでは、ネットスーパーを運営する実店舗にお伺いしオペレーションを観察することを現場リサーチと呼んでいます。この現場リサーチを行うことで、”パートナーが、かんたんに届けられる仕組みを提供する"を実現するための課題やあるべき姿を考え、チームで何をやるべきかを判断し実行できるようにしています。

現場リサーチについては、お届けチームのPdMであるkoichi-mさんが12/9に公開した より良いオペレーションのためのプロダクトとは?お届けチームが探索する「現場リサーチ」〜プロローグ〜|こういち / koichi-m にも記載されているので、読んでみてください。

目標共有会

10Xでは個人の目標設定を半期ごとに行っています。目標自体は一覧として共有されるのですが、それだけだと目標設定時に何を考えたのか、どういう思いがあるのかなどがわかりません。

チームで成果を出すには、各個人がどういうことを考え目標を設定したのかや助けてほしいことなどをチームで共有し、職種関係なく助け合える状態になることが必要があると考え、お届けチームでは目標共有会を行っています。

目標共有会では、以下のようなことをチームで話しました。

  • この半期で達成したい目標
  • 実は持っている裏テーマ
  • メンバーに知っておいてほしいこと
  • 職種限らず、達成するために助けてほしいこと
  • メンバーからの質問/感想タイム

まとめ

お届けチームの雰囲気や目指したい形、具体的に何をやっているのかを紹介しました。

ここでは書ききれなかった「ミッションの”かんたん”って何?どういう挑戦がある?」「お届けチームは具体どういう開発をしているの?」「これらを実現するためにEMはどう振る舞っているの?」などもっと詳しく知りたい人は、XのDM/リプライまたはカジュアル面談フォームからどうぞ。

明日は、お届けチームメンバーの id:genkey66 さんによる「Relay Proxyを活用してLaunchDarklyを導入する」です。楽しみですね!

関連

*1:ネットスーパー・ネットドラッグストアの立ち上げと成長を支援するサービスです

*2:ちなみに組成された経緯は、ドメインベースの開発体制への移行 - 10X Product Blogで読めます。