見出し画像

マイベストの開発を支える組織

はじめに

こんにちは!マイベストでエンジニアリングマネージャー兼デザイン部マネージャーをしている@naoprです。
mybest BlogKaigi 2024の6日目ということで、この記事では開発組織の現在と過去からの変遷、未来像についてお伝えします。


開発組織の現在

マイベストの現在の開発組織は、大きく分けて3つのチームから構成されています。
プロダクト開発チームとして、サービスの体験向上を行う「体験」と商品データやコンテンツ制作のクオリティ向上を担う「事業推進」の2つがあるほか、専門性を用いて開発組織全体の価値提供能力を向上させる「Enabling」があります。

組織全体で正社員のエンジニアは新卒3名を含む19名、PdMとデザイナー含めて35名ほど在籍しており、業務委託のエンジニアやデザイナーを含めると50名ほどとなります。

マイベストの現在の開発組織

体験・事業推進の2チームはそれぞれチーム内プロジェクトを持っており、プロジェクト単位でクロスファンクショナルなチームを組みアジャイルに開発を行っています。

Enablingはエンジニアのみから構成される組織で、リソースの関係上QA以外全ての領域でプロダクト開発チーム(体験・事業推進)と兼務となっています。プロダクト開発:Enablingでおおよそ8:2のバランスで工数を振り分けて両方の開発を並行して行っています。
これにより、「プロダクト開発が忙しいと技術負債が放置される」というスタートアップでよく見かける落とし穴を回避し、事業と技術の課題をバランスよく解決することを目指しています。

実際にEnablingチームをどのように実践しているかは@_teppeitaの記事をぜひご覧いただきたいのと、前職の同僚である@hidenorigotoのポッドキャストでもお話ししているのでご視聴いただけると嬉しいです。

開発組織の変遷

開発組織はこの1年だけでも大きく変化しており、昨年4月と比べてエンジニア・PdMともに約2倍の人数になっています。
その理由は、プロダクトのフェーズが変化したことによるものです。

「唯一無二の情報があるメディアとしてのマイベスト」から「簡単に自分に合った商品が選べる選択プロダクトとしてのマイベスト」、そして「誰もが日常的に利用する選択インフラとしてのマイベスト」へと進化を目指すフェーズへと変わってきており、それにより開発組織が提供すべきユーザー価値が大きくなってきています。

去年はiOSアプリをリリースやmybest GPTの提供を開始しており、パーソナライズされた選択体験の実現に向けて開発を進めています。

プロダクトフェーズの変化

組織体制としても、これまでCEO/CTOがそれぞれPdM・エンジニアのマネジメントを兼任していたところから専任のマネージャーが入社することで採用やチームマネジメントに充分なリソースを充てることができるようになりました。
これにより、プロダクトの成長に応じて組織もスケールさせられる体制が整いつつあります。

開発組織の未来像

これまでの開発組織は人数がさほど多くなかったこともあり在籍するメンバーの傾向が「プロダクト志向の強いジェネラリスト」でした。
エンジニア組織はバックエンド・フロントエンドの垣根なく本人のスキルと志向に応じて開発を行うスタイルをとっており、それは今後も継続したいと思っています。

一方で、SREやデータエンジニアなどの専門性を持った正社員がいないことで開発のボトルネックが生まれてしまっていることも事実です。
ほぼ兼務状態であるがゆえにEnablingチームでは技術負債の解消がメインのタスクとなっており、プロダクト開発チームが技術的なチャレンジを行うことへの支援は充分にできていません。

開発組織が中長期で実現したい姿として、高い専門性でプロダクト開発全体にレバレッジをかけられるEnablingチームの組成があります。
Enablingチームとプロダクト開発チームが相互に有機的に作用し合いながら、「選択」という難易度の高いユーザー課題を解決していくことを目標にしています。

開発組織が中長期で実現したい姿

1つのモデルケースとして、今年2月に入社してくれた1人目QAエンジニアの@FukuromiQAによる活躍があります。

開発組織全体の課題であったE2Eテストの拡充のためにCypressからPlaywrightへの移行をリードしてくれ、既に移行が完了しています。
加えて、開発チームの中に入って一緒にマニュアルテストを行うことでQAのナレッジを開発チームに伝えたり、テスト項目書のテンプレートを作って他のチームも抜けもれなくテストができるようにしてくれました。
それまで暗黙知だった機能群の言語化もしてくれており、マイベストの品質がどんどん底上げされているのを感じます。

このように、Enablingチームのメンバーが一緒に開発を行ったり、そこで見つけた課題を開発組織全体に効果が出るような形で実装するような取り組みをEnablingチーム全体で行っていく組織にしていきたいと思っています。

おわりに

私自身マネージャーとして開発組織全体を俯瞰する立場ながら、そこにいる1人1人が自身の職責を超えて協力し合う文化があることで成り立っている組織であることを痛感しています。
1人1人の強みを活かしつつも特定のメンバーに依存しすぎないスケーラブルな組織を作っていきたいので、一緒にそんな開発組織を担ってくれるエンジニアを募集しています!
Pitta経由でのカジュアル面談を募集しているほか、エンジニア向けの情報も公開しているので少しでも興味を持っていただけたらぜひお話ししましょう。
RubyKaigi 2024にも参加しているので、現地でも交流できたら嬉しいです。