技術的負債
Ward Cunninghamが最初に提唱した
以下の2つの乖離による、生産性低下のこと
自分たちが書いているプログラムの状態
そのドメインに対する理想的な状態
と、提唱者のWard Cunninghamは言っている
つまり、物理的な汚いコードのことを指しているわけではない
よくある誤解
極端な例を考えると、
ある時点で、プログラムとドメインが完全に一致していて、プログラムがきれいだったとしても、
その後、ドメインに対する知識が増えたが、プログラムを更新しない、となった時
プログラムはキレイだが、技術的負債がある、と言える
プログラムが綺麗かどうかではなく、ドメイン知識を正しく反映しているかどうかが肝
金融的な「負債」のメタファー
緊急対応して、一時的に汚い状態でdeployし、後でリファクタする
そのリファクタをサボると、後にドメインに対する理解を得た時に、それをプログラムに反映できず、更に緊急対応を重ねることになる
最終的に、進捗を出せなくなり、身動き取れなくなる
一時的に借金して、後に返済していく
借金返済をサボると、後に何かを購入したい時に、更に借金することになる
最終的に、収入が利子に食いつぶされ、身動き取れなくなる
参考
【翻訳】技術的負債という概念の生みの親 Ward Cunningham 自身による説明 - t-wadaのブログ
#WIP
誤解が生じてると何が問題か?
病気によって必要な薬が異なり、いろんな病気を一括りにしてしまうと薬の選択が難しくなるように、いろんな問題を「技術的負債」の傘の下に一括りにしてしまうと対応を間違ってしまうので、言葉の厳密な定義を持っておくべきだということ。ref
これは誤解の問題ではなく、ある名称が指す範囲の問題ではないのか
誤解がなくても起きうる問題なんじゃないの
Ward が語っている負債のメタファーはどちらかというとポジティブなものです。 ref
そうなのか?どの文章からそう読み取れるのか #??
Wardの主張は前提に「ドメインとコードを一致させるのが最も理想的な状態」がある
「負債」と言った時、その状態から離れているのでポジティブじゃなくない?
面白い事例
MakeMusicはfinaleを開発終了する理由として、OSの進化に合わせてコードが数百万行にまで膨れ上がったと説明。顧客に付加価値を提供するのが難しくなったとしている。ref
コード量が膨れ上がってメンテできなくなったので開発終了
/nishio/AIと技術的負債
https://note.com/yshnb/n/ndf039850b614
https://speakerdeck.com/shinden/living-with-technical-debt
https://speakerdeck.com/mtx2s/technical-debt-and-developer-experience
https://speakerdeck.com/kentaro/rethinking-technical-debt
https://bliki-ja.github.io/TechnicalDebt/
/kawasima/技術的負債の分類
/miyamonz-projects/技術的負債
https://ironoir.hatenablog.com/entry/2021/03/02/190000
『レガシーコードからの脱却』
『事業をエンジニアリングする技術者たち』
https://techlog.voyagegroup.com/entry/technical-debt-battle-phase2
https://www.slideshare.net/koichiromatsuoka/ss-243097467
https://note.com/cyberz_cto/n/n26f535d6c575
技術的負債の発生理由の分類へ言及してる
https://tech.bm-sms.co.jp/entry/2021/05/25/120000?utm_source=feed
/mrsekut-b/表に現れない開発箇所の言語化
/miyamonz-projects/技術的負債
https://qiita.com/hirokidaichi/items/64b444a89410190d965f
https://speakerdeck.com/sadashi/shi-herokuahuritefalseji-shu-de-fu-zhai-tofalsexiang-kihe-ifang
https://logmi.jp/tech/articles/324486
リファクタリング
ボトムアップにコードをキレイにしていく
リアーキテクティング
大きなシステムを寒いステムに分解し、サブシステム単位で置き換えていく
リプレイス/リライト
ゼロから書き直す
リニューアル
https://gyazo.com/32aea87356b7d8c86189fd7f01a8a35c https://speakerdeck.com/mtx2s/internal-quality-issues-caused-by-organizational-design?slide=12
無謀な負債