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
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.4k
データの民主化はじめました 俺たちの民主化はこれからだ
akki_megane
2
2.1k
フィーチャートグルを 使って素早く価値を検証する 早く安全に失敗し学ぶために
akki_megane
0
3.4k
「明日からフロントもよろしく」と言われたときに備える Atomic Design
akki_megane
0
3.9k
Editor 調査
akki_megane
0
240
Laravel Vapor Serverless Laravel
akki_megane
2
420
アノテーションコメントについて調べてみた
akki_megane
2
930
入門 無限LT
akki_megane
0
5.2k
PHP Insights - リファクタリングが100倍楽しくなるツール -
akki_megane
3
1.7k
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
システム思考で問題に対処する
yussak
0
190
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
110
MIRU 2026 チュートリアル
keisuke198619
0
860
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
2
620
TypeScript入門 2026
recruitengineers
PRO
2
490
強化学習「理論」入門
enakai00
3
3.6k
ブラウザ研修 2026
recruitengineers
PRO
4
770
JavaScript 研修 (2026)
recruitengineers
PRO
1
450
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.6k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
240
新しい SLO が良い感じにハマっている話
z63d
5
2.1k
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Statistics for Hackers
jakevdp
799
230k
ラッコキーワード サービス紹介資料
rakko
1
4.3M
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
240
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Practical Orchestrator
shlominoach
191
12k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building an army of robots
kneath
306
46k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
460
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 宣伝
ご清聴ありがとうございました 沖縄に行きたかった