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
March 25, 2024
Technology
2
520
スマートフォン版サロンボードの 機能改善の土台づくり
2024/02/21に、RECRUIT TECH CONFERENCE 2024で発表した、小谷野の資料です。
Recruit
PRO
March 25, 2024
Tweet
Share
More Decks by Recruit
See All by Recruit
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
110
問題解決に役立つ数理工学
recruitengineers
PRO
11
2.8k
Curiosity & Persistence
recruitengineers
PRO
2
190
結果的にこうなった。から見える メカニズムのようなもの。
recruitengineers
PRO
1
410
成長実感と伸び悩みからふりかえる キャリアグラフ
recruitengineers
PRO
1
190
リクルートの オンプレ環境の未来を語る
recruitengineers
PRO
3
350
LLMのプロダクト装着と独自モデル開発
recruitengineers
PRO
1
360
新規検索基盤でマッチング精度向上に挑む! ~『ホットペッパーグルメ』の開発事例 ビジネス編
recruitengineers
PRO
3
200
新規検索基盤でマッチング精度向上に挑む! ~『ホットペッパーグルメ』の開発事例 技術編
recruitengineers
PRO
2
250
Other Decks in Technology
See All in Technology
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
6
750
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.3k
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
6
2.3k
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.2k
rubygem開発で鍛える設計力
joker1007
2
200
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
120
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
3
120
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
450
生成AIでwebアプリケーションを作ってみた
tajimon
2
150
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
270
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
390
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Faster Mobile Websites
deanohume
307
31k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Building Adaptive Systems
keathley
43
2.6k
Six Lessons from altMBA
skipperchong
28
3.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
940
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Transcript
スマートフォン版サロンボードの 機能改善の土台づくり プロダクトディベロップメント室 販促領域開発ディレクションユニット ⼩⾕野 雄史
⼩⾕野 雄史 クラフトビール‧レコード‧ラジオ 経歴 / Career 2017年リクルートホールディングス新卒⼊社。 旅⾏領域にて『じゃらん』のレコメンド施策の提案‧実装 や、飲⾷領域にて『Airメイト』のAndroidアプリ開発に携 わる。
現在はビューティー領域にて『ホットペッパービュー ティー』のAPIの開発リーダーを担当。 さらに、開発チームの⽴ち上げやリプレイスをきっかけにス マートフォン版『サロンボード』の開発リーダーや開発 ディレクターを担当。 趣味 / Hobbies 株式会社リクルート プロダクトディベロップメント室 販促領域開発ディレクションユニット 飲⾷‧ビューティー領域開発ディレクション部 ビューティー開発ディレクショングループ
プロダクト紹介:『サロンボード』 サロンボード利⽤店舗数 HOT PEPPER Beauty 経由での年間予約数※1 ▼美容室や、ネイル‧まつげ‧リラク‧エステ各サロン向け予約‧顧客管理サービス • 予約‧顧客管理を始めとして、会計‧集計‧分析‧HOT PEPPER
Beauty上の掲載情報管理など様々な機能を提供 • サロンワークにおける業務効率アップ‧集客の最⼤化を⽀援 • PC版Webアプリ(タブレット含む)とスマートフォン(SP)版Webアプリを提供 1億6500万件以上 全国10万店舗以上 ※1 予約受付⽇ベース
▼SP版サロンボードの位置付け • 2012年のリリース当初は、PC版の利⽤がメインでSP版はサブ的に利⽤するという位置付けだった • PC版と⽐較してSP版は提供機能も少なく、SP端末のユースケースに特化したSP版独⾃の機能も存在していなかった • SP版の機能改善もアクティブに進めておらず、⼀部画⾯のUI/UXの改善に留まるのみだった スマートフォン(SP)版サロンボードが抱えていた課題
▼SP版サロンボードの需要の変化 • 近年はSP版の需要が⾼まり、PC版でしか利⽤できない機能をSP端末からでも利⽤したいというニーズが増加していた • しかし、SP版の機能が⾜りない‧使いづらいという理由からSP端末からPC版を利⽤するユーザーが増えていた ▼SP端末に最適化した機能提供ができていない • SP端末からPC版を利⽤できたとしても、SP端末に最適化した機能を提供できているわけではなかった • SP版のポテンシャルを⼗分に発揮できるように改善できれば、サロンボード全体の提供価値も向上できるはず
• そこで、事業としてSP版の抜本的な機能改善に取り組むことを検討していた スマートフォン(SP)版サロンボードが抱えていた課題 SP端末だと ⾒切れてしまう PC版をSP端末から利⽤した場合のイメージ SP端末からの操作を 前提としたUIに なっていない
▼SP版サロンボードの需要の変化 • 近年はSP版の需要が⾼まり、PC版でしか利⽤できない機能をSP端末からでも利⽤したいというニーズが増加していた • しかし、SP版の機能が⾜りない‧使いづらいという理由からSP端末からPC版を利⽤するユーザーが増えていた ▼SP端末に最適化した機能提供ができていない • SP端末からPC版を利⽤できたとしても、SP端末に最適化した機能を提供できているわけではなかった • SP版のポテンシャルを⼗分に発揮できるように改善できれば、サロンボード全体の提供価値も向上できるはず
• そこで、事業としてSP版の抜本的な機能改善に取り組むことを検討していた スマートフォン(SP)版サロンボードが抱えていた課題 SP端末だと ⾒切れてしまう PC版をSP端末から利⽤した場合のイメージ SP端末からの操作を 前提としたUIに なっていない ユーザーのためにも、事業としても SPサロンボードの 抜本的な機能改善を進めたい! しかし SP版サロンボードの改善を思うように 進めることが難しい状況にあった
SP版サロンボードの改善が進まない要因 保守性低下のサイクルによる開発スピードの低下 継続的な改善にフォーカスしづらい開発体制
保守性低下のサイクルによる開発スピードの低下 ▼技術的負債に起因する保守性低下のサイクル • 過去に過度に短期デリバリーを優先した結果、テストや適切な設計の⽋如などの技術的負債が積み重なっていた • それによって中⻑期的な品質担保まで⼿が回らない状態が続き、さらに保守性が低下するというサイクルに陥っていた
継続的な改善にフォーカスしづらい開発体制 ▼SP版専任の開発チームの不在 • PC版‧SP版でモジュールは分かれているものの、同⼀のチームでPC版‧SP版の両⽅を開発しているため SP版にフォーカスできるような開発体制ではなく、SP版の改善にもオーナーシップを持ちづらくなっていた ▼SP版改善の優先度が上げづらいプロダクトバックログ • プロダクトバックログの優先順位は、緊急度‧重要度‧コスト‧効果など複数観点からPOやチームが判断している • PC版とSP版のユーザー規模を⽐較すると、インパクトが⼤きいPC版の改善の⽅が優先されやすくなってしまっており
SP版の継続的な改善改善サイクルを回したり、同じメンバーを継続してアサインするのが難しくなっていた
継続的な改善にフォーカスしづらい開発体制 ▼SP版専任の開発チームの不在 • PC版‧SP版でモジュールは分かれているものの、同⼀のチームでPC版‧SP版の両⽅を開発しているため SP版にフォーカスできるような開発体制ではなく、SP版の改善にもオーナーシップを持ちづらくなっていた ▼SP版改善の優先度が上げづらいプロダクトバックログ • プロダクトバックログの優先順位は、緊急度‧重要度‧コスト‧効果など複数観点からPOやチームが判断している • PC版とSP版のユーザー規模を⽐較すると、インパクトが⼤きいPC版の改善の⽅が優先されやすくなってしまっており
SP版の継続的な改善改善サイクルを回したり、同じメンバーを継続してアサインするのが難しくなっていた 専任の開発チームを立ち上げて リプレイスによって保守性を改善することで 機能改善にフォーカスできるようにしたい!
継続的な改善にフォーカスしづらい開発体制 ▼SP版専任の開発チームの不在 • PC版‧SP版でモジュールは分かれているものの、同⼀のチームでPC版‧SP版の両⽅を開発しているため SP版にフォーカスできるような開発体制ではなく、SP版の改善にもオーナーシップを持ちづらくなっていた ▼SP版改善の優先度が上げづらいプロダクトバックログ • プロダクトバックログの優先順位は、緊急度‧重要度‧コスト‧効果など複数観点からPOやチームが判断している • PC版とSP版のユーザー規模を⽐較すると、インパクトが⼤きいPC版の改善の⽅が優先されやすくなってしまっており
SP版の継続的な改善改善サイクルを回したり、同じメンバーを継続してアサインするのが難しくなっていた しかし、それらを進めづらい 別の要因があった・・・
▼SP版は1プロダクトというよりは1サブシステムという位置付けになっていた • サロンボードというプロダクトのメインスコープはPC版になっており、SP版は1サブシステム的な位置付けだった • サロンボード全体としてのプロダクトビジョンは定義されていたものの、あくまでPC版がメインだったため SP端末からの利⽤ニーズを考慮したSP版独⾃のプロダクトビジョンや提供価値を定義できていなかった ▼SP版改善の妥当性や、SP版にフォーカスした開発体制の必要性を明確にできていなかった • SP版として取り組むべき機能改善のプロダクトバックログアイテムは⽤意されていたが SP版サロンボードの中⻑期的な⽅向性や、継続的に追うべき価値やKPIを定められていなかった
• 結果的にリプレイスや機能改善の妥当性や、SP版にフォーカスした開発体制の必要性が説明しづらくなっていた SP版サロンボードが1プロダクトという位置付けになっていない
SP版サロンボードの改善が進まない要因の構造 1プロダクトという位置付けになっていない 継続的な改善にフォーカスしづらい開発体制 保守性低下のサイクルによる開発スピードの低下
SP版サロンボードの改善が進まない要因の構造 1プロダクトという位置付けになっていない 継続的な改善にフォーカスしづらい開発体制 システム 組織 プロダクト 保守性低下のサイクルによる開発スピードの低下
SP版サロンボードの改善が進まない要因の構造 1プロダクトという位置付けになっていない 継続的な改善にフォーカスしづらい開発体制 システム 組織 プロダクト 保守性低下のサイクルによる開発スピードの低下
エンジニアが最も得意とするシステム⾯だけを 変えようとしても全体の状況は変わりづらい 1プロダクトという位置付けになっていない 継続的な改善にフォーカスしづらい開発体制 保守性低下のサイクルによる開発スピードの低下 システム 組織 プロダクト
エンジニアが最も得意とするシステム⾯だけを 変えようとしても全体の状況は変わりづらい 1プロダクトという位置付けになっていない 継続的な改善にフォーカスしづらい開発体制 保守性低下のサイクルによる開発スピードの低下 システム 組織 プロダクト エンジニアとして得意な部分だけに着目して 改善の提案をしても
うまくステークホルダーの合意を得られなかった
1プロダクトという位置付けになっていない 継続的な改善にフォーカスしづらい開発体制 保守性低下のサイクルによる開発スピードの低下 システム 組織 プロダクト 顧客や市場のニーズや事業の変化に合わせて ⼟台部分も⼀緒に変えていく必要がある
1プロダクトという位置付けになっていない 継続的な改善にフォーカスしづらい開発体制 保守性低下のサイクルによる開発スピードの低下 システム 組織 プロダクト 顧客や市場のニーズや事業の変化に合わせて ⼟台部分も⼀緒に変えていく必要がある プロダクトとしてどう変化していくべきかの 自分なりの仮説や戦略を持ち込みながら
ステークホルダーを巻き込むことで 協力を得られやすくしていった
1プロダクトという位置付けになっていない 継続的な改善にフォーカスしづらい開発体制 保守性低下のサイクルによる開発スピードの低下 システム 組織 プロダクト ▶ 段階的なシステムのリプレイス ▶ 開発チームとプロダクトバックログの分離
▶ プロダクトビジョンやKPIの定義 1エンジニアとして3つのアプローチを提案して プロダクト→組織→システムの順で実施
プロダクト:SP版独⾃のプロダクトビジョンやKPIの定義 ▼SP版の1プロダクトとして再定義 • PC版とSP版では業務上のユースケースが⼤きく異なり、そもそも提供価値⾃体が異なるため SP版をPC版に付随する1つのサブシステムではなく、1つのプロダクトとして位置付けを再定義した • PdMと⼀緒にSP版としてのプロダクトビジョンや提供価値、プロダクトKGI‧KPIなどを定めた ▼SP版改善の妥当性や、SP版にフォーカスした開発体制の必要性を明確にした • サロンボード全体の⽅針とは整合性を取りつつも、SP版としての⽬指すべき⽅向性と提供価値を定めることで
SP版改善の妥当性を明確にし、専任の開発チームを作りやすい状態にした ※必ずしもプラットフォーム軸で価値を定義するのが最適とは限らないが、現時点のサロンボードではSP版として価値を定義することがよいと判断
組織:開発チームとプロダクトバックログの分離 ▼開発チームの分離 • サロンボード全体の開発チームを分離して、SP版にオーナーシップを持つ専任の開発チームを新たに⽴ち上げ • SP版の継続的な改善にフォーカスできるような開発体制を作った ▼プロダクトバックログの分離 • サロンボード全体のプロダクトバックログを分離し、SP版の価値提供に集中したプロダクトバックログを作成 •
チームとして、SP版の課題に集中できるようになり、機能改善や保守性の改善に着⼿しやすくなった
システム:段階的なシステムのリプレイス ▼段階的なシステムのリプレイス • PC版とSP版は別システムとして稼働していたため、SP版のシステムをリプレイスして保守性を根本的に改善 • 既存システムと並⾏稼働させ、リプレイス完了した画⾯からリリースしてトラフィックを流すようにした ▼継続的な改善サイクル • システムやコードを書き換えるだけでなく、必要に応じて機能追加や改善も同時に実施 •
段階的なシステムリプレイスと、リプレイスした機能のさらなる改善を並⾏で実施
保守性の⾼いシステムに置き換えられ 少ない⼯数で改善ができるようになった SP版にフォーカスして改善し続けられる 開発体制を作ることができた SP版を個別のプロダクトとして 重視できるようになった アプローチの結果どう変化したのか システム 組織 プロダクト
保守性の⾼いシステムに置き換えられ 少ない⼯数で改善ができるようになった SP版にフォーカスして改善し続けられる 開発体制を作ることができた SP版を個別のプロダクトとして 重視できるようになった アプローチの結果どう変化したのか システム 組織 プロダクト
SP版サロンボードの 機能改善の土台が揃うことで 素早い改善サイクルが回り出すようになった!
さいごに ▼プロダクトの機能改善がうまく進められないとき、その背景に改善の優先度をあげづらい構造がある • プロダクトとして価値をどう定義するかが、組織やシステムの構造にも影響する • 顧客‧市場ニーズや事業の変化によってプロダクトが変わるとき、合わせて組織‧システムも最適化する必要がある ▼エンジニアとしてシステムの課題を解決しようとするとき • 時にはシステムだけを変えようとせずに、その⼟台となる組織やプロダクトの課題にも注⽬する •
システムリプレイスが必要になるまで技術的負債が積み重なるとき、プロダクトや組織の構造の問題を疑う システム 組織 プロダクト プロダクトバックログ KPI プロダクト価値 プロダクトビジョン チーム 技術的負債 保守性
さいごに ▼プロダクトの機能改善がうまく進められないとき、その背景に改善の優先度をあげづらい構造がある • プロダクトとして価値をどう定義するかが、組織やシステムの構造にも影響する • 顧客‧市場ニーズや事業の変化によってプロダクトが変わるとき、合わせて組織‧システムも最適化する必要がある ▼エンジニアとしてシステムの課題を解決しようとするとき • 時にはシステムだけを変えようとせずに、その⼟台となる組織やプロダクトの課題にも注⽬する •
システムリプレイスが必要になるまで技術的負債が積み重なるとき、プロダクトや組織の構造の問題を疑う システム 組織 プロダクト プロダクトバックログ KPI プロダクト価値 プロダクトビジョン チーム 技術的負債 保守性 エンジニアとして システムだけではなく プロダクトや組織にも目を向けよう!