Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
『じゃらんnet』アプリ 改善活動の軌跡
Search
Recruit
PRO
March 03, 2025
Technology
490
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
『じゃらんnet』アプリ 改善活動の軌跡
2025/2/19に開催したRecruit Tech Conference 2025の桐山の資料です
Recruit
PRO
March 03, 2025
More Decks by Recruit
See All by Recruit
局所最適は悪ではない。壊れているのは指標です。量と質を同時に見る先行指標の設計
recruitengineers
PRO
3
1.4k
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
9
2.7k
大規模フロントエンド開発におけるmonorepoという選択肢
recruitengineers
PRO
2
130
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
340
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
360
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
6
3.1k
ブラウザ研修 2026
recruitengineers
PRO
8
2.2k
事業価値と Engineering 2026年度版
recruitengineers
PRO
60
31k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1.6k
Other Decks in Technology
See All in Technology
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
170
The future of architectural work
ufried
0
150
Flutter Widget Previewerで始めるUIプレビューとVRTの自動化
sakusaku3939
0
210
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
570
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
120
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
180
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
170
IBC 2026 動画技術関連レポート / IBC 2026 Report
cyberagentdevelopers
PRO
2
220
AI AgentによるEmbedded SREの取り組み
tgidgd
1
340
アクセラレーターで実現するServiceNow活用の高速化 / ServiceNow World Forum 2026
visional_engineering_and_design
0
130
AI時代に求められる優秀なTechLeadの振る舞い
pospome
4
5.7k
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.3k
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
490
Done Done
chrislema
187
17k
Become a Pro
speakerdeck
PRO
31
6.3k
KATA
mclloyd
PRO
35
16k
Speed Design
sergeychernyshev
33
2.2k
Tell your own story through comics
letsgokoyo
1
1.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.6k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
970
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.7k
Building the Perfect Custom Keyboard
takai
2
950
Transcript
『じゃらんnet』アプリ 改善活動の軌跡 RECRUIT TECH CONFERENCE 2025 Flutter/KMPを用いたアジリティ追求の軌跡 Flutterリプレイスを起点に、さらなる改善を目指して 桐山 圭祐 株式会社リクルート
プロダクトディベロップメント室
フットサル、キャンプ プロダクトディベロップメント室 販促領域エンジニアリング1ユニット マリッジ&ファミリー・自動車・旅行領域 エンジニアリング部 旅行プロダクト開発グループ 桐山 圭祐 経歴 /
Career 2019年にリクルートに新卒入社。 2019年7月から旅行領域にモバイルアプリエンジニアとして参 画し、『じゃらんnet』アプリのFlutterリプレイス等を推進。 現在は『じゃらんnet』アプリの開発チームリーダーを担当。 iOSDC 2020 をはじめ、複数のイベントで登壇。 趣味 / Hobbies
• 国内の宿・ホテル予約サービス • iOS/Androidで運用中、今年でリリースから14年が経過 『じゃらんnet』アプリ
ご紹介したいこと 「『じゃらんnet』アプリ Flutterリプレイスの道のり」 https://speakerdeck.com/recruitengineers/kurosupuratutohuo mukai-fa-2022-flutterreact-nativefalsedao-ru-toshi-jian 『じゃらんnet』アプリで実施したFlutterリプレイスの効果を受け その後我々はどのような改善活動を行ってきたか ※ Flutterリプレイス自体の登り方については下記資料で詳細を公開しています。
こちらも是非ご参照ください! Flutterリプレイス その後の改善 本日話すのは こちら
• 長期間の開発を経て複数の課題が浮上 • 上記課題の改善を目的に『じゃらんnet』アプリのリプレイスを検討し 技術検証を経てFlutterへのリプレイスを意思決定 ソースコードの大規模化 『じゃらんnet』アプリのFlutterリプレイス • ビルド時間が増加し開発効率が低下 ソースコードの複雑化
• 調査/実装工数の増加 • バグや障害の増加
• 現在は頻度高く変更される画面のFlutter化が完了し、約1年間エンハンスを継続中 『じゃらんnet』アプリのFlutterリプレイス TOP 宿一覧 宿詳細 ・・・ Flutterへのリプレイスを行ったことで、どのような効果があったのか?
• コード品質は改善され、コンパクトでシンプルな状態へ • クロスプラットフォーム技術により、従来のiOS/Androidネイティブ開発に比べ工数半減 Flutterリプレイスの効果 50%減 80%減 • 開発の高速化 •
開発コスト削減 • バグ/障害発生確率の改善 を実現!! Flutterリプレイスにより
• 開発の高速化を実現 → 案件をより早く、多くリリースすることにつながったのでは? ◦ リードタイム: 案件がリリースされるまでの早さ ◦ スループット :
リリースされる案件の量 Flutterリプレイスの効果 の指標についても追加で確認
• 開発の高速化を実現 → 案件をより早く、多くリリースすることにつながったのでは? ◦ リードタイム: 案件がリリースされるまでの早さ ◦ スループット :
リリースされる案件の量 リードタイムやスループットの指標については Flutterリプレイス前後で、あまり違いが生まれなかった Flutterリプレイスの効果 ※イメージ の指標についても追加で確認
• プロセス面をはじめとする開発以外の部分がボトルネックとなってしまっていた • その開発以外の部分のボトルネックにより 開発の高速化がリードタイムやスループットに効きにくい状態となっていた 何故開発の高速化がリードタイムやスループットにつながらなかったのか? プロセス全体 開発 工程 工程
B 工程 A 工程 C … … ❌ ❌ ❌
開発以外の部分がボトルネック...?
『じゃらんnet』アプリの開発プロセス 『じゃらんnet』アプリの開発プロセスは4つの工程から構成される 企画 デザイン作成 開発 試験 ①ディレクターが 案件を考える ②デザイナーが デザインを作成する
③開発者が 実装する ④QAが 試験する リリース 案 件 案 件 案 件 案 件
『じゃらんnet』アプリの開発プロセス 多くの案件が同時並行で流れる リリース 案 件 A 案 件 B 案
件 D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 企画 デザイン作成 開発 試験
『じゃらんnet』アプリの開発プロセス この複数の案件を秩序立てて管理するために、固定の期間が経過したら 各案件をまとめて次の工程に渡す運用を長年行っていた リリース 案 件 A 案 件 B
案 件 D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 1ヶ月目 2ヶ月目 3ヶ月目 4ヶ月目 企画 デザイン作成 開発 試験
『じゃらんnet』アプリの開発プロセス リリース 案 件 A 案 件 B 案 件
D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 案 件 A 案 件 B 案 件 D 案 件 C 案 件 E 1ヶ月目 2ヶ月目 3ヶ月目 4ヶ月目 企画 デザイン作成 開発 試験 このプロセスを前提に 開発速度が速くなるとどういうことが起こるか? この複数の案件を秩序立てて管理するために、固定の期間が経過したら 各案件をまとめて次の工程に渡す運用を長年行っていた
開発速度改善前 実装に開発期間の大部分を費やす 『じゃらんnet』アプリの開発プロセス - 開発高速化でどうなる? 企画 デザイン作成 開発 試験 リリース
案 件 案 件 案 件 案 件 1ヶ月目 2ヶ月目 3ヶ月目 4ヶ月目 実装
『じゃらんnet』アプリの開発プロセス - 開発高速化でどうなる? 企画 デザイン作成 開発 試験 リリース 案 件
案 件 案 件 案 件 1ヶ月目 2ヶ月目 3ヶ月目 4ヶ月目 実装 開発速度改善前 実装に開発期間の大部分を費やす ↓ 開発速度改善後 これまでの半分の時間で 実装完了できるように 案件を より早く多く リリースできる?
『じゃらんnet』アプリの開発プロセス - 開発高速化でどうなる? 企画 デザイン作成 開発 試験 リリース 案 件
案 件 案 件 案 件 1ヶ月目 2ヶ月目 3ヶ月目 4ヶ月目 実装 待ち時間 開発速度改善前 実装に開発期間の大部分を費やす ↓ 開発速度改善後 これまでの半分の時間で 実装完了できるように 固定の期間が経過するまで案件を次の工程に渡せないため 実装が早くなっても案件を寝かせておく時間が増えただけ
『じゃらんnet』アプリの開発プロセス - 開発高速化でどうなる? 企画 デザイン作成 開発 試験 リリース 案 件
案 件 案 件 案 件 1ヶ月目 2ヶ月目 3ヶ月目 4ヶ月目 実装 待ち時間 待ち時間を利用して追加の案件を開発しても、後続の試験工程で受け入れ可能な 案件の量は増えていないので、追加した案件を試験工程に渡すことができない QA そんなに 試験 できない… 追加 案件 追加 案件 追加 案件
開発以外の部分がボトルネックになってしまい 開発の高速化がリードタイムやスループットに 効きにくい構造になっていた
開発以外の部分がボトルネックになってしまい 開発の高速化がリードタイムやスループットに 効きにくい構造になっていた 追い求める指標によっては 開発のスコープだけで改善を行っても 効果が限定的になってしまう! 更なる改善が必要だ!!
Flutterリプレイスの効果を リードタイムやスループットに繋げるために その後の『じゃらんnet』アプリチームの改善活動 開発だけではなく プロセス全体を最適な状態に近付ける 改善活動を継続して実施
プロセス全体を 最適な状態に近づける改善活動 方針
改善活動は開発チームに閉じて 行うことが多かった • 開発における課題に着目しがち • 打ち手が開発によりがち これまで 改善活動の方針① - 職能を跨いだ改善チームを結成する
現在 開発 開発 QA デザイナー ディレクター 職能を跨いだ改善チームの結成 • プロセス全体における課題が見えてくる • 開発から見づらい点についても 解像度高く考慮した打ち手策定に繋がる
改善活動の方針② - 制約に集中してアプローチする • 現在の改善活動は「制約理論」をベースにして実施 • 制約理論: 仕事の流れの中にはどこかに必ず制約(ボトルネック)があり その制約に集中して改善を行うことで全体の成果を最大化する
• 現在の制約がどこにあるのか明確に特定する • 制約の特定に至ったら、その制約のみに集中してアプローチする プロセス 能力 100 25 120 A B C インプット 100 アウトプット 25 集中 引用: https://www.diamond.co.jp /book/9784478420409.html
改善活動の方針③ - 全体を解像度高く理解できる状態を作る • 制約を特定するためには、現在のプロセス全体を高い解像度で理解することが不可欠 • プロセスの状態を可視化するシステムの運用 ◦ JIRAのAPIから日次でチケットの更新履歴を取得→加工→可視化 ◦
可視化指標例: チケットの滞留状況推移、フェーズごとの平均LT推移 etc. • 現在のプロセスを継続的に可視化する仕組みを構築することで プロセスの全体像や現在の制約を継続的に把握し続けることが可能
プロセス全体を 最適な状態に近づける改善活動 施策例
課題 プロセス全体を最適化するために実施した施策例① 案件の受け渡しを行う 固定期間が長く 案件を寝かせる時間が長い
課題 プロセス全体を最適化するために実施した施策例① 打ち手 効果 案件の受け渡しを行う 固定期間が長く 案件を寝かせる時間が長い 固定の期間を半分に短縮し 対応した開発フローを再設計 リードタイムを
最大40%削減 待ち時間 だけを削減!
課題 プロセス全体を最適化するために実施した施策例② 開発完了しても QAリソース不足で試験ができず リリースできない案件が多発 QA そんなに 試験 できない… 開発
案 件 案 件 案 件 案 件 … … 開発済み案件
課題 プロセス全体を最適化するために実施した施策例② 打ち手 効果 開発完了しても QAリソース不足で試験ができず リリースできない案件が多発 ・開発とQAで協力して 試験する体制の構築 ・リグレッション
テストケースの見直し etc. スループットを 最大30%増加 QA そんなに 試験 できない… 開発 案 件 案 件 案 件 案 件 … … 開発済み案件 開発とQAで協力して 試験する体制の構築 テストケースの見直し
プロセス全体を最適な状態に近づけることで リードタイムやスループットの改善も実現 改善活動は限られた範囲で行うのではなく 俯瞰的に捉え全体を最適化することが重要
• 『じゃらんnet』アプリのFlutterリプレイスが リードタイム/スループットの指標に対する改善にはつながらなかった背景を受けて その後我々が行ったプロセス全体を最適化する改善活動についてご紹介 • プロセス全体を最適化するために ◦ 職能を跨いで改善チームを結成する ◦ 制約に集中してアプローチする
◦ 全体を解像度高く理解できる状態を作る • 現在はFlutterリプレイスとプロセス全体を最適化する改善活動によって リードタイムやスループットの指標についても顕著な改善効果を得ることができている まとめ