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
組織構造の力学を操作して、アプリ開発プロセスを最大化させる / organizationa...
Search
Masato Ishigaki / 石垣雅人
September 10, 2020
Technology
2
740
組織構造の力学を操作して、アプリ開発プロセスを最大化させる / organizational structure to maximize the development process
2020/09/21 「iOSDC Japan 2020」登壇資料
Masato Ishigaki / 石垣雅人
September 10, 2020
Tweet
Share
More Decks by Masato Ishigaki / 石垣雅人
See All by Masato Ishigaki / 石垣雅人
技術負債の「予兆検知」と「状況異変」のススメ / Technology Dept
i35_267
1
1k
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
4
2.2k
「開発生産性を上げる改善」って儲かるの?に答えられるようにする / Is development productivity profitable?
i35_267
28
20k
「開発生産性」はエンジニア”だけ” のモノではなくなった? / "Development productivity" is no longer just for engineers?
i35_267
9
2.7k
開発生産性の現在地点~エンジニアリングが及ぼす多角的視点 / Current status of development productivity
i35_267
68
26k
開発生産性の低下による、事業の失敗はなぜ起こるのか / ProductivityPitfalls
i35_267
6
1.5k
開発生産性の多角的接点〜1,000名のクリエイター組織 × 開発生産性〜 / Multifaceted touchpoints of development productivity
i35_267
5
1.6k
内製化で強化させる、事業のスケーラビリティーとエンジニアの成長戦略 / insourcing
i35_267
2
390
見積もりをしない。
i35_267
4
1.3k
Other Decks in Technology
See All in Technology
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
2
390
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
190
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
460
ビジネスと現場活動をつなぐソフトウェアエンジニアリング~とあるスタートアッププロダクトの成長記録より~
mizunori
0
210
プロセス改善による品質向上事例
tomasagi
1
1.6k
Fintech SREの挑戦 PCI DSS対応をスマートにこなすインフラ戦略/Fintech SRE’s Challenge: Smart Infrastructure Strategies for PCI DSS Compliance
maaaato
0
450
君も受託系GISエンジニアにならないか
sudataka
1
370
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
1
1.3k
20250208_OpenAIDeepResearchがやばいという話
doradora09
PRO
0
170
Platform Engineeringは自由のめまい
nwiizo
4
1.9k
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
740
生成AIの利活用を加速させるための取り組み「prAIrie-dog」/ Shibuya_AI_1
visional_engineering_and_design
1
140
Featured
See All Featured
Visualization
eitanlees
146
15k
For a Future-Friendly Web
brad_frost
176
9.5k
4 Signs Your Business is Dying
shpigford
182
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Invisible Side of Design
smashingmag
299
50k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Agile that works and the tools we love
rasmusluckow
328
21k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Music & Morning Musume
bryan
46
6.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Transcript
組織構造の力学を操作して アプリ開発プロセスを最大化させる iOSDC Japan 2020 September 21, 2020 1
2 Outline / Structure of the Talk ・iOSにおける新規事業開発をベースにお話します ・リードタイムを削減しながらも、良いものを市場へ投入したい ・組織とプロセスを操作することでバリューストリームを設計する
・組織構造の力学 / 生産性の可視化・バランス / 意思決定のプロセス
3 About me Masato Ishigaki / 石垣 雅人 DMM.com 総合トップ開発部
部長 2015年度 エンジニア 新卒入社 2017年より、DMMにおける3000万のアカウント(ID)、認証(Auth) のバックエンド 周りのプロダクトオーナーを経て、 2018年7月にリードナーチャリング領域を強化す るチームの立ち上げを行う。 2020年より、DMMの総合トップなどを管轄する総合 トップ開発部の部長を務める。 現在はアプリプラットフォームのプロダクトオーナーにも 従事 @i35_267 i35-267 著 『DMMを支えるデータ駆動戦略』 https://www.amazon.co.jp/dp/4839970165/
事業 40以上の事業を 20以上のグループ会社で運営 規模の大小、ジャンル関係なく 未来を感じるビジネスに投資し 領域とわず、なんでもやります。
数字でみるDMM ※ ) 、 証券、 、 ,他連結( 月期) ※ )
サービスの会員数( 月期) 売上 会員数 事業数 グループ会社 設立 従業員数 ※ ※ 億円 万人 事業以 上 以 上 社 年目 名
6 DMM PointClub DMMの新しいプラットフォームアプリ
7 Client BFF Backends For Frontends API API SDK API
Software Development Kit Application Programming Interface Database iOS ・言語 : Swift ・設計:VIPER+FlowController(マルチモジュール) ・利用技術:SwiftUI+Combine ・CI : Bitrise ・デザインツール: Figma BFF / Backend APIs ・言語 : Go ・設計:DDD(ドメイン駆動設計) ・環境:AWS ECS(Fargate),etc... ・DB : Aurora ・CI : CircleCI ・API定義:OpenAPI (Swagger) ・・ ・ Microservices Tracking ・Firebase→BigQuery→DWH ・AppsFlyer ・AppAnnie Architecture
8 事業責任者 (プロダクトオーナー) 開発チーム UI / UX Designer iOS +
Android Engineer Backend Engineer Growth / Marketing Team 計13 ~ 14名
9 Client BFF Backends For Frontends API API SDK API
Software Development Kit Application Programming Interface Database iOS ・言語 : Swift ・設計:VIPER+FlowController(マルチモジュール) ・利用技術:SwiftUI+Combine ・CI : Bitrise ・デザインツール: Figma Backend APIs ・言語 : Go ・設計:DDD(ドメイン駆動設計) ・環境:AWS ECS(Fargate),etc... ・DB : Aurora ・CI : CircleCI ・API定義:OpenAPI (Swagger) ・・ ・ Microservices Tracking ・Firebase→BigQuery→DWH ・AppsFlyer ・AppAnnie という状況下の中でプロダクトを作るときに意識する部分 「リードタイムを最大限短縮する」 不確実性が高い事業環境下、 予算が尽きる前にできるだけ早く市場へ投入して、 イテレーティブな仮説検証を経て、 稼がなければ、事業が死んでしまう
10 リードタイムを「1/3」に短縮できれば、 1年間で4回リリースを12回 (3倍) にすることができる ※ 2年間だったら、8回 → 24回 ※3年間だったら、12回
→ 36回 ....
11 Client BFF Backends For Frontends API API SDK API
Software Development Kit Application Programming Interface Database iOS ・言語 : Swift ・設計:VIPER+FlowController(マルチモジュール) ・利用技術:SwiftUI+Combine ・CI : Bitrise ・デザインツール: Figma Backend APIs ・言語 : Go ・設計:DDD(ドメイン駆動設計) ・環境:AWS ECS(Fargate),etc... ・DB : Aurora ・CI : CircleCI ・API定義:OpenAPI (Swagger) ・・ ・ Microservices Tracking ・Firebase→BigQuery→DWH ・AppsFlyer ・AppAnnie 考えるべきことは2つ ・どういう組織構造で作っていくか ・どういうプロセスで作っていくか 個々のスキルにプロダクト開発のリードタイムが左右されてないように 構造(仕組み)から生まれる力学を意識してバリューストリームを作っていく。 生産性の再現性を作る
12 サービス iOS / Android UIデザイン バックエンド Pattern.1 専門レイヤーにチームを分ける モバイルチーム
バックエンドチーム スモールチームをどう分けていくか Pattern.2 ドメインチーム体制 サービス iOS / Android UIデザイン バックエンド ドメインチーム
13 サービス iOS / Android UIデザイン バックエンド モバイルチーム バックエンドチーム Pros
/ Cons ・人数 + 0→1フェーズということを考慮した上で、専門性を 持って一気に構築を進める専門レイヤーごとのチームを採 用 ・それぞれのチームでイテレーションを回すことで会話のプ ロトコルを合わせる ・スクラムチームでいう「LeSS」の体制 ・懸念点は、1つのプロダクトを作るにあたって、モバイルと バックエンドのコミュニケーションが必ず必要になること。 オーバーヘッドが高くなる。 Pattern.1 専門レイヤーにチームを分ける スモールチームをどう分けていくか
14 「リードタイム削減 : その1」 全員のプロダクトイメージを完全に一致させる 特に初期の頃は、皆が同じものをイメージしていないと 議論が散らばって、時間だけが過ぎていく これを防ぐ解決策が必要
15 「0→1を組織でスタートを切るための3つの構築」 1. ユーザーストーリーマッピング 構築 2. プロダクトバックログ 構築 3. 開発プロセス
構築 Photo by Martin Katler on Unsplash
16 1. 1. ユーザーストーリーマッピング 構築 ↓ 「Scope」 2. プロダクトバックログ 構築
↓ 「Priority」 3. 開発プロセス 構築 ↓ 「Process」
17 「0→1を組織でスタートを切るための3つの構築」 1. ユーザーストーリーマッピング 構築 2. プロダクトバックログ 構築 3. 開発プロセス
構築 Photo by Martin Katler on Unsplash
18 Scope ユーザーストーリーマッピング
19 Scope ユーザーストーリーマッピング バックボーン ナラティブフロー 画面 詳細 骨格 物語 (ユーザーストーリー)
UIデザイン タスク
20 Scope ユーザーストーリーマッピング アカウント登 録・認証する 支払い方法 を選択する 商品を 検索する 商品を
購入する 商品 ページを見る ジャンル で検索 メールアドレ スで 登録する SNSアカウン トで登録でき る カート に入れる クレジット カード を登録する ポイントを 配る クーポンを 配る 購入完了 メールを送る
21 商品を 検索する 商品を 購入する カート に入れる アカウント登録 ・認証する 支払い方法を
選択する 商品を 検索する 商品を 購入する 商品 ページを見る ジャンル で検索 商品名 で検索 価格が見える 商品 レビューが 見れる メールアドレス で 登録する SNSアカウント で登録できる ゲストで 登録できる カート に入れる クレジットカー ド を登録する ポイントを 配る クーポンを 配る クーポン を使う 電子マネーで 払う バックボーン 抽象度 優先度 t t ナラティブフロー 詳細 購入完了 メールを送る リリース #1(MVP)
increment iterative プロダクト(機能)の積み上げ方 22
23 商品を 検索する 商品を 購入する カート に入れる アカウント登録 ・認証する 支払い方法を
選択する 商品を 検索する 商品を 購入する 商品 ページを見る ジャンル で検索 商品名 で検索 価格が見える 商品 レビューが 見れる メールアドレス で 登録する SNSアカウント で登録できる ゲストで 登録できる カート に入れる クレジットカー ド を登録する ポイントを 配る クーポンを 配る クーポン を使う 電子マネーで 払う バックボーン 抽象度 優先度 t t ナラティブフロー 詳細 購入完了 メールを送る リリース #1(MVP) increment iterative
24 Priority プロダクトバックログ 商品を検索する 商品を購入する 商品を検索する 商品ページを見る アカウント 登録・認証する 支払い方法を
選択する 商品を購入する ジャンルで検索 商品名で検索 価格が見える 商品レビューが見える メールアドレスで 登録する SNSアカウントで 登録する ゲストで登録する カートに入れる クレジットカードを 登録する クーポンを使う 電子マネーを使う 購入完了メールを送る ポイントを配る クーポンを配る カートに入れる ジャンルで検索 商品名で検索 価格が見える 商品レビューが見える メールアドレスで 登録する SNSアカウントで 登録する カートに入れる クレジットカードを 登録する 購入完了メールを送る 初期MVP #1
25 「リードタイム課題 : その2」 初期MVPで作るべき、プロダクトのイメージが重なって無事開発が開始できる 次の出てくる問題として、 各レイヤーのスピード感の違いによる 機能結合のタイミング、デモのタイミング、意思決定のプロセス を整わせなければいけない
API 26 メールアドレスで 登録する ユーザーストーリー UIデザイン iOS API API iOS
API 結合 開発 / 設計 WF デモ Backends API Backends API ジャンルで検索 クレジットカードを 登録する ・ ・ ・
27 「0→1を組織でスタートを切るための3つの構築」 1. ユーザーストーリーマッピング 構築 2. プロダクトバックログ 構築 3. 開発プロセス
構築 Photo by Martin Katler on Unsplash
28 「流れ」を思考する やれることは沢山ある ・バリューストリームを設計する(バリューストリームマッピングを書く) ・TOC(制約理論)を意識して、ボトルネックはどこかを突き止める ・リソース効率ではなく、フロー効率を意識する ・プロセスをモニタリングする / プロセスを制御する
29 「流れ」を思考する やれることは沢山ある ・バリューストリームを設計する(バリューストリームマッピングを書く) ・TOC(制約理論)を意識して、ボトルネックはどこかを突き止める ・リソース効率ではなく、フロー効率を意識する ・プロセスをモニタリングする / プロセスを制御する
30 プロセスをモニタリングする 局所最適化ではなく、全体最適化を目的とした 「かんばん」 ストーリー WF 設計 iOS / BE
開発中 結合 計測をしてボトルネックの可視化 PO確認 クローズ
31 「かんばん」の累積フローを可視化する 工程(プロセス) リードタイム WIP 設計 開発 & 結合 PO確認
クローズ
32 スプリントレビュー(PO確認)待ちでの リードタイムがもったいない ↓ 検証用環境に上げてもらったら、 BitriseのQRコード読み込んで、 速攻確認→クローズの流れ 意思決定のプロセス
リードタイム スタート 価値 工程 WIP制限(作業の制御)をかけて、 1個ずつ流すように制御する ここでいうと複数ストーリーを着手しない WIP制限 Single Piece
Flow(1つのサイクルで1つの仮説)
34 まとめ ・人数規模や事業規模によって組織構造を最適化する ・どういう組織構造で作っていくか(構成と) ・どういうプロセスで作っていくか ・生産性の可視化 ・ボトルネックなプロセスに対策を打ち込む
35 ご清聴ありがとうございました