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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Recruit
PRO
March 03, 2025
Technology
3
130
イテレーティブな開発で 不確実性を乗り越える
2025/2/19に開催したRecruit Tech Conference 2025の索手の資料です
Recruit
PRO
March 03, 2025
Tweet
Share
More Decks by Recruit
See All by Recruit
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
440
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
710
プロダクトマネジメントの分業が生む「デリバリーの渋滞」を解消するTPMの越境
recruitengineers
PRO
4
1.1k
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
4
430
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
5
330
『ホットペッパービューティー』のiOSアプリをUIKitからSwiftUIへ段階的に移行するためにやったこと
recruitengineers
PRO
5
2k
経営の意思決定を加速する 「事業KPIダッシュボード」構築の全貌
recruitengineers
PRO
4
520
Browser
recruitengineers
PRO
13
4.4k
JavaScript 研修
recruitengineers
PRO
9
2.4k
Other Decks in Technology
See All in Technology
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
530
猫でもわかるKiro CLI(セキュリティ編)
kentapapa
0
130
プロポーザルに込める段取り八分
shoheimitani
1
680
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
150
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
850
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
350
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
200
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
150
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Leo the Paperboy
mayatellez
4
1.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
A better future with KSS
kneath
240
18k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
190
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Transcript
イテレーティブな開発で 不確実性を乗り越える RECRUIT TECH CONFERENCE 2025 新規事業に挑む開発チームの在り方 索手 一平 株式会社リクルート プロダクトディベロップメント室
索手 一平 スポーツ観戦・筋トレ・サウナ・ビール 経歴 / Career 2016年にリクルートに新卒入社。 ビューティー領域にて『ホットペッパービューティー』 のAndroidアプリおよびそのAPIシステムのリプレイスプ ロジェクトを担当。
その後はアーキテクトとして『ホットペッパービュー ティーワーク』の立ち上げに携わる。 現在は『ホットペッパービューティーワーク』の 開発チームリーダー兼TechLead。 趣味 / Hobbies プロダクトディベロップメント室 販促領域エンジニアリング2ユニット ビューティー領域エンジニアリング部 ビューティープロダクト開発3グループ
『ホットペッパービューティーワーク』とは • 『ホットペッパービューティー』が提供する 美容業界向け求人マッチング&ソリューションサービス • 2023年2月にWeb版をリリース
『ホットペッパービューティーワーク』とは 2024年6月にiOS・Androidアプリ をリリース 🚀
今日お話しすること アプリ立ち上げプロジェクトについて イテレーティブな開発スタイルを通して 早期リリースをいかに実現したか
iOS・Androidアプリの立ち上げについて • 応募数増を目的として2023年8月にスタート 急遽プロジェクトを立ち上げ2024年6月には無事リリース 🎉 • 少しでも早く応募数増に寄与するため 最短でのリリース を 目指していた、つまり
デリバリー(D)の優先度が最も高い 状況
iOS・Androidアプリの立ち上げについて • 応募数増を目的として2023年8月にスタート 急遽プロジェクトを立ち上げ2024年6月には無事リリース 🎉 • 少しでも早く応募数増に寄与するため 最短でのリリース を 目指していた、つまり
デリバリー(D)の優先度が最も高い 状況 スコープ 開発チームの状況 プロジェクト開始時、大きく2つの課題があった
最小スコープがどこなのか確信を持てずにいた 立ち上げ時の課題: • 最短でリリースするためにはスコープの最小化は必須 • しかしユーザに受け入れられるだけの最低限のUXは 初期リリース時点で担保したい • 最低限のUXを保てるスコープがどこなのか確信が持てなかった スコープ
iOS・Androidエンジニアは他の開発チームから集める形で プロジェクトチームを組閣 ホットペッパービューティーワーク 開発チーム アプリ立ち上げ プロジェクトチーム iOS・Android エンジニア サーバサイド エンジニア
ディレクター デザイナー 他の開発チーム 立ち上げ時の課題: 開発チームの状況
• アサインされたサーバサイドエンジニアは iOS・Android開発に携わるのが初めて → iOS・Android開発の流れや考慮事項の知識・経験が不足 • iOS・Androidエンジニアは 『ホットペッパービューティーワーク』に携わるのが初めて → ドメイン知識・既存メンバーとの相互理解が不足
開発チームの知識・経験・相互理解が大きく不足していた 立ち上げ時の課題: 開発チームの状況
イテレーティブな開発スタイルの採用 • 『ホットペッパービューティーワーク』では 個々の案件単位ではウォータフォール(WF)寄りの 開発スタイルを採用してきた • WFは後続工程に向けて事前に要件・設計を整理するスタイル、 今回のプロジェクトとは相性が悪い ◦ スコープ変動時に整理した内容が無駄になりかねない
◦ 知識・経験が不足していては後続工程のイメージが困難 • そこで イテレーティブな開発スタイル を採用することに
イテレーティブな開発スタイル 作るべき機能を細分化し、それぞれをマイルストーンとして 一つ一つ「完成」させていく 検索条件モーダル 要件定義 設計 ・・・ 受け入れテスト TOP画面 要件定義
設計 ・・・ 受け入れテスト チュートリアル 要件定義 設計 ・・・ 受け入れテスト ・・・ 開発工程を 何度も繰り返す
イテレーティブな開発スタイルの狙いと効果(1/2) 開発チームを早期に成熟させること 開発工程を細かく繰り返し、機能完成までに必要な作業・論点の 学習サイクルを素早く回すことができる 効果 開発チームが早い段階から具体的な 完成イメージ・共通言語を得てスムーズに開発することが可能に 狙い
イテレーティブな開発スタイルの狙いと効果(2/2) 早期にスコープをFixさせること 部分的にでも完成した機能に触れることで UXへの解像度が高まり「最低限のスコープ」を早期に見極められる 効果 プロジェクト開始から4ヶ月(2023年12月)でスコープをほぼFix プロダクトへの自信が深まり スコープ削減の意思決定が可能に 狙い
開発スタイルを活かすための3つの工夫 1. 口頭コミュニケーションの促進 2. まず動くアプリを作る 3. 極端なやり方で必要なものを見極める
開発スタイルを活かすための3つの工夫 1. 口頭コミュニケーションの促進 2. まず動くアプリを作る 3. 極端なやり方で必要なものを見極める
口頭コミュニケーションの促進 • イテレーティブ開発は小さなゴールを短期間で達成していくスタイル 進行中の作業がブロックされないよう 発生した論点の早期解決が重要 → その場で一気に話を進められる 口頭議論と相性が良い • 相互理解が浅い状態でチームがスタートしていたため、
そこを深めていく意味でも相性が良かった
口頭コミュニケーションの促進 • プロジェクトとして専用の会議体を多く設けることで仕組みと して口頭コミュニケーションを促進、エンジニアのリーダー層 は毎日、プロジェクト全体では週3回 集まる場を設定 • 論点解決に向けた情報収集や意思決定をその場で完了するため プロジェクトの参加者はなるべく全員を会議に集める形で運用
開発スタイルを活かすための3つの工夫 1. 口頭コミュニケーションの促進 2. まず動くアプリを作る 3. 極端なやり方で必要なものを見極める
まず動くアプリを作る • 開発を始める際は「CI環境整備」「ライブラリの選定」など開 発基盤を整えるところから始めることが多いが、それらを後回 しにし 動くアプリ(実際のWeb APIを呼び出して、アプリが 動作する状態)の完成をチーム全体の最優先事項とした • 開発サイクルを一周しチームを成熟させることが
このプロジェクトにとって最も重要だと判断
この3要素を 「動くアプリ」の 要件とした 優先度はMiroに書き出して議論 予定していたタスクと その依存関係を洗い出し 個々のタスクを後回しにできな いかチームで議論
後回しにしたタスクの例 細かい開発フロー系は全般後回し ライブラリ選定も最初のマイルストーン に直結しないものは後回し 作業に1時間取れそうかを 基準にしていた
開発スタイルを活かすための3つの工夫 1. 口頭コミュニケーションの促進 2. まず動くアプリを作る 3. 極端なやり方で必要なものを見極める
極端なやり方で必要なものを見極める • プロジェクト開始当初は仕様書・設計書などの中間成果物を どこまで作るか迷っていたが、まずは「中間成果物一切無し」 という極端なやり方で開発に着手することに • 極端な方向に振ることで「本当に必要なもの」を見極めやすく なり、実際に行うことで 自信を持って判断することができる •
結果、最小限の成果物で効率よく開発を進める事が可能に
プロジェクト全体(アプリ立ち上げ)の結果 • 初期はリリース時期を「2024年12月」と見立てていたが 「2024年06月」と6ヶ月前倒しでリリース 🚀 • 不具合が発生することもほぼなく、 アプリリリース後の応募数は 事前の見立て通り大幅増 📈
プロジェクト全体(アプリ立ち上げ)の結果 • 初期はリリース時期を「2024年12月」と見立てていたが 「2024年06月」と6ヶ月前倒しでリリース 🚀 • 不具合が発生することもほぼなく、 アプリリリース後の応募数は 事前の見立て通り大幅増 📈
ビジネス効果を損なうことなく リリースを大幅に前倒すことができた
まとめ • UXの見極め・開発チームの成熟が必要な状況では イテレーティブな開発が有効 • イテレーティブな開発をうまく駆動するために「口頭コミュニ ケーションの促進」「まず動くものを作る」「極端なやり方で 必要なものを見極める」が効果的
Fin