Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
技術的負債を返し続ける取り組み
akki
May 29, 2021
Technology
0
350
技術的負債を返し続ける取り組み
akki
May 29, 2021
Tweet
Share
More Decks by akki
See All by akki
フィーチャートグルを 使って素早く価値を検証する 早く安全に失敗し学ぶために
akki_megane
0
1.3k
「明日からフロントもよろしく」と言われたときに備える Atomic Design
akki_megane
0
3.1k
Editor 調査
akki_megane
0
150
Laravel Vapor Serverless Laravel
akki_megane
2
240
アノテーションコメントについて調べてみた
akki_megane
2
350
入門 無限LT
akki_megane
0
2.5k
PHP Insights - リファクタリングが100倍楽しくなるツール -
akki_megane
3
950
バグを直す前にまずテストを書く
akki_megane
0
1.3k
Other Decks in Technology
See All in Technology
日本ディープラーニング協会主催 NeurIPS 2022 技術報告会講演資料
tdailab
0
930
Cloudflare Workersで動くOG画像生成器
aiji42
1
450
Media JAWS 2023/1
matsuihidetoshi
1
100
エンタープライズ領域でのブロックチェーン・インターオペラビリティの発展 / Enterprise Blockchain Interoperability
gakumura
0
100
OVN-Kubernetes-Introduction-ja-2023-01-27.pdf
orimanabu
1
170
PHPのimmutable arrayとは
hnw
1
140
本社オフィスを移転し、 オフィスファシリティ・コーポレートIT を刷新した話
rotomx
3
1.2k
Kaggleシミュレーションコンペの動向
nagiss
0
210
Startup Studio Sereal / Culture Deck
sereal
0
610
OCI DevOps 概要 / OCI DevOps overview
oracle4engineer
PRO
0
470
Stripe / Okta Customer Identity Cloud(旧Auth0) の採用に至った理由 〜モリサワの SaaS 戦略〜
tomuro
0
110
lt53
98_justdoit
0
110
Featured
See All Featured
Side Projects
sachag
451
37k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
Atom: Resistance is Futile
akmur
256
24k
GitHub's CSS Performance
jonrohan
1020
430k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
From Idea to $5000 a Month in 5 Months
shpigford
374
44k
It's Worth the Effort
3n
177
26k
Happy Clients
brianwarren
90
5.8k
Designing for humans not robots
tammielis
245
24k
Intergalactic Javascript Robots from Outer Space
tanoku
261
26k
Music & Morning Musume
bryan
36
4.6k
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 宣伝
ご清聴ありがとうございました 沖縄に行きたかった