技術的負債の返済の優先順位についてメモ

メモ程度です。

そもそも機能開発の優先順位付けは悩み続けるもので、
その中でも技術的負債の返済はRICEスコアのような指標をもとに優先度判断、などがしにくいと思う。

結局、返済のために一定枠設けてその中でチーム内(開発がリード)で判断、重厚長大なものはロードマップに乗せて各所と合意しか現状ない気がする。

なお、「一定枠」が適切かどうかは運用してみてDevとPMで判断が良いかと。適切かどうかを考慮する観点は↓。
・障害発生リスクと発生時の影響が大きくなるリスク
・エンジニアのモチベーション度合い(負債が溜まりすぎると低下する、採用にも影響)
・負債が負債を呼んでいるか(割れ窓理論、秘伝のタレ化)
・ベロシティの低下(基本的には負債は溜まっていくものなので、ベロシティは低下していく。それを見ながら返済度合いを変えていく)

返済方法について

・フルタイムで開発できるエンジニアが数人以上
 →毎スプリントのN%を返済に割く、改善デーを設ける、ということができそう
・そうでないとき(副業多いとかスタートアップフェーズとか)
 →毎スプリントのN%を割く、というのは大きめの改善作業がしにくいので、ロードマップ系タスクの合間に改善週間を設けて対応、という方法を取れる。(不定期になるので、強い意志で継続する必要がある。。)

補足

経営学まわりの研究(Founder Premiumとか)みたいに、プロダクトのフェーズが…でコードの指標が〜のときはN%をリファクタリングやリアーキテクチャに当てると良い、みたいな研究があると参考になるのにと思った(あるかもしれないが)。

関連

プロダクトの急成長の裏側で、PMはどんな機能開発の優先度づけをしてきたか?
 イベントでリファクタリングなどは「一定枠」を設けていると聞いた。
 そういうチーム結構ありますよね
・https://qiita.com/erukiti/items/9cc7850250268582dde7
 技術的負債の問題が網羅的で参考になる

いいなと思ったら応援しよう!