有 1 項符合
持續交付2.0:業務引領的DevOps精要(增訂本)
的圖書
|
|
| 持續交付2.0:業務引領的DevOps精要(增訂本)
作者:喬梁
出版社:人民郵電出版社
出版日期:2022-02-01
語言:簡體中文 規格:平裝 / 338頁 / 16k/ 19 x 26 x 1.69 cm / 普通級/ 單色印刷 / 初版
|
圖書介紹 - 資料來源:博客來 目前評分: 評分:
圖書名稱:持續交付2.0:業務引領的DevOps精要(增訂本) 內容簡介
本書“重新定義”了持續交付,增補了組織管理和架構兩個維度,輔助以真實案例,對持續交付的諸多原則和實踐加以解讀,並對持續交付過程中的取捨原則加以論述。
本書分為3個部分:第一部分作者根據自己近十年的工作及諮詢經歷,通過不斷總結、提煉和反思,對原有的持續交付進行修正,重新定義持續交付為實現組織戰略目標的能力,並引入持續交付的能力模型;第二部分闡述組織打造持續交付能力模型所需遵循的原則,包括基礎原則、組織原則和架構原則;第三部分通過對多個互聯網公司案例的解讀,闡述如何根據組織的當前狀況應用相關原則對最佳實踐進行取捨,並快速達到組織能力目標。
本書適合大型互聯網公司的技術VP、技術負責人,中小型互聯網公司的CTO、技術VP、研發/測試/運維負責人、主管及骨幹,以及組織變革者閱讀。
作者介紹
敏思特諮詢公司聯合創始人,騰訊外聘高級管理顧問,DevOps領域導師之一,持續交付雙環理論創始人,指導過很多大型軟體公司解決組織轉型與研發管理方面的相關問題。國內最早致力於通過敏捷開發與精益理論提升軟體價值交付效率的實踐者之一,精研各種軟體工程方法論,2010年翻譯《持續交付》一書,並結合8年實踐將工作心得整理成《持續交付2.0:業務引領的DevOps精要》。十多年來,受邀參加各種大型技術會議(如QCon、AgileChina、DevOpsDays、MSTC等)並發表演講。
目錄
第1章 持續交付2.0 1
1.1 軟體工程發展概述 1
1.1.1 瀑布軟體發展方法 1
1.1.2 敏捷軟體發展方法 2
1.1.3 DevOps運動 3
1.1.4 持續交付1.0 4
1.2 持續交付2.0 7
1.2.1 精益思想 8
1.2.2 雙環模型 9
1.2.3 4個核心原則 11
1.2.4 持續交付七巧板 12
1.3 小結 13
第2章 價值探索環 14
2.1 探索環的意義 14
2.2 探索環的4個關鍵環節 15
2.2.1 提問 16
2.2.2 錨定 17
2.2.3 共創 19
2.2.4 精煉 22
2.3 工作原則 24
2.3.1 分解並快速試錯 24
2.3.2 一次只驗證一點 25
2.3.3 允許失敗 26
2.4 共創與精煉的常用方法 27
2.4.1 裝飾窗方法 27
2.4.2 最小可行特性法 29
2.4.3 特區法 30
2.4.4 定向探索法 30
2.4.5 稻草人法 31
2.4.6 最小可行產品法 32
2.5 實施注意事項 32
2.6 小結 35
第3章 快速驗證環 36
3.1 驗證環的目標 36
3.2 驗證環的4個關鍵環節 37
3.2.1 構建 37
3.2.2 運行 38
3.2.3 監測 39
3.2.4 決策 39
3.3 工作原則 39
3.3.1 品質內建 39
3.3.2 消除等待 40
3.3.3 重複事務自動化 43
3.3.4 監測一切 43
3.4 小結 44
第4章 持續交付2.0的組織文化 45
4.1 安全、信任與持續改善 45
4.1.1 失敗是安全的 45
4.1.2 相互信任 45
4.1.3 持續改善 46
4.2 文化塑造四步法 46
4.2.1 行為決定文化 46
4.2.2 谷歌的工程師品質文化 48
4.2.3 Etsy的持續試驗文化 49
4.3 行動原則 50
4.3.1 價值導向 51
4.3.2 快速驗證 51
4.3.3 持續學習 51
4.4 度量原則 55
4.4.1 度量指標的4類屬性 56
4.4.2 度量的目標是改善 57
4.4.3 古德哈特定律 57
4.4.4 度量應有行動決策 58
4.5 “改善套路”進行持續改進 58
4.6 小結 59
第5章 持續交付的軟體系統架構 60
5.1 “大系統小做”原則 61
5.1.1 持續交付架構要求 61
5.1.2 系統拆分原則 61
5.2 常見架構模式 62
5.2.1 微核架構 62
5.2.2 微服務架構 63
5.2.3 巨石應用 64
5.3 架構改造實施模式 66
5.3.1 拆遷者模式 67
5.3.2 絞殺者模式 68
5.3.3 修繕者模式 68
5.3.4 數據庫的拆分方法 70
5.4 小結 70
第6章 業務需求協作管理 72
6.1 產品版本週期概述 73
6.1.1 準備期 73
6.1.2 交付期 74
6.2 需求拆分的利與弊 75
6.2.1 需求拆分的收益 76
6.2.2 需求拆分的成本 78
6.3 需求拆分方法 79
6.3.1 需求的來源 80
6.3.2 技術債也是需求 80
6.3.3 參與需求拆分的角色 81
6.3.4 不平等的INVEST原則 82
6.3.5 五大拆分技法 82
6.3.6 七大組成部分 84
6.4 需求分析與管理工具集 85
6.4.1 用戶故事地圖 85
6.4.2 用戶故事樹 86
6.4.3 依賴關係圖 87
6.4.4 需求管理數字化平臺 87
6.5 團隊協作管理工具 87
6.5.1 團隊共用日曆 88
6.5.2 團隊回顧 89
6.5.3 視覺化故事牆 90
6.5.4 明確“完成”的定義 90
6.5.5 持續集成 91
6.5.6 故事驗證 91
6.6 小結 91
第7章 部署流水線原則與工具設計 92
7.1 簡單的部署流水線 92
7.1.1 簡單的產品研發流程 92
7.1.2 初始部署流水線 93
7.1.3 流水線執行狀態解析 95
7.2 部署流水線的設計與使用 95
7.2.1 流水線的設計原則 95
7.2.2 團隊的協作紀律 97
7.3 部署流水線平臺的構成 97
7.3.1 工具鏈總體架構 97
7.3.2 平臺應當具備的基本能力 99
7.3.3 工具鏈建設策略 100
7.4 基礎支撐服務的雲化 100
7.4.1 基礎支撐服務的協作過程解析 101
7.4.2 編譯構建管理服務 103
7.4.3 自動化測試管理服務 104
7.4.4 軟體部署管理服務 105
7.4.5 基礎環境管理服務 106
7.5 企業製品庫的管理 107
7.5.1 製品庫的分類 107
7.5.2 製品庫的管理原則 108
7.6 多種多樣的部署流水線 108
7.6.1 多組件的部署流水線 108
7.6.2 個人部署流水線 109
7.6.3 部署流水線的不斷演進 110
7.7 為開發者構建自助式工具 111
7.8 小結 113
第8章 利於集成的分支策略 114
8.1 版本控制系統的使用目的 114
8.1.1 集中式版本控制系統 114
8.1.2 分散式版本控制系統 115
8.1.3 版本控制系統中的基本概念 117
8.2 常見分支開發模式 118
8.2.1 主幹開發,主幹發佈 118
8.2.2 主幹開發,分支發佈 119
8.2.3 分支開發,主幹發佈 121
8.3 分支模式的演化 126
8.3.1 “三駕馬車”分支模式 126
8.3.2 Gitflow分支模式 127
8.3.3 GitHubFlow分支模式 128
8.4 分支策略的選擇 128
8.4.1 版本發佈模式 128
8.4.2 分支策略與發佈週期的關係 132
8.5 小結 133
第9章 持續集成 134
9.1 起源與定義 134
9.1.1 原始定義 135
9.1.2 一次集成過程 135
9.2 六步提交法 136
9.2.1 4個關鍵點 138
9.2.2 同步與非同步模式 139
9.2.3 自查表 140
9.3 速度與品質的權衡 141
9.3.1 分級構建 141
9.3.2 多人同時提交的構建 142
9.3.3 雲平臺的威力 143
9.4 在團隊中實施持續集成實踐 145
9.4.1 快速建立團隊的持續集成實踐 145
9.4.2 分支策略與部署流水線 148
9.5 常見的實施問題 150
9.5.1 工程師的開發習慣 151
9.5.2 視而不見的掃描問題 151
9.5.3 自動化測試用例的缺乏 151
9.6 小結 152
第10章 自動化測試策略與方法 153
10.1 自動化測試的自身定位 153
10.1.1 自動化測試的優勢 154
10.1.2 自動化測試所需的 投入 155
10.2 突破傳統自動化測試的困境 156
10.2.1 傳統自動化測試的特點 157
10.2.2 自動化測試的分層 157
10.2.3 不同類型的測試金字塔 160
10.3 自動化測試的實施策略 163
10.3.1 增加自動化測試用例的著手點 163
10.3.2 提高自動化測試的執行次數 164
10.3.3 良好自動化測試的特徵 165
10.3.4 共用自動化測試的維護職責 166
10.3.5 代碼測試覆蓋率 167
10.4 用戶驗收自動化測試要點 168
10.4.1 先搭建分層框架 168
10.4.2 測試用例數應保持低位 171
10.4.3 為自動化測試用例預留API 171
10.4.4 為調試做好準備 171
10.4.5 測試數據的準備 171
10.5 其他品質檢查方法 173
10.5.1 差異批准測試方法 173
10.5.2 代碼規範檢查與代碼動靜態檢測 174
10.5.3 AI在測試領域的應用 174
10.6 小結 175
第11章 軟體配置管理 176
11.1 將一切納入軟體配置管理 176
11.1.1 軟體配置管理的目標 176
11.1.2 軟體配置管理的範圍 177
11.1.3 軟體配置管理的原則 177
11.2 套裝軟體的版本管理 181
11.2.1 包管理的反模式 181
11.2.2 集中式包管理服務 182
11.2.3 套裝軟體的元信息 183
11.3 包依賴管理 185
11.3.1 顯式聲明依賴 185
11.3.2 自動管理依賴 187
11.3.3 減少複雜依賴 188
11.4 環境基礎設施管理 191
11.4.1 環境準備的4種狀態 191
11.4.2 領域專屬語言的應用 197
11.4.3 環境基礎設施即代碼 198
11.5 軟體配置項的管理 199
11.5.1 二進位與配置項的分離 199
11.5.2 配置資訊的版本管理 200
11.5.3 配置項的存儲組織方式 201
11.5.4 配置漂移與治理 202
11.6 不可變基礎設施與雲應用 203
11.6.1 實現不可變基礎設施 203
11.6.2 雲原生應用 206
11.6.3 優勢與挑戰 206
11.7 數據的版本管理 208
11.7.1 數據庫結構變更 208
11.7.2 數據文件 208
11.8 需求與原始程式碼的版本關聯 209
11.9 小結 209
第12章 低風險發佈 211
12.1 高頻發佈是一種趨勢 211
12.1.1 互聯網企業的高頻發佈 212
12.1.2 收益與成本共存 214
12.2 降低發佈風險的方法 215
12.2.1 藍綠部署 215
12.2.2 滾動部署 216
12.2.3 金絲雀發佈與灰度發佈 217
12.2.4 暗部署 218
12.3 高頻發佈支撐技術 219
12.3.1 功能開關技術 220
12.3.2 數據遷移技術 222
12.3.3 抽象分支方法 225
12.3.4 升級替代回滾 226
12.4 影響發佈頻率的因素 227
12.5 小結 228
第13章 監測與決策 229
13.1 生產監測範圍 230
13.1.1 後臺服務的監測 230
13.1.2 分發軟體的監測 230
13.2 數據監測體系 231
13.2.1 收集與處理 231
13.2.2 數據的標準化 232
13.2.3 監測數據體系及其能力衡量 233
13.3 問題處理體系 235
13.3.1 告警海洋與智慧化管理 235
13.3.2 問題處理是一個學習過程 236
13.4 生產環境測試 237
13.4.1 測試活動扁平化趨勢 237
13.4.2 生產環境中的測試 239
13.4.3 混沌工程 239
13.5 向東,還是向西 240
13.6 小結 241
第14章 大型互聯網團隊的FT化 242
14.1 簡介 242
14.1.1 改進前狀態 243
14.1.2 改進後狀態 245
14.2 改進方法論 245
14.2.1 指導思想 245
14.2.2 改進步驟 245
14.3 改進的歷程 246
14.3.1 架構解耦 246
14.3.2 組織解耦 248
14.3.3 研發流程再造 250
14.3.4 自動化一切 259
14.4 小結 260
第15章 小團隊逆襲之旅 262
15.1 背景簡介 262
15.1.1 改進前的“死亡行軍”之旅 264
15.1.2 改進後的無缺陷交付 264
15.2 改進方法論 265
15.2.1 指導思想 265
15.2.2 試點團隊的選擇 265
15.3 第 一階段:研發準備期 266
15.3.1 功能簡介與需求拆分 266
15.3.2 架構設計與需求依賴識別 267
15.3.3 工作量估算與排期 268
15.4 第二階段:軟體交付期 270
15.4.1 通過視覺化看板改進工作流程 270
15.4.2 無缺陷交付 277
15.4.3 主幹開發與持續集成 278
15.4.4 測試活動左移 279
15.4.5 代碼評審 279
15.4.6 關注結果,更要關注過程 280
15.5 小結 281
第16章 研發推動的DevOps 283
16.1 改進的關鍵點 285
16.1.1 改進方法論 285
16.1.2 定義改進目標 285
16.2 第 一階段:敏捷101 287
16.2.1 做個靠譜的計畫 287
16.2.2 開發階段啟航 291
16.2.3 對過程品質的約束 294
16.2.4 階段性改進點 301
16.3 第二階段:DevOps轉型 302
16.3.1 與運維人員的“衝突” 303
16.3.2 高頻部署發佈中的具體障礙 304
16.3.3 整體解決方案的設計 304
16.3.4 DevOps階段的團隊改變 308
16.4 小結 308
第17章 研發組織效能提升的必經之路 310
17.1 知識工作者與熵增定律 310
17.1.1 每個工程師生產的都是非標品 310
17.1.2 軟體工程的複雜性令研發效率降低 311
17.2 一致性是效能提升的必經之路 313
17.3 組織能力三要素 314
17.4 勝任力評估 315
17.4.1 組織勝任力評估模型 316
17.4.2 個人勝任力培養體系 318
17.5 組織健康度 319
17.6 小結 320
附錄A 軟體工程的三次進化 321
A.1 軟體工程的誕生 322
A.1.1 軟體危機 322
A.1.2 瀑布軟體發展模型 322
A.2 二次進化:敏捷開發 324
A.2.1 前奏——螺旋模型 324
A.2.2 敏捷宣言的誕生 324
A.2.3 敏捷軟體發展方法的演化 328
A.2.4 敏捷軟體發展方法小結 329
A.2.5 TPS啟發下的軟體發展方法 330
A.3 三次進化:DevOps 331
A.3.1 DevOps運動的興起 331
A.3.2 持續交付的誕生 332
A.4 小結 333
附錄B 排序法做相對估算 334
B.1 排序法相對估算 334
B.2 相對排序法的操作過程 335
B.3 小結 338
詳細資料
- ISBN:9787115577399
- 規格:平裝 / 338頁 / 16k / 19 x 26 x 1.69 cm / 普通級 / 單色印刷 / 初版
- 出版地:中國
|
|
|
| 66折: $ 251 | | 作者:周姚萍 出版社:五南圖書出版股份有限公司 出版日期:2020-10-28 66折: $ 165 | | 66折: $ 898 | | 66折: $ 924 | |
|
| 作者:廣嶋玲子 出版社:親子天下 出版日期:2024-10-31 $ 284 | | 作者:曾寶儀 出版社:遠見天下文化出版股份有限公司 出版日期:2024-10-31 $ 331 | | 作者:漫畫:zunta、原作:はらわたさいぞう 出版社:台灣角川股份有限公司 出版日期:2024-11-21 $ 111 | | 作者:龍幸伸 出版社:東立出版社 出版日期:2024-11-15 $ 247 | |
|
| 作者:杉井光 出版社:皇冠 出版日期:2024-09-30 $ 284 | | 作者:劍康之 出版社:台灣角川股份有限公司 出版日期:2024-11-21 $ 111 | | 作者:蠢羊 出版社:時報文化出版企業股份有限公司 出版日期:2024-11-19 $ 252 | | 作者:張忠謀 出版社:遠見天下文化出版股份有限公司 出版日期:2024-11-29 $ 869 | |
|
|
|
|