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
Kota Esaki
April 22, 2023
Programming
0
220
少人数規模の組織でレガシーコードと向き合う
2023/04/22
Kota Esaki
April 22, 2023
Tweet
Share
More Decks by Kota Esaki
See All by Kota Esaki
デザインシステムの MCP サーバーの 精度を高めるために
kotaesaki
0
3
Other Decks in Programming
See All in Programming
リバースエンジニアリング新時代へ! GhidraとClaude DesktopをMCPで繋ぐ/findy202507
tkmru
1
230
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
11k
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
97
35k
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
460
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
15
5.4k
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
140
RailsGirls IZUMO スポンサーLT
16bitidol
0
200
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
840
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
250
Goで作る、開発・CI環境
sin392
0
260
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1.1k
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Producing Creativity
orderedlist
PRO
346
40k
Visualization
eitanlees
146
16k
Building an army of robots
kneath
306
45k
KATA
mclloyd
30
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Embracing the Ebb and Flow
colly
86
4.7k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
A better future with KSS
kneath
238
17k
Navigating Team Friction
lara
187
15k
How GitHub (no longer) Works
holman
314
140k
Transcript
少人数規模の組織で レガシーコードと向き合う Kota Esaki
自己紹介
@kke1229 SIer(銀行システム) → Start-up Engineer
レガシーコード改善に割く時間がないひと 聴いてほしい人
自分含めエンジニア3人 JOINしたときのチームの状況
サービスのリニューアルに追われている JOINしたときのチームの状況
入って半年、事件は起きた...
一行のコードの書き忘れで ◦百万円の損失を産みかける なんとか回収できた....
なぜ起きたかをチームで話し合った
なぜ起きたかをチームで話し合った 技術的な負債が 原因だった • 誰もそのコードについてオーナーシップを持てな い状態だった • 設計時やPRでも間違いに気づくことができな かった
今ある技術的な負債を洗い出してみよう
テストコードが実装されていない 技術的負債その1 自動テストが実装されていない または、実装されていてもテストの保守がされていない What?
テストコードが実装されていない 技術的負債その1 既存コード: テストするべき箇所をMUST, BETTER, OTHERに振り分けた 運用方法
テストコードが実装されていない 技術的負債その1 既存コード: テストするべき箇所をMUST, BETTER, OTHERに振り分けた MUST: あらゆるタスクの中で最優先で実装 運用方法
テストコードが実装されていない 技術的負債その1 既存コード: テストするべき箇所をMUST, BETTER, OTHERに振り分けた MUST: あらゆるタスクの中で最優先で実装 BETTER: Test
dayをチームとして定期的に設けた 運用方法
テストコードが実装されていない 技術的負債その1 既存コード: テストするべき箇所をMUST, BETTER, OTHERに振り分けた MUST: あらゆるタスクの中で最優先で実装 BETTER: Test
dayをチームとして定期的に設けた OTHER: その箇所が修正されるタイミングでテストコードを記述 運用方法
テストコードが実装されていない 技術的負債その1 新規コード テスト駆動開発の導入 運用方法
テストコードが実装されていない 技術的負債その1 運用を続けてどうなったか テストカバレッジ 5% → 64%
ライブラリの保守がされていない 技術的負債その2 • RubyのGemやTypeScriptのnpm, 言語バージョンが追いついていない • ライブラリの更新を怠ると依存しているコードが古くなる • 便利な機能の恩恵を受けられなくなる What?
ライブラリの保守がされていない 技術的負債その2 隔週チーム全員でUpdate DAYを行った 運用方法
ライブラリの保守がされていない 技術的負債その2 Ruby 2.2 → 3.0 Rails 4.0 → 7.0
Node 12.x → 16.x MariaDBなどその他いろいろ 運用を続けてどうなったか
少人数規模で大切なこと 小さく、はやく始めることを 心がける
まとめ 技術的負債を減らす順序 1. まずチームとして負債を認知する 2. 負債に対しての(心理的、物理的)障壁と優先順位を考える 3. 障壁を取り除く(組織としての理解、ツールのリニューアルなど) 4. 決めた優先順位をもとに仕組みとして運用する