10Xのエンジニア組織を構成する要素とは何か? CTOらが赤裸々に語った#10Xtopicレポート

2020/10/2

「10xから逆算する」「自律する」「背中を合わせる」。これはすべて「10xを創る」ミッション達成のため、10X社が掲げたバリューです。

では、実際に「10xを創る」ため、日々どういった開発スタイルが推奨されているのでしょうか?10Xでは、プロダクト開発やメンバーの仕事スタイルなどをカジュアルにお話しするオンラインイベント「10X Topic #2 10xを実現するエンジニア組織」を2020/9/10に開催しました。登壇したのは、10XのCTOである石川洋資と、ソフトウェアエンジニアの石田光一喜多啓介。今回は、トークセッションの中でも以下の4つにフォーカスしたイベントレポートをお届けします。

  • 開発プロセス
  • 開発環境
  • パートナーとの関係性
  • エンジニア組織の特徴

※文中の「10X」は社名を、「10x」は十倍、非連続を意味します。

イベント時の発表スライドもあわせてご覧ください

あらゆる角度からインサイトを見て、各メンバーが仕様へ落とし込む

ー本イベントは、事前に寄せられた質問をもとに、10Xの開発体制やカルチャーについて登壇メンバーが回答していくスタイル。最初の質問は「顧客の課題を把握・整理・検証から、実装可能なレベルの仕様に落とし込むまでの過程について」でした。

石川:我々開発チームは、アプリでできることを軸に、最終的にはユーザーがきちんと買い物ができるかどうかを重要視して開発を進めています。買い物は、人によって目的が異なります。そこで生まれるニーズは、弊社のカスタマーサポートがN1インタビューをしたり、アプリ内でのデータを確認したり、さまざまな角度からインサイトを見るようにしています。

そもそも、我々がアプリを提供しているイトーヨーカドーさんは、ネットスーパーを20年ほどやっているんですよね。長年使っているユーザーにインタビューするだけでも、想像しなかったインサイトやイシューを見つけることができます。そういったデータから優先順位をつけ、検証できるかどうかを整理しています。

10Xにとって「検証」は、小さく早く進めるもの。実装可能であれば、僕が仕様に落とし込むパターン、もしくはイシューのままメンバーに渡し、落とし込みまでやってもらうパターンなどさまざまな手段を講じます。そういう意味では、各メンバーにはわりと早い段階から裁量を持って動いてもらっています。しかし、任されすぎても動きづらいので、進めにくい部分は僕が入るなどして対応しています。

ー続いての質問は「どのような視点でプロダクト改善をしているのか」。これには、ソフトウェアエンジニアである喜多と石田が回答しました。

喜多:プロダクト改善では、データを重視しています。例えば、スーパーのデータは店舗側が持っていますよね。そのため、店舗の在庫商品データの把握に追いつけず、アプリで買い物しようとしても「買えない」状態が起きることがありました。そこで、欠品している商品の代わりのものを探し、提案するような改善をしました。

石田:ユーザーの動向データは喜多さんがキャッチし、僕の方ではシステムから見えるアラート、パフォーマンスをしっかりモニターしています。アラートの先には、必ずユーザーがいます。見かけたらすぐ対応するようにしていますね。

ー「10Xでは新規開発と改善をどう扱っているのか」に関する質問も寄せられていました。

石川:基本的には、新規開発と改善を明確に分けておらず、必要なところに開発リソースを割いています。なので、イメージとしては大きな開発タスクがあり、その合間に小さな開発をちょくちょくやっています。既存のほうが緊急度は高くなりやすいので、改善にリソースを割くことは多いかもしれません。現状では「既存6:新規4」ですが、みんな雰囲気で進めている感じですね(笑)。

10Xをワンチームにする「Dartの使用」「ドキュメント文化」

ー10Xのミッションは「10xを創る」。では、エンジニアの組織構造として具体的に気をつけていることは何でしょうか?

石川:10xを実現するために考えるのは、「そもそも何をやるべきなのか」。メンバーが取り組んでいることが本当にやるべきことなのかどうかは、常に気にしています。

また、10Xのエンジニアは現在11名。彼らがスループットを出すために、全員が並列で動けるような体制にしているつもりです。それが10Xのバリューの1つである「背中を合わせる」にも通じています。


現在11名のエンジニア組織。サーバー/クライアントなど役割を分けず「状況に応じて何でもやる」

ー10Xでは、クライアントでもサーバーでも、Dartを使って開発しています。Dartで開発してよかったこと、悪かったことは?

石田:いいところは、サーバーとクライアントのコードが同じなので、頭の中のコンテキストを統一できている点ですね。

ただ、辛いところもあります。というのも、Dartにはライブラリがないんですよね。10XではFirestoreにつないでサーバーを使っていますが、SDKがないため、ライブラリをつくるところからスタート。そこからGCPにつなぐのですが、ここでもSDKがないので、gRPCのprotobufから定義をつくり、頑張ってRPCを読み解くことになるので…そのあたりは少し苦労しています。

喜多:僕の方ではクライアント側を担当していますが、先日、久しぶりにコードを書くためにホットリロードで編集したらすぐ反映されて、便利だと思いました。

石川:組織的なところでは、全員が並列で動くためにも領域をまたげる状態にしたいと考えています。Dartは、そういった環境においてハードルを下げる一因になっていると思っています。

ー「開発時のテストはどう進めていますか?」。この質問から展開されたのは、10Xに根付いたドキュメント文化でした。

石川:テストは、フィーチャーであれば各メンバーが実施しています。テスト計画や開発計画をつくっているわけではなく、いろいろなところをメンバーのスキルや裁量に委ねているんです。ただ、今以上にメンバーが増えると、現状の体制のまま開発を続けるのは難しいと認識しています。そのため、ステップの明示化や、評価時にピアレビューを導入することも考えているところです。

石田:テストの話から少しそれますが、10Xでは自己紹介もドキュメントに残していたりするんです。ドキュメントには自分がどんな感じで育ってきたのかも書かれていて…そこから共通点を見つけたりしています。これは、お互いを知る最初のステップとして、とても有効でした。

石川:そういう意味では、開発状況や各メンバーの自己紹介だけでなく、BizDevメンバーがパートナーの方々と話した内容もドキュメント化。そこには、パートナーさんそれぞれがどんな問題を抱えているのかも書かれています。おかげで、社内で機能開発を進める時点でゴールは一致していて、やり方のみ話し合えばスタートできています。BizDevメンバーは直接開発に関わっていませんが、こうやってドキュメントでの情報共有を行うことで、ワンチームで動けている感覚がありますね。

大手企業と連携する魅力は「なかなか味わえないステージに挑めるところ」

ー開発不要でネットスーパーを立ち上げられるサービス「Stailer」が注目を集めた要因の1つは、イトーヨーカドーのような大手スーパーと連携したこと。イベント当日は「大手企業との連携で苦労しているところ、スムーズに進めるために工夫しているところは?」という質問もありました。

喜多:連携している方々との専用Slackもありますが、レスポンスのスピードや企業文化の違いを感じることはあります。もちろん、それは先方もそう思っている可能性が高いのですが。だからこそ、お互いの価値観や「プロダクトをどうすべきか」「ユーザーに価値あるものとは」を共有する必要があると思っています。少しでもすれ違っていると感じたら、ドキュメント上で依頼内容やステータスを再確認。この方法のおかげで、今のところスムーズに進められています。

ーでは、大手企業とともに事業を進めることの面白さはどこにあるのでしょうか?

石田:やはり、規模が大きな事業に挑めるところでしょうか。事業規模が大きいと、より多くのユーザーに使ってもらえます。1社だけではなかなか味わえないステージの開発ができるのは、おもしろいところですね。

石川:今いるメンバーはプロダクトに興味があり、自分で仕様を探しながら開発することを楽しんでくれています。技術を通じてプロダクトをつくり、ユーザーにしっかり届けることが価値だという共通認識があるところは、10Xのエンジニア組織の特徴だと思うんです。

石田:そういった共通認識があるから、みんな落ち穂拾いのように「他の人が困っているであろうこと」「この先、誰かが困らないように」と、細かなポイントを見つけ出し、解決してくれます。割れ窓理論じゃないですが、壊れた状態を放置せず、きれいにしながら進める協力体制があるところも、非常にいいですよね。

石川:協力体制は、パートナーの大手スーパーさんにも言えます。最初こそ、連携するシステムが存在しておらず、僕らの方で愚直にクロールして商品データを集めていたわけですが…。今では、大手スーパーさんから、我々が効率的にデータを集められるような環境を提供いただくなど、協力を得られています。

「10Xは組織として色が濃い」と言い切れる理由

ー当日のイベントで、登壇したメンバーがともに口にしている「自律」。そういった体制を促すカルチャーを醸成できた要因を、石川はどのように感じているのでしょうか?

石川:自律するには、2つの要因が必要だと考えています。1つ目が、各メンバーに裁量を持ってもらうこと。2つ目が、自律して動くための材料や武器を揃えること。

肝心なのは2つ目です。メンバーが自律的に動ける環境は、組織的にもケアしています。クライアント開発を担当しているメンバーがサーバーを触るとき、開発環境を構築するためのハードルが高いとなかなか始められない。そこで、画面をつくるためのやり方やデザインシステムなど、自律して動くための支援を今いるメンバーが整えようとしているところです。

「自律する」「背中を合わせる」は、そもそも10X創業当初からあった雰囲気を言葉にしたものです。創業者である矢本真丈さんも、CTOである僕も、このイベントに登壇している石田さんも喜多さんも、それぞれ専門性やカバーできる領域が違う。けれど、自律して動いていました。そんな最初の雰囲気を延長させたものが、現在のバリューです。

そういった経緯もあり、10Xは組織としての色が濃い会社です。100名のエンジニア全員と相性がいい会社かというと、そうとは言い切れません。

僕らとしては、10Xを知ってもらう機会を増やしつつ、そこから「10Xは自分に合っているかも」と思える方に入社していただくのがいいと考えています。その活動は、すでに始まっています。このイベントも含めて、10Xの情報発信を活発にしていきたいところですね。

全編動画も公開しています

本イベントの内容は下記のYouTube動画でもアーカイブを公開しています。


この記事に関連する求人情報
10Xでは一緒に「社会に10xを実装する」仲間を募集しています!
興味をもって頂いた方は、ぜひ下記の募集要項と「Culture Deck」をご覧ください。
ソフトウェアエンジニア

RECRUIT

10xへの到達率は、まだ0.1%。
あなたの力が、必要です。

JOIN OUR TEAM

CONTACT

10Xへの取材依頼やお問い合わせはこちらから。

CONTACT US