DMMプラットフォームにおけるコード品質を改善する取り組みの理想と現実
by
pospome
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
DMMプラットフォームにおける コード品質を改善する取り組み 理想と現実 @pospome
Slide 2
Slide 2 text
登壇者 名前:pospome(ぽすぽめ) 所属:DMMプラットフォーム Twitter:@pospome
Slide 3
Slide 3 text
今回の発表内容について DMMプラットフォーム x コード品質向上 x 理想と現実
Slide 4
Slide 4 text
DMMプラットフォームについて 扱う領域:DMM会員、決済、DMMポイント、不正対策など エンジニア数:120名以上 開発チーム数:16チーム マイクロサービス数:約40サービス ピーク時のリクエスト:19,000RPS
Slide 5
Slide 5 text
レガシーシステムのリプレイスプロジェクト ● DMMプラットフォーム内のレガシーシステムをリプレイスする。 ● コード品質を高く保つ体制が必要になる。
Slide 6
Slide 6 text
pospomeの持論 コード品質を高く保つには以下の要素が必要である。 1. 定期的なリファクタリング 2. 静的解析 3. 設計スキルの高いエンジニア←これが重要
Slide 7
Slide 7 text
レビューシステムの導入 ● 各チームのコードを設計スキルの高いエンジニアがレビューする。 擬似的に「強いエンジニアがいる環境」を作った。 ● 自チームの数人が業務時間を割いて取り組んだ。 ● 正直な話、結構成功させる自信があった。
Slide 8
Slide 8 text
レビューシステムの導入
Slide 9
Slide 9 text
そんなことはなかった・・・ チームによって様々な課題を抱えていた。 ● リファクタリング時間の確保が難しい。 ● コードの良し悪しを精度高く判断できる人がいない。 ● テストコードを書いていない & カバレッジ可視化してない。 ● マネージャーやテックリードがコード品質に対するリテラシーを持っていな い。
Slide 10
Slide 10 text
Developer Productivity Teamの設立 ● 専門のチームを設立 コード品質に対して組織的に取り組んでいく
Slide 11
Slide 11 text
Developer Productivity Teamの取り組み ● レビューシステムによるコードレビューは継続 ○ 問題のあるコードを記録 ○ 解消率によってリファクタリング時間の確保を可視化 ● Sonar Cloudの導入 ○ テストカバレッジの可視化 ○ 問題のあるコードの可視化(静的解析) ● モノレポの導入 ○ コードを一元管理
Slide 12
Slide 12 text
Developer Productivity Teamの取り組み ● 各チームのコード品質を可視化し、比較できるようにする。 ○ 各チームのマネージャーやTLに危機感を持ってもらう。 ○ 各チームに介入する妥当性を保証できる。
Slide 13
Slide 13 text
まとめ ● 大きな組織になるほどコード品質に向き合うのは難しくなる。 ● 組織的に戦略を立てて取り組む必要がある。 ○ 組織としてコード品質に投資する意思決定が必要になる。
Slide 14
Slide 14 text
おわり