Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
技術的負債を返し続ける取り組み
Search
akki
May 29, 2021
Technology
680
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
技術的負債を返し続ける取り組み
akki
May 29, 2021
More Decks by akki
See All by akki
Open AI APIを使う前に知っておきたいアカウントTier の話
akki_megane
0
4.5k
データの民主化はじめました 俺たちの民主化はこれからだ
akki_megane
2
2.2k
フィーチャートグルを 使って素早く価値を検証する 早く安全に失敗し学ぶために
akki_megane
0
3.5k
「明日からフロントもよろしく」と言われたときに備える Atomic Design
akki_megane
0
3.9k
Editor 調査
akki_megane
0
240
Laravel Vapor Serverless Laravel
akki_megane
2
420
アノテーションコメントについて調べてみた
akki_megane
2
950
入門 無限LT
akki_megane
0
5.2k
PHP Insights - リファクタリングが100倍楽しくなるツール -
akki_megane
3
1.8k
Other Decks in Technology
See All in Technology
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
760
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
200
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
280
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
その Valkey 使いこなしていますか?
onk
PRO
5
1.6k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
sira's awesome portfolio website redesign presentation
elsirapls
0
460
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Designing for humans not robots
tammielis
254
26k
Rails Girls Zürich Keynote
gr2m
96
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Navigating Team Friction
lara
192
16k
Transcript
技術的負債を 返し続ける取り組み PHPカンファレンス沖縄 2021/05/29 @akki_megane ~ あなたのPHPのバージョンいくつですか?~
自己紹介 名前:秋葉 誠一 好きな技術:PHP、Vue.js、Serverless 会社:ROXX 趣味:スノボ、サバゲ、野球、アロハシャツ @akki_megane
あなたのPHPは? ## サポート期限 - 7.2 2020/11/03 (サポート終了) - 7.3 2021/12/06
- 7.4 2022/11/28 - 8.0 2023/11/26
あなたのPHPは? バージョンアップするご予定はありますか? 更新されてないライブラリやフレームワークはありませんか? 直したい実装はありませんか? 技術的負債に苦しんでいませんか?
技術的負債 手抜き、ハック、重複などなど、開発速度と期日の名の下に、私たち は数々の狼藉をコードベースにコミットしている。技術的負債とは、そ うした狼藉が時間と共に積み重なったものだ。 君のコードは、常に何かしらの負債を書かている(負債がまったくない というのは、新しいことや、これまでとは違うことに取り組もうとしてな いってことだ) かつては楽しくて気軽でシンプルだった作業が、辛く困難で複雑なも のになって初めて、人は自からが技術的負債を抱えすぎてしまったこ とに気づくんだ。
引用 アジャイルサムライ
技術的負債 - 更新されないVersion(言語、FW、ライブラリ) - 実装が現実と乖離している - 非推奨機能を使った実装 - あのときは最高だと思った設計 -
過去の自分をしばきたいコード - いつか直すと思っているあのバグ - etc,etc
技術的負債 負債がまったくないというのは、新しいことや、これまでとは違うことに 取り組もうとしてないってことだ プロダクトが生き続ける限りは、負債を負い続けるということ 負債は負うということは、返済する必要があるといこと
技術課題リファインメント
前提条件 - 継続的な開発であるか - スクラムに則った開発であるか - スプリントベロシティが計測できているか
リファインメントの説明 リファインメントの活動を通じて、選択に必要な透明性を獲得する。 プ ロダクトバックログアイテムがより小さく詳細になるように、分割および 定義をする活動である。 これは、説明・並び順・サイズなどの詳細を 追加するための継続的な活動である。多くの場合、属性は作業領域 によって異なる。 作業を行う開発者は、その作業規模の評価に責任 を持つ。
開発者がトレードオフを理解して選択できるように、プロダク トオーナーが開発者を支援することもできる。 引用 スクラムガイド2020
技術課題リファインメント STEP1 課題を見つける - よくないコードを見つけた - バージョンアップ情報があった - DB正規化したい 見つけた課題を技術課題バックログに起票します
新機能のバックログとは別に専用のバックログを作ります
技術課題リファインメント STEP2 リファインメントする 内容の詳細化、分割、優先順位決め、見積もりする 誰がやってもいいようにするために 優先順位決めは大事、チームとして何を大切にするかはチームごと決め よう
STEP3 実施 スプリントプランニングの際に、ベロシティポイントを一定の割合で技術 課題に割り当てる 新規開発とは別軸の優先順でやることを決める 起票した人間がやるとは限らない (弊社だと大体10% + 手が空いたら優先的にやる) ※ベロシティポイント
= 1スプリントでチームが提供できる価値のポイント 技術課題リファインメント
STEP4 繰り返す 継続して習慣化する、1回だけでは変わらない プロダクトが開発される続けるかぎり負債は溜まっていきます 継続的に早い段階での負債の返済をおすすめします 技術課題リファインメント
- 新規の開発とは別軸の優先順位になる - 負債の可視化し、優先順位がつけられる - 誰か特定の人がやっているという状況をさける - いつかやるではなく仕組みでカバーする 技術課題リファインメントの利点
まとめ
- 継続的に開発をするうえで技術的負債は必ず発生する - 負債は早い段階で返済しないとどんどん辛くなる - 負債を可視化しよう - 新機能の開発とは別軸の優先順位をつける - 負債の返済を開発のサイクルに組み込み習慣化する
- 後は継続あるのみ まとめ
ROXX 開発メンバー募集 https://speakerdeck.com/roxxrecurit 宣伝
ご清聴ありがとうございました 沖縄に行きたかった