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
120名の開発組織を支える、技術マネジメントと選定
Search
pospome
July 18, 2023
Technology
8.3k
11
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
120名の開発組織を支える、技術マネジメントと選定
"ソフトウェアアーキテクトの挑戦 技術選定を成功させるために" の登壇資料です。
https://offers.connpass.com/event/289340/
pospome
July 18, 2023
More Decks by pospome
See All by pospome
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
710
スタートアップを支える技術戦略と組織づくり
pospome
8
22k
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.7k
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
8
5.4k
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
10
6.4k
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
44
23k
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
12
5.4k
組織全体で開発生産性に取り組むために 専門チームを作った話
pospome
2
2.2k
DMMプラットフォームにおける GKE を利用した プラットフォームエンジニアリングへの 取り組み
pospome
1
1k
Other Decks in Technology
See All in Technology
sue445's proposals 2026
sue445
0
120
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
180
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
770
Getting Started with Google Antigravity
glaforge
0
340
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
460
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
190
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
330
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
450
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
290
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
420
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
41k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Building the Perfect Custom Keyboard
takai
2
910
The untapped power of vector embeddings
frankvandijk
2
1.9k
Ethics towards AI in product and experience design
skipperchong
2
440
The browser strikes back
jonoalderson
0
1.8k
Designing for humans not robots
tammielis
254
26k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Practical Orchestrator
shlominoach
192
12k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Mind Mapping
helmedeiros
1
400
Transcript
120名の開発組織を支える 技術マネジメントと選定 @pospome
登壇者 名前:pospome(ぽすぽめ) 所属:DMM.com Twitter:@pospome
話す内容 1. pospomeが所属する開発組織の規模感 2. pospomeが入社する前のDMMプラットフォームについて 3. pospomeが入社して技術選定をした話 4. 技術選定の結果
話す内容 1. pospomeが所属する開発組織の規模感 2. pospomeが入社する前のDMMプラットフォームについて 3. pospomeが入社して技術選定をした話 4. 技術選定の結果
DMMプラットフォーム 扱う領域:DMM会員、決済、DMMポイント、不正対策など エンジニア数:120名以上 開発チーム数:16チーム マイクロサービス数:約40サービス ピーク時のリクエスト:19,000RPS *2016年くらいからマイクロサービスになっている。
話す内容 1. pospomeが所属する開発組織の規模感 2. pospomeが入社する前のDMMプラットフォームについて 3. pospomeが入社して技術選定をした話 4. 技術選定の結果
pospomeが入社する前のDMMプラットフォーム 独立性の高い小さいチームで構成されていた。 以下のメリットがある。 1. コミュニケーションパスを減らす。 2. オーナーシップを持たせることで自走して開発ができる。 3. 開発チームが開発から運用まで自分たちで対応できる。
Amazon: Two-Pizza Team Rule
Amazon: You build it, you run it.
しかし、開発効率は高くなかった
テクノロジースタックがバラバラすぎる 1. チーム同士の技術的な知見共有が難しい。 2. エコシステムの構築が難しい。 3. 他チームへのヘルプなどで実力を発揮できない。 各チームが強力なオーナーシップを持った結果、 大きな組織だからこそ取れる戦略を取ることができない。
究極にサイロ化しており、 スタートアップの集合体のようだった
それぞれのチームのオーナーシップが強すぎる 会員チーム 独自のテクノロジースタック 独自の開発ルール プロダクト設計 採用 決済チーム 独自のテクノロジースタック 独自の開発ルール プロダクト設計
採用
話す内容 1. pospomeが所属する開発組織の規模感 2. pospomeが入社する前のDMMプラットフォームについて 3. pospomeが入社して技術選定をした話 4. 技術選定の結果
オーナーシップの程度設計が重要である 開発チームに与えるオーナーシップの程度(権限の強さ)を 適切なものに再設計する必要がある。 今回のイベントのテーマに沿って “技術マネジメント(テクノロジースタックの統 一)と技術選定” という観点で話を進める。
こんな感じにする必要がある DMM会員チーム プロダクト設計 採用 決済チーム プロダクト設計 採用 共通のテクノロジースタック 共通の開発ルール
統一の程度が難しい 統一の程度 小さい 大きい 各チームの要件 満たせる 満たせない
最終的なイメージ DMM会員チーム プロダクト設計 採用 決済チーム プロダクト設計 採用 共通のテクノロジースタック 共通の開発ルール 独自のテクノロジースタック
独自の開発ルール 独自のテクノロジースタック 独自の開発ルール
なにをやったのか? 統一したテクノロジースタックの一例 技術領域 選択した技術 プログラミング言語 バックエンドはGo言語 フロントエンドはTypeScript コンテナ環境 k8s モニタリング
& ログ Datadog
なにをやったのか? 統一しなかったテクノロジースタックの一例 技術領域 選択した技術 クラウド AWS & GCP を選択可能とする。 DB
& キャッシュ 各チームが自由に選択して良い。 アプリケーションフレームワーク & ライブラリ 各チームで自由に選択していい。
デファクト・スタンダードから外れる権利 各チームは組織として定義するテクノロジースタックから外れる権利を持ってい るが、各種恩恵を受けられなくなる。 各チームでメリデメを判断してもらう形になっている。
どのように進めたのか? 既存チームと会話して課題を洗い出し、 CTOに課題と解決策を提案してトップダウンで進めた。 想定に反して現場のエンジニアからの反発はなかった(各チームも同じような 課題を感じていたのかもしれない)。
話す内容 1. pospomeが所属する開発組織の規模感 2. pospomeが入社する前のDMMプラットフォームについて 3. pospomeが入社して技術選定をした話 4. 技術選定の結果
技術選定の結果は? テクノロジースタック統一のアンケート結果としては約8割のエンジニアが「開発 効率が向上した」と回答している。 残りの2割は「まだ判断できない」と回答している。
技術選定の結果は? 選定したテクノロジースタック群が適切かどうかは分からない。 これは他の選択をした場合との直接的な比較が難しいからである。 e.g. 「GoよりもPHPの方がよかったのでは?」
技術選定の結果は? 時間の経過によって分かることもあるが、 選定した当時の状況を考慮しなければいけないので、 結果論になる部分もある。 ただ、”当時の判断に妥当性があること” は最低限必要だと思う。
まとめ • テクノロジースタックを統一した。 各チームに自由度をもたせた部分もある。 • 方針変更はトップダウンで実行した。 • 前よりは良くなったので成功とみなせる。 • 技術選定が成功したかどうかは分からない。
“選定理由の妥当性” が大事である。