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
470
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ときめく開発体験を~デッドコードをなくして ときめきをつくる~ / ginzarails_vol33_presentation
銀座Rails#33 登壇資料
#ginzarails
リンクアンドモチベーション
PRO
May 21, 2021
More Decks by リンクアンドモチベーション
See All by リンクアンドモチベーション
「AIがあれば越境できる」と思ったら、 AI Slopの山ができた
lmi
PRO
1
280
上司のダメ出しを全部AIに食わせ続けたら、 最強の相棒になってきた話
lmi
PRO
0
53
ペーペーのPdMがドペーペーの開発者になったら、見えた世界
lmi
PRO
0
59
AIに仕事を任せたら、レビューが増えた
lmi
PRO
0
55
AIが迷わず動ける環境をつくったら、 RPA開発が爆速になった話 / 20260819 田町.ai #2 LT大会
lmi
PRO
0
31
「作っても使われない」を防ぐための工夫
lmi
PRO
0
54
RPAを1000個作る前に、 1000パターンを減らして 40% の工数削減を実現した話
lmi
PRO
0
52
初めて要件定義をして大失敗した私が、 AIと一緒にやったら上手くいった話
lmi
PRO
0
53
築地 Tech Night 〜 AI活用、実例で語る現場のリアル 〜/ai-efficiency-human-productivity_link-and-motivation
lmi
PRO
0
42
Other Decks in Technology
See All in Technology
module Synths; end
asonas
1
120
少人数データチームのDevin活用実践事例
runandy16
2
450
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
150
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
280
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
730
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
190
AIで仕事のやり方を変える
matsu7874
1
940
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
2
2.7k
V8コントリビュート超入門
riyaamemiya
0
140
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
360
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
600
IoTハンズオンの舞台裏
shirouz
2
150
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
6.2k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Accessibility Awareness
sabderemane
1
200
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
The Curse of the Amulet
leimatthew05
2
14k
Why Our Code Smells
bkeepers
PRO
340
58k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
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
まとめ: 「ときめき」は技術的負債を減らす • 技術的負債返却の第一歩 ◦ デッドコードの削除は手をつけやすくコスパもいい • 効果はコード以外にも波及 ◦ 「ときめき」の浸透で開発者の主体性を後押し