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
ときめく開発体験を~デッドコードをなくして ときめきをつくる~ / ginzarails_vo...
Search
リンクアンドモチベーション
PRO
May 21, 2021
Technology
1
450
ときめく開発体験を~デッドコードをなくして ときめきをつくる~ / ginzarails_vol33_presentation
銀座Rails#33 登壇資料
#ginzarails
リンクアンドモチベーション
PRO
May 21, 2021
Tweet
Share
More Decks by リンクアンドモチベーション
See All by リンクアンドモチベーション
「2026は言語化を鍛える」 —“わかったつもり”をなくすQiitaチャレンジ/hello-lt-world-lmi
lmi
PRO
0
33
Claude Codeで顧客対応自動化を目指す挑戦/cre-camp-4-link-and-motivation
lmi
PRO
0
36
2025年、チームにAI活用を取り入れてみた振り返り/Qiita Advent Calendar
lmi
PRO
0
260
AIに段取りを考えてもらい、迷いを減らす / progate-bar-link-and-motivation
lmi
PRO
0
30
太りすぎコアモデルのダイエット作戦 〜決意編〜 / lmi-railstokyo-251218
lmi
PRO
0
24
AI駆動で継続的にコンテキストを改善する 仕組み作り/AI-context-link-and-motivation
lmi
PRO
0
46
AWSのコスト調査をAWS MCP Serversで簡単に自動化した話 / uv-study-aws-link-and-motivation
lmi
PRO
0
62
「合う形が、正解。」 ーAIと作る、楽しく続く勉強法 / techbrew-lmi-ai-study
lmi
PRO
0
51
主体的な学びの鍵は「バグった業務目標」だった / techbrew-lmi-crazy-goal
lmi
PRO
0
76
Other Decks in Technology
See All in Technology
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
230
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
150
Greatest Disaster Hits in Web Performance
guaca
0
230
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
900
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
150
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
360
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
300
20260204_Midosuji_Tech
takuyay0ne
1
150
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
What happened to RubyGems and what can we learn?
mikemcquaid
0
290
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Prompt Engineering for Job Search
mfonobong
0
160
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
74
Optimizing for Happiness
mojombo
379
71k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Ethics towards AI in product and experience design
skipperchong
2
190
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.9k
Building Adaptive Systems
keathley
44
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Transcript
ときめく開発体験を デッドコードをなくして ときめきをつくる 伊藤遼
自己紹介 伊藤 遼 • twitter, qiita: @haruka_odenkun (全然投稿していないですが...) • (株)
リンクアンドモチベーションに新卒入社 3年目 • やってきたこと ◦ エンタープライズ向け性能改善 ◦ (現在) CREチームの立ち上げ
今日話すこと 1Qで2万行ものデッドコードを削除した話
今日話すこと 1Qで2万行ものデッドコードを削除した話 デッドコード削除が開発組織作りに繋がった話
今日話すこと • プロジェクトの背景 • 苦労したこと • 何をしたか • 結果 1Qで2万行ものデッドコードを削除した話
デッドコード削除が開発組織作りに繋がった話
背景とPjtの発足 • 弊社サービスのニーズが高まり開発効率を加速したい ◦ 生産性 / 安定性 が下がっている ◦ 技術負債としてデッドコードが増えてきた
生産性の向上に対して ROIが高いのがデッドコード削除だった
なぜデッドコードが放置されるのか 1. どう進めていったらいいかわからない 2. 作業時間をまとめて確保できない 3. そもそもそういう文化がない
じゃあ何をしたか? 1. どう進めていったらいいかわからない → 作業フローの整備: ユーザー側から削除 2. 作業時間をまとめて確保できない → 仕組み作り:
定期タスクと合体 3. そもそもそういう文化がない → 文化作り: 「ときめき」の布教
参照先の参照先まで当たるのは骨が折れる ←↑ 実はデッドコードかも 1. 作業フローの整備: ユーザー側から削除 例: こんなデッドコードがありました
1. ディレクトリ構成やgrepで参照されないフロントコードの削除 2. リクエストログやapmツールを使用して不要なエンドポイントを削除 3. routes.rbとコントローラーの比較から不要なアクションの削除 4. model (service) 層の不要なメソッドにlogを仕込んで定期監視
/ 削除 5. 不要なテーブルの削除 フロントコ ード エンド ポイント コントローラー (サービス) モデル テーブル app/view/ etc. config/routes.rb app/controller/* (app/service/*) app/model/* (db/*) 1. 作業フローの整備: ユーザー側から削除
フロントコ ード エンド ポイント コントローラー (サービス) モデル テーブル app/view/ etc.
config/routes.rb app/controller/* (app/service/*) app/model/* (db/*) 1. 作業フローの整備: ユーザー側から削除 + 一時利用rake task、patchもノイズとなるため使用時期をもとに削除 + 上記コードに関連するテストコードも削除
フロントコ ード エンド ポイント コントローラー (サービス) モデル テーブル app/view/ etc.
config/routes.rb app/controller/* (app/service/*) app/model/* (db/*) 1. 作業フローの整備: ユーザー側から削除 参照順に棚卸しすることで効率よく削除できる
• 1h / week の固定時間にPjtメンバーで雑談しながら作業 • 月次タスクに仕込んだログのチェックを追加 • リリース前チェックは月次のシナリオテストに混ぜ込む 2.
仕組み作り:定期タスクにする/合体させる 「安全に」「継続的に」削除を進められるようにする
3. 文化作り: 「ときめき」の布教 引用: Netflix KonMari ~人生がときめく片づけの魔法~ コードに対しても「ときめくか?」を布教
• slackのemojiの追加 • デッドコードを見つけて起票したらbotから感謝 • リリースしたらみんなで褒め称える ときめかないなら捨てるという文化が醸成された 3. 文化作り: 「ときめき」の布教
結果: 1Qで約2万行の削除!! • ビッグバンリリース + 小さいリリース
もう一つの結果: 「ときめき」の広がり デッドコードに対してだけでなく... • 大規模機能開発時にも 「これもう消せる?」というやりとりが発生! • コードだけでなく ドキュメントやチケットの整理も進行中! or
まとめ: 「ときめき」は技術的負債を減らす • 技術的負債返却の第一歩 ◦ デッドコードの削除は手をつけやすくコスパもいい • 効果はコード以外にも波及 ◦ 「ときめき」の浸透で開発者の主体性を後押し