Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大規模プロダクトにおける組織作りと技術ポートフォリオマネジメント
Search
Recruit
PRO
September 11, 2024
Business
4
540
大規模プロダクトにおける組織作りと技術ポートフォリオマネジメント
2024/09/11に、TechPLAY プロジェクトリーダー必見!ユーザーに末永く愛されるサービスサイト開発の最適解で発表した、中里の資料です。
Recruit
PRO
September 11, 2024
Tweet
Share
More Decks by Recruit
See All by Recruit
Azure Functions HTTPトリガーにおけるタイムアウトでハマったこと
recruitengineers
PRO
2
150
実務につなげる数理最適化
recruitengineers
PRO
6
690
うちにも入れたいDatadog
recruitengineers
PRO
2
370
リクルートのデータ基盤 Crois 年3倍成長!1日40,000コンテナの実行を支える AWS 活用とプラットフォームエンジニアリング
recruitengineers
PRO
2
330
Splunk Enterpriseで S3のデータを直接検索してみた!
recruitengineers
PRO
2
150
Looker APIを使い倒す ユーザーフィードバックを基にした継続的改善サイクル
recruitengineers
PRO
3
57
Kaggleふりかえり会〜LLM 20 Questions & ISIC 2024
recruitengineers
PRO
2
230
Balancing Revenue Goals and Off-Policy Evaluation Performance in Coupon Allocation
recruitengineers
PRO
2
51
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
390
Other Decks in Business
See All in Business
タケウチグループRecruit
takeuchigroup
0
2k
Amazon Q Developerの 最新アップデート情報まとめ
o2mami
0
1k
ドローンを活用した汚泥焼却炉内点検のDX
tokyo_metropolitan_gov_digital_hr
0
320
いま、データに必要な解像度
hik0107
33
12k
WED Company Guide
wed
2
43k
ハードウェア企業から700万ユーザーを抱えるB2B SaaSへ:PMのキャリアシフトで見えた共通点とギャップ
kubell_hr
0
3.8k
Go See!で見つけるプロダクト開発の突破口とその実践法
ta0o_o0821
0
140
Japan Open Chain ホワイトペーパー
gugroup
0
230
無自覚にメンバーの心理的安全性を奪っていた経験から得た学び
lighttiger2505
140
190k
仮説のマップ・ループ・リープ
tumada
PRO
11
3.8k
【エンジニア職】中途採用向け会社説明資料(テックファーム株式会社)
techfirm
0
4.2k
Sales Marker Culture book
salesmarker
PRO
6
24k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Adopting Sorbet at Scale
ufuk
73
9.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
BBQ
matthewcrist
85
9.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Transcript
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 1 大規模プロダクトにおける組織作りと 技術ポートフォリオマネジメント 株式会社リクルート ビューティー領域エンジニアリング部 中里直人 2024年9月11日 (C) Recruit Co., Ltd. All rights reserved.
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 2 2 (C) Recruit Co., Ltd. All rights reserved. • 中里 直人 • ビューティー領域エンジニアリング部 部長 • 2015年〜2017年 Webサービス開発会社に新卒入社 • 2017年に株式会社リクルートに中途入社 • ホットペッパービューティーのAndroidアプリ開発を経て 2021年10月よりマネージャー、2024年4月より部長 • 休日は3人の子どもと遊んでます 自己紹介
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 3 3 (C) Recruit Co., Ltd. All rights reserved. • ホットペッパービューティーについて • 技術的改善に投資した3つの事例 • 技術的改善に投資し続けるための仕組み • まとめ アジェンダ
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 4 4 (C) Recruit Co., Ltd. All rights reserved. ホットペッパービューティーについて
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 5 5 (C) Recruit Co., Ltd. All rights reserved. • 国内最大級のヘアサロン・ リラク&ビューティーサロン検索・予約サイト • 2007年4月にWebサービスを開始し 現在は年間1.8億回予約されるサービスに成長 ホットペッパービューティーについて ※2024年9月11日時点 https://beauty.hotpepper.jp/doc/guide/saishindata.html
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 6 6 (C) Recruit Co., Ltd. All rights reserved. • 10年ほど経った頃には急速なプロダクト成長の裏で システムがレガシーで複雑な状態になりつつあった • 当時150人以上のエンジニアが携わるシステム • さらなる成長に向けてやりたいことがたくさんあるが 莫大な工数がかかる状況 • システム規模の大きさや仕様とアーキテクチャの複雑さから 学習コストが高く優秀なエンジニアが活躍するまで時間がかかる状況 ホットペッパービューティーを支えるシステム
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 7 7 (C) Recruit Co., Ltd. All rights reserved. • 初期は業務委託中心の開発体制だったが、 2012年頃よりエンジニア採用を開始し内製化を推進 • これまで実施してきた事例を3つ紹介し、 裏側でどういったことを考えてきたかを紹介します ホットペッパービューティーを支えるシステム
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 8 8 (C) Recruit Co., Ltd. All rights reserved. 技術的改善に投資した3つの事例
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 9 9 (C) Recruit Co., Ltd. All rights reserved. • これまで大小様々な改善を実施してきたが、 大規模にシステムを変更したのは以下の3つ • モバイルアプリのリプレイス • モバイルアプリ向けAPIのリプレイス • Webサイトのリアーキテクチャ 技術的改善に投資した3つの事例 2007 サービス開始 2024 現在 2016 2018 モバイルアプリの リプレイス モバイルアプリ向けAPIの リプレイス Webサイトの リアーキテクチャ 2020 2022 プロダクト成長と 技術的負債の蓄積
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 10 10 (C) Recruit Co., Ltd. All rights reserved. • 2010年にiOSアプリ・Androidアプリを提供開始 • アプリからの予約が増えて改善が急がれる中で 技術的負債が溜まり開発スピードが遅かった • Objective-C / Javaで書かれたコード • 明確なアーキテクチャがない • デッドコードが多い • テストコードが少ない etc... • 2016年からシステムリプレイスを検討開始 モバイルアプリのリプレイス
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 11 11 (C) Recruit Co., Ltd. All rights reserved. • 2018年にリプレイスが完了 • 今では当たり前のSwift / Kotlinの採用 • アーキテクチャの刷新による責務分離とテスト容易性の獲得 • コード量を4割程度削減 • 人材要件や開発プロセスも見直すことで、 企画組織・開発組織が一体となって 高速なプロダクト開発に向き合う状態を作ることができた モバイルアプリのリプレイス https://techblog.recruit.co.jp/article-1061/ https://techblog.recruit.co.jp/article-1071/
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 12 12 (C) Recruit Co., Ltd. All rights reserved. • モバイルアプリの開発スピードが格段に向上したことで、 裏側のAPIの開発スピードがボトルネックになっていた • アプリが1〜2週間で改修できても、APIの改修に3ヶ月かかる、など • 2018年からAPIのシステムリプレイスを検討開始 モバイルアプリ向けAPIのリプレイス
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 13 13 (C) Recruit Co., Ltd. All rights reserved. • 2021年に全てのAPIをリプレイス完了 • モノリシックなアプリケーションをBFFとBackendに分割 • BFFにはサーバーサイドKotlinを採用 • WebViewで提供していた予約導線をネイティブで提供できるようになり、 導線設計を見直すことでCVRを大きく向上させる取り組みに繋げられた モバイルアプリ向けAPIのリプレイス https://speakerdeck.com/recruitengineers/jjug2019spring
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 14 14 (C) Recruit Co., Ltd. All rights reserved. • Webサイトの開発工数が相対的に大きくなってきた • 社内独自フレームワーク • Java 8で書かれたコード • Webサイトとモバイルアプリでほぼ同じ機能を提供 • 同じ目的でも別々のシステムをそれぞれ開発する必要がある • 意図せず細部の仕様が異なり要件検討や問い合わせ対応にも時間がかかる • 2022年からWebサイトのリアーキテクチャを検討開始 Webサイトのリアーキテクチャ
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 15 15 (C) Recruit Co., Ltd. All rights reserved. • 2024年8月にクーポン画面のみリリース • Backend APIをアプリと共通化することで仕様を統一し工数を削減 • WebフロントもSpring Boot / Java 17を利用する形へ • 今後に向けたアーキテクチャの基礎を作りあげた Webサイトのリアーキテクチャ iOS Android BFF Backend DB Web 二重開発 iOS Android BFF Backend DB Web
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 16 16 (C) Recruit Co., Ltd. All rights reserved. • 内製化も進みアジャイルで柔軟な開発が進められるように • 新規参画者やインターン学生がすぐに活躍できるチームへ • エンジニアが増えてもスピードを落とさず開発できている これらの取り組みによって
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 17 17 (C) Recruit Co., Ltd. All rights reserved. 技術的改善に投資し続けるための仕組み
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 18 18 (C) Recruit Co., Ltd. All rights reserved. • 今回紹介することは以下の5つ • 技術的改善においてベースとなる考え方 • 技術的改善の方向性 • 技術的改善の進め方 • 技術的改善の評価方法 • 技術的改善を生み出す組織と文化 技術的改善に投資し続けるための仕組み
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 19 19 (C) Recruit Co., Ltd. All rights reserved. • 技術的改善の目的はプロダクト価値の最大化 • 今後の開発スピードを向上させるための投資 • プロダクト価値(あるいは売上)に繋がるか繋がらないかではなく、 短期で繋がるか長期で繋がるかを考える • 長期でも繋がらない場合は目的や仮説を再考する 技術的改善においてベースとなる考え方
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 20 20 (C) Recruit Co., Ltd. All rights reserved. • 再利用性の高いAPIベースのアーキテクチャを指向 • 市場の変化に応じてスピーディにプロダクトを進化させるための土台 • 全く新しいプロダクトを提供する場合は新規システム開発になるが、 既存のアセットを活用したビジネス戦略では既存システムの再利用性がキモ • どちらの手段も選べる状態を作ることで今後の機会に対応できる 技術的改善の方向性
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 21 21 (C) Recruit Co., Ltd. All rights reserved. • ターゲットとスコープの選定 • スピーディで柔軟な開発がプロダクト価値の向上に最も繋がるのはどこか? • 開発規模や影響範囲をコントロール可能なレベルまで小さくできるか? • 短期的にも成果を得ることを大事にする(Quick Win) • “ステークホルダーを納得させるため”だけでなく、 “自分たちが自信を持って進められるようにするため”にも重要 技術的改善の進め方
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 22 22 (C) Recruit Co., Ltd. All rights reserved. 技術的改善の進め方
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 23 23 (C) Recruit Co., Ltd. All rights reserved. 技術的改善の進め方
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 24 24 (C) Recruit Co., Ltd. All rights reserved. • Quick Winの具体例 • モバイルアプリ向けAPIのリプレイスでは フェーズを3つに分けてフェーズ1では主要な機能をリプレイス • Webサイトのリアーキテクチャでも フェーズを分けて最初のフェーズではクーポン機能のみリリース • 影響が小さい機能から……と考えがちだが、 主要な機能からやることを大事にしている • プロダクト価値向上効果を早期に得られる • 意志を持った精鋭たちが集結している最初のフェーズが山場となるように 技術的改善の進め方
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 25 25 (C) Recruit Co., Ltd. All rights reserved. • 技術的改善によって削減できた工数を評価する方法は2つ • 削減工数をそのままコスト削減に繋げる評価手法(コストアプローチ) • 削減工数を再投資して新たな価値に繋げる評価手法(インカムアプローチ) • 前者を悲観的な予測、後者を楽観的な予測として活用 技術的改善の評価方法
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 26 26 (C) Recruit Co., Ltd. All rights reserved. 技術的改善の評価方法 技術的改善の価値(円) コスト(円/年) 時間(年) コストアプローチ インカム(円/年) 時間(年) インカムアプローチ 削減工数x単価 再投資 再投資 再投資 価値 価値 価値 削減工数x単価x平均ROI
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 27 27 (C) Recruit Co., Ltd. All rights reserved. 技術的改善の評価方法 価値(円) 時間(年) コストアプローチ 価値(円) 時間(年) インカムアプローチ 価値は時間に対して 一次関数的に積み上がる 価値は時間に対して 二次関数的に積み上がる
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 28 28 (C) Recruit Co., Ltd. All rights reserved. • 新機能開発だけだとシステムの健全性が損なわれる一方で 技術的改善だけやっていてもプロダクトは成長しない • 普段の改善活動では全体の2〜3割程度の工数を確保 • 理論上は新機能開発と改善活動を毎回比較することはできるがコストが高い • 小さな改善は半年ごとに活動を評価し改善工数を確保する形としている 技術的改善の評価方法
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 29 29 (C) Recruit Co., Ltd. All rights reserved. • システムがブラックボックスなままだと 具体的な課題を特定すること自体が困難 • 市場の変化に対応するにはシステムの手の内化が必須 技術的改善を生み出す組織と文化
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 30 30 (C) Recruit Co., Ltd. All rights reserved. • 技術的改善への投資と内製開発体制の強化の サイクルを回していくことが大事 • 体制やプロセスを見直して進化させるタイミングとしても活用 技術的改善を生み出す組織と文化 ブラックボックスの解消 課題の特定・構造化・優先順位付け 認知負荷の低い仕様・アーキテクチャ 開発効率が高い技術スタック 技術的改善への投資 内製開発体制の強化
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 31 31 (C) Recruit Co., Ltd. All rights reserved. • エンジニアもビジネスやプロダクトの理解を深める • 企画組織と同じ目線で会話できるように 半年ごとにキックオフやワークショップを開催 • もちろん普段の開発でも相互にディスカッションして要件を決める • 仕様自体の複雑さも減らしていく 技術的改善を生み出す組織と文化
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 32 32 (C) Recruit Co., Ltd. All rights reserved. • 実際の開発を通して感じた課題を大きな取り組みへ繋げる • プロダクトをまたいだエンジニア同士のナレッジ共有 • エンジニア同士でも改善のためのワークショップやタスクフォースを実施 • どの役職でも事実・詳細を把握することを大切にしている 技術的改善を生み出す組織と文化
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 33 33 (C) Recruit Co., Ltd. All rights reserved. まとめ
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 34 34 (C) Recruit Co., Ltd. All rights reserved. • 大規模プロダクトにおいて 技術的改善への投資は未来の可能性を大きく左右する • 技術的改善への投資は一朝一夕にはできないが 日々の開発で気付いた課題を 大きなテーマとして定義し直す仕組み・文化が重要 • 技術的改善を成功させるためには ビジネス目標と接続した目的定義に加えて ステークホルダーの信頼獲得が大事 まとめ
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 35 35 (C) Recruit Co., Ltd. All rights reserved. • 今回は3つの事例を共有させていただいたが 個人的にはやりたいことの半分もできていない • 技術的改善と組織的成長のループを回して 加速度的なプロダクト成長を実現し続けたい! 今後の展望
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 36 36 (C) Recruit Co., Ltd. All rights reserved. • “キレイなコードを書きたい”という気持ちから始めて、 様々な経験と周囲の人たちのアドバイスを経て、 今回発表したことに気づき、成長することができました • 大規模システムのリアーキテクチャに挑戦したい方、 キレイになったシステムでプロダクト開発していきたい方、 募集しています! さいごに 新卒採用 https://www.recruit.co.jp/employment/students/engineer/ 中途採用 https://www.recruit.co.jp/employment/mid-career/technology/