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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
pospome
December 13, 2023
Programming
2.1k
2
Share
組織全体で開発生産性に取り組むために 専門チームを作った話
DMM meetup #39 ~開発生産性を熱く語る会~
https://dmm.connpass.com/event/301567/
pospome
December 13, 2023
More Decks by pospome
See All by pospome
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
590
スタートアップを支える技術戦略と組織づくり
pospome
8
20k
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.7k
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
8
5.2k
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
10
6.2k
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
44
22k
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
12
5.2k
DMMプラットフォームにおける GKE を利用した プラットフォームエンジニアリングへの 取り組み
pospome
1
930
DMMプラットフォームにおけるコード品質を改善する取り組みの理想と現実
pospome
3
2.9k
Other Decks in Programming
See All in Programming
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
iOS26時代の新規アプリ開発
yuukiw00w
0
150
inferと仲良くなる10分間
ryokatsuse
0
110
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
190
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
3
200
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
930
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.9k
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
300
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
420
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
460
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
170
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
Rails Girls Zürich Keynote
gr2m
96
14k
Designing for Timeless Needs
cassininazir
1
220
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
Abbi's Birthday
coloredviolet
2
7.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
250
Raft: Consensus for Rubyists
vanstee
141
7.4k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
170
Bash Introduction
62gerente
615
210k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
A Tale of Four Properties
chriscoyier
163
24k
Transcript
組織全体で開発生産性に取り組むために 専門チームを作った話 pospome
登壇者 名前:pospome(ぽすぽめ) 所属:DMMプラットフォーム Twitter:@pospome
今回の発表内容について DMMプラットフォーム x 開発生産性 x 専用のチームを作った話
DMMプラットフォームについて 扱う領域:DMM会員、決済、DMMポイント、不正対策など エンジニア数:120名以上 開発チーム数:16チーム マイクロサービス数:約40サービス ピーク時のリクエスト:19,000RPS
大きな組織と開発効率の関係 • 大きな組織ほど開発効率が下がる。 エンジニア数が10倍になっても開発スピードは10倍にならない。 • 主な原因 ◦ コミュニケーションコストの増加 ◦ 横断的関心事に対する開発工数の増加
今回はこっちを取り上げる。
横断的関心事とは? • 組織全体に共通して必要となる作業のこと 例:CI/CD、負荷試験 • 横断的関心事を各チームで扱うと 開発効率が悪くなる
横断的関心事とは? • 専任のチームを作って共通化する 例:プラットフォームエンジニアリング • 開発生産性も横断的関心事に属する 専任のチームを作って取り組む。
Developer Productivity Group を作った
専門チームを作るメリット 1. 各チームが同じようなことをする工数を削減できる。 2. 各チームのノウハウをシェアすることができる。 3. 各チームが開発生産性に取り組む工数は限られている。
1. 各チームが同じようなことをする工数を削減できる • Four Keysの可視化 ◦ デプロイの頻度 … CI/CDパイプライン ◦
変更のリードタイム … GitHub ◦ 変更障害率 … 監視ツール ◦ サービス復元時間 … 監視ツール
1.各チームが同じようなことをする工数を削減できる • 組織全体で利用できる共通の仕組みを開発 Four Keysに限らず、Developer Productivity Groupが共通の仕組みを作 るだけで済む。
2.各チームのノウハウをシェアすることができる • “特定のチームだけ上手くやる” という状態を避けたい。 あくまで組織全体が上手くやれるようにする必要がある。 専任のチームが組織全体の最適化を進めていく。 • 各チームの状態を相対的に比較し、課題を可視化 & 解決する。
大きな組織ならではのノウハウ共有が可能になる。 例:開発生産性アンケート
例:開発生産性アンケート
3.各チームが開発生産性に取り組む工数は限られている • 各チームは開発生産性にフルコミットできるわけではない。 例:決済チームは決済領域にフルコミットすべき
3.各チームが開発生産性に取り組む工数は限られている • 課題を解決する取り組みに大きく工数を割けない。 ◦ Four Keysの可視化 ◦ 負荷試験基盤の開発 ◦ コード品質の可視化
& 改善
まとめ • 各チームの手が回り切らない部分を担当するチームが必要になる。 • ある程度の組織規模じゃないとコスパが悪い。
おわり