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
組織全体で開発生産性に取り組むために 専門チームを作った話
Search
pospome
December 13, 2023
Programming
2.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
組織全体で開発生産性に取り組むために 専門チームを作った話
DMM meetup #39 ~開発生産性を熱く語る会~
https://dmm.connpass.com/event/301567/
pospome
December 13, 2023
Transcript
17 slides
組織全体で開発生産性に取り組むために 専門チームを作った話 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の可視化 ◦ 負荷試験基盤の開発 ◦ コード品質の可視化
& 改善
まとめ • 各チームの手が回り切らない部分を担当するチームが必要になる。 • ある程度の組織規模じゃないとコスパが悪い。
おわり
More Decks by pospome
See All by pospome
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
16k
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
730
スタートアップを支える技術戦略と組織づくり
pospome
9
22k
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.8k
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
8
5.5k
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
10
6.4k
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
44
23k
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
12
5.5k
DMMプラットフォームにおける GKE を利用した プラットフォームエンジニアリングへの 取り組み
pospome
1
1k
Other Decks in Programming
See All in Programming
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
590
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.8k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
3.8k
Distance field of Julia set
kinakomoti321
0
320
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
240
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
420
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.5k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
2k
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
330
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
170
AI Augmentation Techniques with Liberty
ivargrimstad
1
440
Featured
See All Featured
Design in an AI World
tapps
1
390
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
1
300
Scaling GitHub
holman
464
140k
Technical Leadership for Architectural Decision Making
baasie
4
640
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
880
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
370
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
560
GraphQLとの向き合い方2022年版
quramy
50
15k
Evolving SEO for Evolving Search Engines
ryanjones
0
360