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 リンクアンドモチベーション
ワクワクは「管理」できないが 「設計」することはできる/designing-excitement--link-and-motivation
lmi
PRO
0
49
IFを定義して、コードとチームを守れ!/protect-code-and-team-link-and-motivation
lmi
PRO
0
320
120個作って、ようやく気づいた。 AIツールは“作る”より“使われ続ける”が難しい/Generative AI × Workflow Automation-lmi
lmi
PRO
0
43
太りすぎコアモデルのダイエット作戦(減量編) / railstokyo-03-lmi
lmi
PRO
0
77
Devinで始める デザインルール運用/cm-fukuoka-study-lmi
lmi
PRO
0
57
「2026は言語化を鍛える」 —“わかったつもり”をなくすQiitaチャレンジ/hello-lt-world-lmi
lmi
PRO
0
72
Claude Codeで顧客対応自動化を目指す挑戦/cre-camp-4-link-and-motivation
lmi
PRO
0
78
2025年、チームにAI活用を取り入れてみた振り返り/Qiita Advent Calendar
lmi
PRO
0
330
AIに段取りを考えてもらい、迷いを減らす / progate-bar-link-and-motivation
lmi
PRO
0
50
Other Decks in Technology
See All in Technology
GCASアップデート(202601-202603)
techniczna
0
250
"作る"から"使われる"へ:Backstage 活用の現在地
sbtechnight
0
240
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
360
ソフトバンク流!プラットフォームエンジニアリング実現へのアプローチ
sbtechnight
1
250
エンジニアリングマネージャーの仕事
yuheinakasaka
0
120
JEDAI認定プログラム JEDAI Order 2026 受賞者一覧 / JEDAI Order 2026 Winners
databricksjapan
0
200
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
4
1.9k
スピンアウト講座05_実践活用事例
overflowinc
0
720
Copilot 宇宙へ 〜生成AIで「専門データの壁」を壊す方法〜
nakasho
0
150
AlloyDB 奮闘記
hatappi
0
190
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
180
Phase06_ClaudeCode実践
overflowinc
0
1.3k
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
170
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
250
Side Projects
sachag
455
43k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
150
A Tale of Four Properties
chriscoyier
163
24k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
320
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Bash Introduction
62gerente
615
210k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
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
まとめ: 「ときめき」は技術的負債を減らす • 技術的負債返却の第一歩 ◦ デッドコードの削除は手をつけやすくコスパもいい • 効果はコード以外にも波及 ◦ 「ときめき」の浸透で開発者の主体性を後押し