本書講述了在軟件研發(fā)過程中,如何對技術(shù)債務(wù)的全生命周期進(jìn)行管理,內(nèi)容涵蓋技術(shù)債務(wù)的方方面面,包括技術(shù)債務(wù)的定義與識別,技術(shù)債務(wù)在源代碼與架構(gòu)等不同抽象層次上的表現(xiàn),技術(shù)債務(wù)的成本計算與償還策略,以及在什么情況下,與技術(shù)債務(wù)共存是一個可以接受的選擇等。書中也提出了具體的可供實踐的理論與方法,讓軟件研發(fā)人員能將技術(shù)債務(wù)管理與整個軟件研發(fā)的工作結(jié)合起來,從而通過管理技術(shù)債務(wù)給軟件研發(fā)帶來切切實實的收益。
第1部分 探索技術(shù)債務(wù)全景 1
第1章 軟件開發(fā)中的摩擦 2
管理技術(shù)債務(wù)的價值 2
關(guān)于技術(shù)債務(wù) 4
技術(shù)債務(wù)示例 5
你的技術(shù)債務(wù)如何 10
本書適合誰 11
技術(shù)債務(wù)管理原則 11
本書概念導(dǎo)航 13
今天能做點什么 15
擴(kuò)展閱讀 15
第2章 什么是技術(shù)債務(wù) 16
框定討論的范圍 16
技術(shù)債務(wù)全景 17
技術(shù)債務(wù)項:工件、原因和后果 19
本金與利息 20
成本與價值 23
潛在債務(wù)與實際債務(wù) 27
技術(shù)債務(wù)時間線 28
今天能做點什么 31
擴(kuò)展閱讀 31
第3章 土星的衛(wèi)星――關(guān)鍵的上下文 33
視情況而定 33
三個案例:土星的衛(wèi)星 35
上下文中的技術(shù)債務(wù) 39
今天能做點什么 42
擴(kuò)展閱讀 42
第2部分 分析技術(shù)債務(wù) 45
第4章 識別技術(shù)債務(wù) 46
哪里感到疼痛 46
技術(shù)債務(wù)的可見后果是什么 48
撰寫一份技術(shù)債務(wù)描述 50
理解評估技術(shù)債務(wù)的業(yè)務(wù)上下文 52
評估技術(shù)債務(wù)上下文中的工件 54
今天能做點什么 56
擴(kuò)展閱讀 57
第5章 技術(shù)債務(wù)與源代碼 58
尋找魔杖 58
了解關(guān)鍵業(yè)務(wù)目標(biāo) 61
識別源代碼問題 62
定義可觀察的度量標(biāo)準(zhǔn) 64
選擇并應(yīng)用一個分析工具 66
記錄技術(shù)債務(wù)項 67
迭代 69
下一步發(fā)生什么 69
今天能做點什么 70
擴(kuò)展閱讀 71
第6章 技術(shù)債務(wù)與架構(gòu) 72
超越代碼 72
詢問設(shè)計者 75
研究架構(gòu) 77
檢查代碼,以深入了解架構(gòu) 80
Phoebe項目架構(gòu)中的技術(shù)債務(wù)案例 82
今天能做點什么 87
擴(kuò)展閱讀 87
第7章 技術(shù)債務(wù)與生產(chǎn)環(huán)境 89
超越架構(gòu)、設(shè)計和代碼 89
構(gòu)建與集成的技術(shù)債務(wù) 92
測試技術(shù)債務(wù) 94
基礎(chǔ)設(shè)施技術(shù)債務(wù) 95
Phoebe生產(chǎn)環(huán)境中的技術(shù)債務(wù)案例 96
今天能做點什么 98
擴(kuò)展閱讀 98
第3部分 決定修復(fù)什么技術(shù)債務(wù) 99
第8章 技術(shù)債務(wù)的成本計算 100
將經(jīng)濟(jì)焦點放在技術(shù)債務(wù)上 100
細(xì)化技術(shù)債務(wù)描述 102
計算補(bǔ)救成本 103
計算經(jīng)常性利息 104
比較成本與收益 105
集中管理技術(shù)債務(wù)項 108
今天能做點什么 110
擴(kuò)展閱讀 111
第9章 償還技術(shù)債務(wù) 112
權(quán)衡成本與收益 112
償還技術(shù)債務(wù)的途徑 117
發(fā)布流水線 121
將技術(shù)債務(wù)作為投資的商業(yè)案例 123
今天能做點什么 126
擴(kuò)展閱讀 126
第4部分 從戰(zhàn)略和戰(zhàn)術(shù)上管理技術(shù)債務(wù) 129
第10章 技術(shù)債務(wù)的成因是什么 130
技術(shù)債務(wù)成因識別的困惑 130
產(chǎn)生技術(shù)債務(wù)的根本原因 132
什么導(dǎo)致技術(shù)債務(wù) 133
業(yè)務(wù)原因 134
上下文變化的原因 135
開發(fā)過程原因 137
人和團(tuán)隊的原因 140
結(jié)論 143
今天能做點什么 143
擴(kuò)展閱讀 144
第11章 技術(shù)債務(wù)信用檢查 145
查明原因:技術(shù)債務(wù)信用檢查 145
了解項目狀態(tài)的四個重點領(lǐng)域 148
Phoebe項目技術(shù)債務(wù)原因分析 150
Tethys項目技術(shù)債務(wù)原因分析 152
今天能做點什么 155
擴(kuò)展閱讀 155
第12章 避免非故意的技術(shù)債務(wù) 156
軟件工程 156
代碼質(zhì)量和非故意的技術(shù)債務(wù) 157
架構(gòu)、生產(chǎn)環(huán)境和非故意的技術(shù)債務(wù) 161
今天能做點什么 169
擴(kuò)展閱讀 169
第13章 與技術(shù)債務(wù)共存 170
你的技術(shù)債務(wù)工具箱 170
在土星的三顆衛(wèi)星上 175
技術(shù)債務(wù)與軟件開發(fā) 177
結(jié)語 179