●第1章 軟件研發效能概論1
1.1 到底什麼是研發效能2
1.1.1 研發效能提升案例1:前端代碼的自動生成3
1.1.2 研發效能提升案例2:臨界參數下的API測試4
1.1.3 研發效能提升案例3:基於流程優化的效能提升5
1.2 研發效能的“第一性原理”6
1.3 研發效能的另一種解讀7
1.4 基於工具協作的研發效能提升8
1.5 基於MVP原則構建研發效能的持續改進11
1.6 研發效能提升很好實踐的探索12
1.6.1 從痛點入手13
1.6.2 從全局切入14
1.6.3 用戶獲益15
1.6.4 持續改進16
1.6.5 全局優化17
1.6.6 效能平臺架構的靈活性18
1.6.7 杜絕“掩耳盜鈴”18
1.6.8 喫自己的“狗糧”19
1.7 研發效能的發展方向與未來展望20
1.8 總結21
第2章 研發效能的進階解讀23
2.1 研發效能與霍桑效應25
2.1.1 霍桑效應25
2.1.2 霍桑效應的負面影響26
2.1.3 霍桑效應的正面影響27
2.2 摩爾定律與反摩爾定律28
2.2.1 摩爾定律28
2.2.2 反摩爾定律28
2.2.3 反摩爾定律對研發效能的意義29
2.3 不容忽視的溝通成本31
2.3.1 信息熵32
2.3.2 溝通信息熵衰減32
2.3.3 自解釋編程34
2.4 研發效能對現代大型軟件企業的重要性35
2.5 總結37
第3章 項目管理中的提效手段38
3.1 敏捷項目管理概述39
3.1.1 敏捷宣言40
3.1.2 常見的敏捷開發方法42
3.1.3 敏捷角色45
3.2 敏捷項目管理中效能提升的五大要素47
3.2.1 自組織團隊47
3.2.2 持續改進48
3.2.3 頻繁交付48
3.2.4 消除對立49
3.2.5 未雨綢繆50
3.3 敏捷項目管理中的常見誤區50
3.3.1 敏捷開發就是快速開發51
3.3.2 敏捷開發應當拋棄文檔51
3.3.3 敏捷開發隻適合小微團隊52
3.3.4 敏捷開發淪為小瀑布開發52
3.3.5 敏捷是沒有約束的53
3.4 建立度量體繫:無法度量,就無法改進54
3.4.1 選擇度量指標55
3.4.2 構建度量體繫58
3.4.3 度量的誤區59
3.5 可視化:打開窗戶看世界60
3.5.1 項目管理中的效能可視化61
3.5.2 效能數據可視化64
3.6 提速:依賴解耦,提升交付速度65
3.6.1 提速的切入點65
3.6.2 高頻的威力68
3.6.3 避免豎井效應68
3.7 消除變量:控制復雜度70
3.7.1 約束70
3.7.2 控制71
3.7.3 抵抗熵增71
3.7.4 遠慮72
3.8 未雨綢繆:防御性管理73
3.8.1 及時暴露風險73
3.8.2 防御性管理74
3.8.3 Plan B74
3.8.4 避免盲目自信75
3.9 總結76
第4章 DevOps落地實施精要78
4.1 DevOps核心解讀80
4.1.1 DevOps的“六大武器”81
4.1.2 自動化、自動化、自動化82
4.1.3 DevOps生命周期精解83
4.1.4 DevOps不適合的場景86
4.2 代碼、分支與流水線86
4.2.1 代碼質量87
4.2.2 分支與工作流91
4.2.3 流水線94
4.3 持續集成與持續交付96
4.3.1 持續集成與持續交付的輕量級實施98
4.3.2 持續集成與持續交付的誤區101
4.4 容器技術在DevOps中的應用103
4.4.1 無容器化管理104
4.4.2 持續集成的容器化104
4.4.3 持續交付的容器化105
4.4.4 測試環境的容器化107
4.5 混沌工程109
4.5.1 Chaos Monkey110
4.5.2 混沌工程的實施要點111
4.5.3 混沌工程的相關工具114
4.6 DevSecOps的由來與發展115
4.6.1 傳統軟件安全開發體繫面臨的挑戰115
4.6.2 新技術對軟件安全開發提出的挑戰118
4.6.3 DevSecOps概念的誕生與內涵119
4.6.4 DevSecOps工具121
4.6.5 典型DevSecOps流程的解讀124
4.7 AIOps的行業實踐126
4.7.1 AIOps的知識體繫128
4.7.2 AIOps實施的關鍵技術129
4.7.3 AIOps的應用場景133
4.7.4 AIOps在運營保障中的應用134
4.7.5 AIOps在成本優化中的應用137
4.7.6 AIOps在效率提升中的應用139
4.8 DevPerfOps初探142
4.8.1 全鏈路壓測的局限性142
4.8.2 DevPerfOps全流程解讀144
4.9 軟件產品的可測試性和可運維性149
4.9.1 可測試性的例子150
4.9.2 可運維性的例子151
4.10 總結152
第5章 基於工具的研發效能提升(基礎篇)154
5.1 造數能力155
5.1.1 通過服務接口實時造數156
5.1.2 異步造數與造數平臺156
5.1.3 黃金數據集158
5.1.4 生產數據遷移159
5.2 流量回放160
5.2.1 傳統流量回放技術161
5.2.2 請求對比162
5.2.3 高級流量回放技術163
5.3 精準測試166
5.3.1 什麼是精準測試167
5.3.2 精準測試的工程化實施168
5.3.3 精準測試的應用170
5.4 異常場景測試171
5.4.1 一個交易服務逆向流程補償機制的設計172
5.4.2 使用JVM-Sandbox制造異常場景174
5.4.3 兼容異常場景測試和正常場景測試176
5.4.4 異常場景測試平臺176
5.5 測試模塊化178
5.5.1 可179
5.5.2 切面化181
5.5.3 模塊化案例181
5.6 測試環境治理183
5.6.1 測試環境的標簽化容器方案184
5.6.2 測試環境的配置管理185
5.6.3 測試環境的可用性巡檢186
5.7 總結187
第6章 基於工具的研發效能提升(進階篇)189
6.1 服務虛擬化190
6.1.1 Hoverfly的搭建方式191
6.1.2 Hoverfly的六大模式192
6.1.3 Hoverfly對有狀態請求的支持197
6.2 變異測試200
6.2.1 變異測試的概念201
6.2.2 兩個基本假設和六大定義201
6.2.3 變異測試步驟204
6.2.4 變異測試實戰204
6.3 高效API自動化測試的分層設計209
6.3.1 原始狀態210
6.3.2 API定義層213
6.3.3 Service層214
6.3.4 TestCase層219
6.3.5 測試數據層221
6.4 高效GUI自動化測試的分層設計223
6.4.1 Page Object224
6.4.2 Page Section225
6.4.3 Flow226
6.4.4 Action226
6.5 AI在研發效能提升中的應用228
6.5.1 AI在測試結果分析中的應用229
6.5.2 使用aiXcoder開發代碼的效率提升231
6.6測試用例的自動化生成234
6.6.1 EvoSuite235
6.6.2 Diffblue Cover239
6.7 總結240
第7章 組織效能提升242
7.1 工程效能部:從哪裡來,到哪裡去244
7.1.1 工程效能部的背景244
7.1.2 工程效能部的組織建設245
7.1.3 工程效能部的未來247
7.2 業務中臺與質量中臺248
7.2.1 中臺的深入解讀249
7.2.2 業務中臺解讀250
7.2.3 質量中臺解讀251
7.3 組織建設中的研發效能度量252
7.3.1 度量失敗的案例253
7.3.2 度量失敗的原因254
7.3.3 組織建設中的研發效能度量精解255
7.3.4 組織建設中的研發效能度量誤區258
7.4 高效組織建設的很好實踐263
7.4.1 不要制定衝突的目標264
7.4.2 善用激勵手段,敢用懲罰手段265
7.4.3 規避形式主義,勇於做減法266
7.4.4 重視創新,鼓勵“小輪子”經濟267
7.5 企業級研發效能提升的常見誤區268
7.5.1 試圖提升研發效能的絕對值268
7.5.2 迷信單點局部能力268
7.5.3 過高估計普適性的通用研發效能工具的能力269
7.5.4 用偽工程實踐和面子工程來濫竽充數270
7.5.5 忽略研發效能工具體繫的長尾效應270
7.5.6 盲目跟風271
7.5.7 研發效能的“冷思考”271
7.6 總結272
第8章 業界優秀研發效能提升案例解讀274
8.1 大型全球化電商公司的“去QE化”實踐275
8.1.1 “去QE化”帶來的問題277
8.1.2 “去QE化”的工程建設278
8.2 CODING團隊的組織效能變遷288
8.2.1 作坊式的團隊組織288
8.2.2 “稍微”敏捷的團隊組織289
8.2.3 產品制的團隊組織291
8.2.4 基於工具優化助力組織建設292
8.3 大型通信行業公司的研發效能提升實戰案例293
8.3.1 DevOps實踐294
8.3.2 敏捷開發實踐296
8.3.3 研發效能的度量298
8.3.4 案例總結299
8.4 某大型金融行業公司的性能測試提效之路299
8.4.1 背景與挑戰300
8.4.2 基礎平臺建設301
8.4.3 性能測試體繫建設303
8.4.4 案例總結308
8.5 總結310
參考文獻312
本書彙聚了行業前沿的研發效能提升實踐與案例,同時提煉出大量方法論和經驗反思,以詼諧、幽默而又不失嚴謹、詳實的風格,多角度、全方位覆蓋研發效能領域的核心知識,深入淺出,發人深思。全書采用從概要到細節、從方法論到案例、理論聯繫實際的寫作思路。第1章和第2章通覽研發效能的概念與背景,並對研發效能進行由淺入深的解讀;第3章以敏捷開發為主線,講述項目管理中的提效實踐;第4章介紹了行業流行的DevOps實踐,並衍生講解了目前流行的DevSecOps、AIOps、DevPerfOps,以及混沌工程等內容;第5章和第6章立足於工具建設,詳細介紹了流量回放、精準測試、服務虛擬化,以及AI在研發效能提升中的應用等12個大大小小的工具、繫統與設計理念;第7章介紹了組織效能提升的多種手段,同時給出作者從實踐中總結的大量經驗和誤區;第8章為案例篇,通過對四家不同形態企業的研發效能提升的實戰講解,幫助讀者舉一反三、融等