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
DMMプラットフォームにおけるコード品質を改善する取り組みの理想と現実
Search
pospome
November 21, 2023
Programming
3.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DMMプラットフォームにおけるコード品質を改善する取り組みの理想と現実
"コード品質向上のいろは - 先達に学ぶ実践例 Lunch LT" の資料です。
https://findy.connpass.com/event/300912/
pospome
November 21, 2023
Transcript
14 slides
DMMプラットフォームにおける コード品質を改善する取り組み 理想と現実 @pospome
登壇者 名前:pospome(ぽすぽめ) 所属:DMMプラットフォーム Twitter:@pospome
今回の発表内容について DMMプラットフォーム x コード品質向上 x 理想と現実
DMMプラットフォームについて 扱う領域:DMM会員、決済、DMMポイント、不正対策など エンジニア数:120名以上 開発チーム数:16チーム マイクロサービス数:約40サービス ピーク時のリクエスト:19,000RPS
レガシーシステムのリプレイスプロジェクト • DMMプラットフォーム内のレガシーシステムをリプレイスする。 • コード品質を高く保つ体制が必要になる。
pospomeの持論 コード品質を高く保つには以下の要素が必要である。 1. 定期的なリファクタリング 2. 静的解析 3. 設計スキルの高いエンジニア←これが重要
レビューシステムの導入 • 各チームのコードを設計スキルの高いエンジニアがレビューする。 擬似的に「強いエンジニアがいる環境」を作った。 • 自チームの数人が業務時間を割いて取り組んだ。 • 正直な話、結構成功させる自信があった。
レビューシステムの導入
そんなことはなかった・・・ チームによって様々な課題を抱えていた。 • リファクタリング時間の確保が難しい。 • コードの良し悪しを精度高く判断できる人がいない。 • テストコードを書いていない & カバレッジ可視化してない。
• マネージャーやテックリードがコード品質に対するリテラシーを持っていな い。
Developer Productivity Teamの設立 • 専門のチームを設立 コード品質に対して組織的に取り組んでいく
Developer Productivity Teamの取り組み • レビューシステムによるコードレビューは継続 ◦ 問題のあるコードを記録 ◦ 解消率によってリファクタリング時間の確保を可視化 •
Sonar Cloudの導入 ◦ テストカバレッジの可視化 ◦ 問題のあるコードの可視化(静的解析) • モノレポの導入 ◦ コードを一元管理
Developer Productivity Teamの取り組み • 各チームのコード品質を可視化し、比較できるようにする。 ◦ 各チームのマネージャーやTLに危機感を持ってもらう。 ◦ 各チームに介入する妥当性を保証できる。
まとめ • 大きな組織になるほどコード品質に向き合うのは難しくなる。 • 組織的に戦略を立てて取り組む必要がある。 ◦ 組織としてコード品質に投資する意思決定が必要になる。
おわり
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
組織全体で開発生産性に取り組むために 専門チームを作った話
pospome
2
2.2k
Other Decks in Programming
See All in Programming
Seven New Principles of Software Engineering
yegor256
0
480
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
240
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.8k
AmebaブログはKMPから卒業します
kmars0605
0
340
ActionController meets Protocol Buffers
sorah
1
800
Spec-driven Development with AI
simas
PRO
0
2.3k
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
120
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
220
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
2k
AI Augmentation Techniques with Liberty
ivargrimstad
1
440
AI-Powered Domain-Driven Design
ziobrando
0
430
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
170
Featured
See All Featured
Paper Plane
katiecoart
PRO
6
55k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
70
68k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
1
240
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.3k
Evolving SEO for Evolving Search Engines
ryanjones
0
360
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
430
Music & Morning Musume
bryan
48
7.5k
So, you think you're a good person
axbom
PRO
2
2.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.9k
Bash Introduction
62gerente
615
220k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k