エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

年間15個以上のプロダクトをリリースするAIチームを入社したてのフレッシュな目線で紹介する

エムスリーのAI・機械学習チームは年間15個以上のプロダクトをリリースし、2024年8月現在までに93個のプロダクトがリリースされています。 本記事では2024年6月入社の筆者(中村)がどのようにチームに溶け込んだか、そしてこのような大量のプロダクトを開発し運用するAIチームについて、入社直後のフレッシュな目線で語っていきます。

はじめに

この記事はAI・機械学習チームブログリレー 10 日目になります。 2024年6月 から AI・機械学習チームにジョインした中村 伊吹(@inakam00)です。AI・機械学習チーム(以下、AIチーム)は「打席にたくさん立ち、ホームランを打ち続ける」というチームバリューのもと、年間15以上のプロダクトがリリースされています。5億円以上の利益を出すプロダクトも複数存在し、現在もチーム全体の利益貢献額は増加傾向にあります。

打席にたくさん立ち、ホームランを打ち続ける

入社してすぐに「だいたい1ヶ月に1プロダクトのペースでリリースしていくよ」と言われた時は、開発についていけるんだろうか? 利益貢献が全てなのだろうか? とハラハラしていましたが、たった3ヶ月で今となっては、当たり前のように高速リリースができる体に改造されました。

AIチームの特徴

ビジネスのためのプロダクト開発

現在のビジネスにおいてAI・機械学習は幅広い分野で適用可能な技術であり、エムスリーのAIチームも社内横断的に活動するチームです。そのため、社内に存在するサービスの機能をエンハンスすることを目的に、1ヶ月程度のサイクルでプロダクトを高速にリリースしていきます。結果として、AIチームでは年間15以上のプロダクトが開発され、現在までに93個のプロダクトがローンチされています。

機械学習の代表分野を選り好みせず網羅

AIチームはCVPRの論文読み合わせなどを行ったりと、技術水準を高めていく活動を日々行なっています。論文の読み合わせでは、「こういう問題設定がある」「こういうアプローチは筋が良さそう」「むしろこの設定ならこうやって解いたらいいのでは?」とわいわいと話せて、大学の研究室での談笑を思い出し、めちゃくちゃ楽しいです。

www.m3tech.blog

しかし、技術が大好きで技術水準も常に高めながら、あくまでビジネスへの貢献が最も優先されており、ビジネス貢献に必要なプロダクトであればどんなものでも作るというのがエムスリーのAIチームです。 AIを使うということにこだわりすぎず、ユーザーに対する価値にマッチした技術とやり方を選択します。その時にAIが必要なければ、AIは使いません。 「仕事ではじめる機械学習 第2版」という書籍の序盤に「機械学習を使わなくて良い方法を考える」という章が出てきます。私はこの章に非常に共感しており、課題を解決するためにAIや機械学習が使われるべきであり、それらを使うという手段が目的になってはいけないと考えています。その中で、チームリーダーの大垣からも「なんでも機械学習で解決しようと問題を定義するのは、機械学習チームがやりがちな失敗だと思う」という言葉が会議中にあり、ビジネスと技術のバランス感の良さがAIチームの特徴の1つだなと感じています。

技術に対する高い裁量

技術選定や開発手法はプロダクトの開発者に高い裁量が与えられています。 OSSのgokartや、cookiecutterテンプレートなど、素早くプロジェクトを立ち上げるためのテンプレートが整備されているため、似たような構成が取られることはありますが、プロダクトの性質や開発者の嗜好によって自由に技術選定することが推奨されています。

github.com

github.com

私は前職ではどちらかというと「技術の標準化」を推奨する立場でした。技術選定に裁量を持たせすぎると知識が分散し、相互レビューが不可能になり、チームが成り立たなくなるんじゃないかという恐怖がありました。しかしAIチームでは個々で技術選定をすることが推奨されているおかげで、解決したいビジネス課題に対して適切な技術選択が可能になりますし、開発者自身のモチベーションアップにもつながっているように感じました。私も入社してから生まれて初めてGraphQLに触る機会を得たのですが、実際に開発する中でREST APIとの違いや便利さを感じることができ、新しい技術に触れる楽しさを感じながら開発ができました。

理解が難しいレビュー依頼は週1回開催される「技術共有会」の場で公開レビューが行われ、それによって全員の知識水準が揃うようになっています。一度この環境を体験してしまうと、開発者の主体性に期待し、新しい技術を取り入れ続けて開発する方がメリットが大きいように感じました。

オーナーシップ

AIチームは何でもやります。インフラも含めたプロダクトに必要な開発はもちろん、企画や営業まで成果のために必要なことは何でもやるチームです。私が現在関わっているプロダクトでも、インフラ・バックエンド・フロントエンドの全てを開発し、PWAで開発したアプリケーションをインストールしてもらい、使い方を自分たちで説明し、改善点を実際のユーザーに直接聞きにいきます。言うなれば「何でも屋」、洒落た表現をすれば2018年にNextflixが提唱した「フルサイクルデベロッパー」という動き方をするのが、エムスリーのAIチームです。

インフラや運用を別チームに依頼する形になる組織もあるとは思いますが、自分たちの手で作って運用していないプロダクトはどこか他人事になりがちです。 大量にプロダクトを作っても、それを保守し続けられるのは、AIチームの持つ高い自主性とオーナーシップのおかげであるように感じています。大量に存在するプロダクトをどのように運用しているかについてはSRE Next 2024でチームリーダーの北川が発表していますので、そちらをご覧ください。

www.m3tech.blog

楽しくプロダクトを覚える

そんなAIチームでは日々どんどんとプロダクト開発が行われ、100個を超える日もそう遠くはないでしょう。AIチームのプロダクトは互いに依存関係にあることも特徴です。あるプロダクトにおいて特定のアイテムに対して計算されたスコアが、別のプロダクトの機能をエンハンスとして組み込まれたり、新しい使われ方をすることも珍しくありません。したがって、AIチームの朝会やMTGでは様々なプロダクト名が飛び交い、プロダクト名から内容が分からなければ議論についていけなくなることもしばしばあります。 そこで、入社後に行われた開発合宿の際に「プロダクトカルタ」と称したプロダクトを開発し、楽しくプロダクト名を覚えられるようにしました。開発合宿の様子は以下をご覧ください。

www.m3tech.blog

AIチームプロダクトカルタ

「プロダクトの機能」を読み札に、「プロダクト名」を取り札として、取れるまで何度でもチャレンジできます。プロダクトによって似たような機能を持っていることもあり、歴の長いチームメンバーでもこのカルタはなかなか難しいみたいです。「機能は理解しているけどプロダクト名なんだっけ?」「その説明は似てるプロダクトあるけどどっちだろう?」のようにチーム会でわいわいとしました。このミニプロダクトは社内LT大会である「M3 Tech Talk」にて発表したのですが、発表後にAIチームの社内プロダクトによって、実際に遊べるサービスとして社内に公開されました(AIチームにはなんでもあるなと思いました)。

www.youtube.com

大量のプロダクトを生み出す方法

そんなAIチームなのですが、「どうしてこんなに大量のプロダクトを生み出せるのだろう?」というのが入社してすぐの疑問でした。私の前職の経験では1年に2,3個のプロダクトをリリースできれば、チームとしてはよく出来ているチームだろうと考えていました。ここからは入社して数ヶ月経った筆者自身の主観ではありますが、AIチームの高速なプロダクト開発の秘訣を暴いていきます。

ベンチャーマインドとフラットな組織

エムスリーは「ベンチャー企業でありつづける」ことを大切にしている会社です。そして、この文化はAIチームにもよく浸透していると感じています。

jobs.m3.com

現在のエンジニアリングにおいて、アジャイルは今や「ふつう」となりました(と、『ユニコーン企業のひみつ』にJonathan Rasmussonは書きました)*1*2 しかし、「動くソフトウェア」「顧客との協調」「変化への対応」が大切だと感じていても、それを実践できる組織はまだ多くないと感じています。

エムスリーは企業ページにも書いてあるように、「100%の完成度を求めてサービスローンチに1年かけるくらいなら、60%の完成度でもいいから3か月で市場に出す」ということが徹底されています。したがって企業として芯からアジャイルになっています。ソフトウェア開発は紆余曲折の結果、現在はアジャイル開発が最も良い手法であると考えられている、と私は考えています。このアジャイルの精神が企業として備わっているのは、現代の早いプロダクト開発においては優位性があり、エムスリーの強さではないかなと思います。

ROI文化

エムスリーの組織としての特徴的なのはROI文化だと思います。MTGの場でも「ROIが高そう」「それはROIが低そう」という会話がよく行われます。

note.com

このROI文化はともすれば「利益至上主義の数字しか追っていない冷たい人間」という印象にもなりかねませんが、実際に入社をしてみて私は非常に合理的であるように感じました。 共通の認識がなければ、それぞれの価値観によってプロダクトの「価値」というものが定義されてしまいます。人によってはユーザーの心情だったり使い勝手だったり、企業イメージを損ねないことを絶対的な「価値」として定義してしまうこともあります。その意見を擦り合わせるプロセスはもちろん重要ですが、最終的な決断は遅くなり、アジャイルなど現代的な開発スタイルで重要な「スピード」を損ねる結果になると感じています。書籍『ザ・ゴール』では、企業の究極の目的は「利益」である、と語られています。*3 「利益」を追い求め、「できるだけ少ないリソースで、できるだけ多いキャッシュを生み出す方法」を達成することで全体最適に至ることができる、というのが書籍『ザ・ゴール』の結論ですが、エムスリーではそれが実践されているように感じます。

ものづくりが好きなメンバー

AIチームのメンバーは何かを作ることが大好きな集団だと感じています。
OSSのgokartはAIチームを代表するプロダクトであり、私も入社の遥か前から知っていたプロダクトでもあります。

github.com

ものづくりはソフトウェアだけではなく、技術書を自分たちで作ってしまうことにも現れます。技術書典のエムスリーテックブックは原価ぎりぎりの大特価で売り出された「自分たちで何かを作りたい」という思いの結晶でもあり、私がエムスリーに入社するきっかけになったイベントでもあります(その節はありがとうございました)。

techbookfest.org

スタートアップ精神の元に、自分たちで何でもやるという気持ちを持ったエンジニアの集まりでありながら、ものづくりが好きだからこそたくさんのプロダクトがAIチームからは生まれています。今後もたくさんのプロダクトを作り、ビジネスに貢献しながらも、ものづくりを楽しんでいきたいと思います。

We're hiring!

AI・機械学習チームでは、ギークでスピード感のある開発を一緒に行ってくれるメンバーを募集しています。新卒・中途それぞれの採用はもちろん、カジュアル面談やインターンも常時募集しています!

エンジニア採用ページはこちら

jobs.m3.com

カジュアル面談もお気軽にどうぞ

jobs.m3.com

インターンも常時募集しています

open.talentio.com