管好技術債:低摩擦軟件開發之道 Managing Technical Debt: Reducing Friction in Software Development

Kruchten, Philippe, Nord, Robert, Ozkaya, Ipek 馮文輝

商品描述

隨著軟件系統越來越復雜,在預算或開發進度受到約束的背景下早期做出的設計或代碼決策到後期會阻礙系統的演化和創新。這種現象被稱為技術債務,而對此的解決之道早已有之。在《管好技術債:低摩擦軟件開發之道》一書中,三位行業頂尖的專家介紹了從經驗中總結的開發原則和實踐,任何軟件專業人員都可以運用這些原則和實踐來管理軟件系統中的技術債務。本書講述了在軟件研發過程中,如何對技術債務的全生命周期進行管理,內容涵蓋技術債務的方方面面,包括技術債務的定義與識別,技術債務在源代碼與架構等不同抽象層次上的表現,技術債務的成本計算與償還策略,以及在什麽情況下,與技術債務共存是一個可以接受的選擇等。書中也提出了具體的可供實踐的理論與方法,讓軟件研發人員能將技術債務管理與整個軟件研發的工作結合起來,從而通過管理技術債務給軟件研發帶來切切實實的收益。本書適合參與軟件研發工作的開發者、管理者、架構師,以及對技術債務感興趣的讀者閱讀。對於每一位想要加速現有系統的創新或建立更容易維護和演進的新系統的軟件專業人員來說,《管好技術債:低摩擦軟件開發之道》都是一本極具參考價值的書。

目錄大綱

第1部分 探索技術債務全景 1
第1章 軟件開發中的摩擦 2
管理技術債務的價值 2
關於技術債務 4
技術債務示例 5
你的技術債務如何 10
本書適合誰 11
技術債務管理原則 11
本書概念導航 13
今天能做點什麽 15
擴展閱讀 15
第2章 什麽是技術債務 16
框定討論的範圍 16
技術債務全景 17
技術債務項:工件、原因和後果 19
本金與利息 20
成本與價值 23
潛在債務與實際債務 27
技術債務時間線 28
今天能做點什麽 31
擴展閱讀 31
第3章 土星的衛星——關鍵的上下文 33
視情況而定 33
三個案例:土星的衛星 35
上下文中的技術債務 39
今天能做點什麽 42
擴展閱讀 42

第2部分 分析技術債務 45
第4章 識別技術債務 46
哪裡感到疼痛 46
技術債務的可見後果是什麽 48
撰寫一份技術債務描述 50
理解評估技術債務的業務上下文 52
評估技術債務上下文中的工件 54
今天能做點什麽 56
擴展閱讀 57
第5章 技術債務與源代碼 58
尋找魔杖 58
瞭解關鍵業務目標 61
識別源代碼問題 62
定義可觀察的度量標準 64
選擇並應用一個分析工具 66
記錄技術債務項 67
迭代 69
下一步發生什麽 69
今天能做點什麽 70
擴展閱讀 71
第6章 技術債務與架構 72
超越代碼 72
詢問設計者 75
研究架構 77
檢查代碼,以深入瞭解架構 80
Phoebe項目架構中的技術債務案例 82
今天能做點什麽 87
擴展閱讀 87
第7章 技術債務與生產環境 89
超越架構、設計和代碼 89
構建與集成的技術債務 92
測試技術債務 94
基礎設施技術債務 95
Phoebe生產環境中的技術債務案例 96
今天能做點什麽 98
擴展閱讀 98

第3部分 決定修復什麽技術債務 99
第8章 技術債務的成本計算 100
將經濟焦點放在技術債務上 100
細化技術債務描述 102
計算補救成本 103
計算經常性利息 104
比較成本與收益 105
集中管理技術債務項 108
今天能做點什麽 110
擴展閱讀 111
第9章 償還技術債務 112
權衡成本與收益 112
償還技術債務的途徑 117
發布流水線 121
將技術債務作為投資的商業案例 123
今天能做點什麽 126
擴展閱讀 126

第4部分 從戰略和戰術上管理技術債務 129
第10章 技術債務的成因是什麽 130
技術債務成因識別的困惑 130
產生技術債務的根本原因 132
什麽導致技術債務 133
業務原因 134
上下文變化的原因 135
開發過程原因 137
人和團隊的原因 140
結論 143
今天能做點什麽 143
擴展閱讀 144
第11章 技術債務信用檢查 145
查明原因:技術債務信用檢查 145
瞭解項目狀態的四個重點領域 148
Phoebe項目技術債務原因分析 150
Tethys項目技術債務原因分析 152
今天能做點什麽 155
擴展閱讀 155
第12章 避免非故意的技術債務 156
軟件工程 156
代碼質量和非故意的技術債務 157
架構、生產環境和非故意的技術債務 161
今天能做點什麽 169
擴展閱讀 169
第13章 與技術債務共存 170
你的技術債務工具箱 170
在土星的三顆衛星上 175
技術債務與軟件開發 177
結語 179