DMMプラットフォームにおけるコード品質を改善する取り組みの理想と現実
by
pospome
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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
おわり