軟件開發珠璣:穿越50年軟件往事的60條戒律 Software Development Pearls: Lessons from Fifty Years of Software Experience

死月

買這商品的人也買了...

商品描述

本書像牡蠣一樣,去蕪存菁,將作者五十年來在軟件工程領域摸爬滾打得來的經驗教訓凝結為軟件開發珠璣。它圍繞需求、設計、項目管理、文化與團隊合作、質量、過程改進幾個方面,在軟件工程的各個角落中挖掘出也許對大家有用的經驗教訓,讓大家在自己的相關職業生涯(包括但不限於研發各領域的工程師、產品經理、設計師、項目經理等)中少走一些彎路,更能如魚得水。

目錄大綱

第1章 吸取經驗教訓........................................................................................1
我的視角 .............................................................................................................................1
關於本書 .............................................................................................................................2
術語說明 .............................................................................................................................4
你的收獲 .............................................................................................................................4
第2章 需求................................................................................................... 5
何謂需求 .............................................................................................................................5
不同的需求類型 .........................................................................................................5
需求工程的子領域 .....................................................................................................6
業務分析師 .................................................................................................................7
需求是基石 .................................................................................................................8
初體驗 :需求 .....................................................................................................................8
經驗教訓 1 需求不對,項目要廢 ..................................................................................9
何時 .............................................................................................................................9
何法 ...........................................................................................................................10
經驗教訓 2 需求開發成功,大家就都能懂 ................................................................ 11
經驗教訓 3 涉眾的興趣點都“長”在需求上 ............................................................13
涉眾分析 ...................................................................................................................13
仲裁人 .......................................................................................................................15
統一戰線 ...................................................................................................................15
經驗教訓 4 以人為本,用途為先 ................................................................................16
哪兒來那麽多多餘的功能 .......................................................................................16
用途先行 ...................................................................................................................17
關註用戶故事 ...........................................................................................................18
用途規則 ...................................................................................................................19
經驗教訓 5 需求不賴,得看迭代 ................................................................................19
漸進式完善細節 .......................................................................................................19
突發功能需求 ...........................................................................................................20
突發非功能需求 .......................................................................................................21
經驗教訓 6 敏捷需求並無不同 ....................................................................................21
角色與職責 ...............................................................................................................22
術語 ...........................................................................................................................22
文檔細節 ...................................................................................................................22
活動定時 ...................................................................................................................23
可交付形式 ...............................................................................................................24
優先級排序的時機 ...................................................................................................24
真有區別嗎 ...............................................................................................................24
經驗教訓 7 好記性不如爛筆頭 ....................................................................................25
畏懼下筆 ...................................................................................................................26
書面溝通之益 ...........................................................................................................26
合理平衡 ...................................................................................................................27
經驗教訓 8 需求就是要清晰溝通,不要用鬼話迷惑涉眾 ........................................28
多涉眾,多訴求 .......................................................................................................29
擇述術 .......................................................................................................................30
嘮一嘮 .......................................................................................................................32
經驗教訓 9 群眾的眼睛是雪亮的 ................................................................................32
多需求涉眾 ...............................................................................................................32
需求質量檢查單 .......................................................................................................33
經驗教訓 10 需求越好,風險越渺 ..............................................................................34
粒度尺寸 ...................................................................................................................35
多少算夠 ...................................................................................................................35
經驗教訓 11 不是僅收集就完事了...............................................................................36
收集 vs 啟發 ..............................................................................................................36
何時啟發需求 ...........................................................................................................37
啟發上下文 ...............................................................................................................37
啟發技術 ...................................................................................................................37
奠定基礎 ...................................................................................................................39
經驗教訓 12 客戶的嘴,多聽不虧 ..............................................................................39
溝通途徑 ...................................................................................................................39
產品擁躉 ...................................................................................................................40
其他需求溝通途徑 ...................................................................................................41
縮小隔閡的橋梁 .......................................................................................................42
經驗教訓 13 天眼不通,他心不通 ..............................................................................42
來猜一下 ...................................................................................................................42
明晰化 .......................................................................................................................42
他心不通 ...................................................................................................................44
經驗教訓 14 眾口難調,則勿全調 ..............................................................................44
註意 ...........................................................................................................................45
主持人控場 ...............................................................................................................45
專註,專註,再專註 ...............................................................................................46
團體之外 ...................................................................................................................46
經驗教訓 15 優先級看嗓門,項目妥妥沒魂 ..............................................................47
優先級排序技巧 .......................................................................................................48
排優準繩 ...................................................................................................................48
量化分析 ...................................................................................................................49
經驗教訓 16 邊界不劃清,需求攤大餅 ......................................................................49
範圍潛變迷霧 ...........................................................................................................49
如何記載範圍 ...........................................................................................................50
在範圍內嗎 ...............................................................................................................51
模糊需求 = 模糊範圍 ...............................................................................................52
下一步 :需求 ...................................................................................................................53
第3章 設計................................................................................................. 54
何謂設計 ...........................................................................................................................54
設計的方方面面 .......................................................................................................55
你的設計精妙嗎 .......................................................................................................56
初體驗 :設計 ...................................................................................................................58
經驗教訓 17 設計迭代,更新不斷 ..............................................................................58
原型設計之魅 ...........................................................................................................59
概念驗證 ...................................................................................................................60
模型 ...........................................................................................................................60
經驗教訓 18 高度抽象,小步快跑 ..............................................................................61
通觀全局,步步為營 ...............................................................................................62
快速視覺迭代 ...........................................................................................................63
迭代就這麽簡單 .......................................................................................................64
經驗教訓 19 不要讓不知所措的用戶感覺自己宛若智障 ..........................................65
讓用戶無法犯錯 .......................................................................................................66
讓用戶難以犯錯 .......................................................................................................66
讓用戶易於從錯誤中恢復 .......................................................................................67
隨它吧 .......................................................................................................................67
經驗教訓 20 想優化所有質量屬性?做夢呢吧 ..........................................................67
質量的維度 ...............................................................................................................68
指定質量屬性 ...........................................................................................................70
質量導向的設計 .......................................................................................................70
架構與質量屬性 .......................................................................................................71
經驗教訓 21 一仞設計,抵丈重構 ..............................................................................71
技術債與重構 ...........................................................................................................72
架構缺陷 ...................................................................................................................73
經驗教訓 22 系統問題,接口尤甚 ..............................................................................73
技術接口問題 ...........................................................................................................74
輸入數據校驗 ...........................................................................................................76
用戶界面問題 ...........................................................................................................77
軟件開發珠璣 XXII
接口爭霸 ...................................................................................................................77
下一步 :設計 ...................................................................................................................78
第4章 項目管理........................................................................................... 79
何謂項目管理 ...................................................................................................................79
人員管理 ...................................................................................................................80
需求管理 ...................................................................................................................80
預期管理 ...................................................................................................................80
任務管理 ...................................................................................................................80
承諾管理 ...................................................................................................................81
風險管理 ...................................................................................................................81
溝通管理 ...................................................................................................................81
變化管理 ...................................................................................................................81
資源管理 ...................................................................................................................81
依賴管理 ...................................................................................................................82
合同管理 ...................................................................................................................82
供應商管理 ...............................................................................................................82
消除管理障礙 ...........................................................................................................82
初體驗 :項目管理 ...........................................................................................................83
經驗教訓 23 工作計劃,必有摩擦 ..............................................................................83
任務切換與心流狀態 ...............................................................................................84
有效時間 ...................................................................................................................85
其他項目摩擦來源 ...................................................................................................86
規劃影響 ...................................................................................................................87
經驗教訓 24 不要胡亂估算,拍個腦袋完蛋 ..............................................................87
草率預言 ...................................................................................................................88
由模糊所支配的恐懼 ...............................................................................................89
經驗教訓 25 冰山底下有的是東西 ..............................................................................89
應急緩沖 ...................................................................................................................90
涉險假設 ...................................................................................................................92
冰山型合同 ...............................................................................................................93
緩沖之美 ...................................................................................................................93
經驗教訓 26 談判要能打,數據是籌碼 ......................................................................93
哪兒來的數字 ...........................................................................................................94
原則式談判 ...............................................................................................................95
經驗教訓 27 要想估算不亂猜,歷史數據少不了 ......................................................95
多種歷史數據來源 ...................................................................................................96
軟件指標 ...................................................................................................................97
經驗教訓 28 估算不是談戀愛,不按個人開心改 ......................................................98
目標 vs 估算 ..............................................................................................................98
何時調整 ...................................................................................................................99
經驗教訓 29 離關鍵路徑遠一點兒 ..............................................................................99
關鍵路徑的界定 .......................................................................................................99
別擋著別人 .............................................................................................................100
經驗教訓 30 任務沒完成,你一分錢都拿不到 ........................................................101
什麽叫“完成” .......................................................................................................102
“學分”沒有小數點 ...............................................................................................103
跟蹤需求狀態 .........................................................................................................104
完成才能致富 .........................................................................................................104
經驗教訓 31 項目多變,放機靈些 ............................................................................104
五個項目維度 .........................................................................................................105
談判優先權 .............................................................................................................106
靈活性圖 .................................................................................................................106
五個維度的應用 .....................................................................................................108
經驗教訓 32 要麽控制項目風險,要麽被它反殺 ....................................................108
何謂風險管理 .........................................................................................................108
辨別軟件風險 .........................................................................................................109
風險管理活動 ......................................................................................................... 110
居安思危 ................................................................................................................. 112
經驗教訓 33 客戶不是永遠都是對的小公主 ............................................................ 112
“不正確” ................................................................................................................. 112
尊重“道理” ........................................................................................................... 114
經驗教訓 34 我們在軟件里假裝了太多事 ................................................................ 115
活在幻想中 ............................................................................................................. 115
非理性繁榮 ............................................................................................................. 115
人們玩的把戲 ......................................................................................................... 116
下一步 :項目管理 ......................................................................................................... 117
第5章 文化與團隊合作................................................................................. 118
何謂文化與團隊合作 ..................................................................................................... 118
堅守信念 ................................................................................................................. 119
文化一致性 ............................................................................................................. 119
文化結晶 .................................................................................................................120
壯大團隊 .................................................................................................................121
初體驗 :項目管理 .........................................................................................................122
經驗教訓 35 知識並非此消彼長 ................................................................................123
知識守財奴 .............................................................................................................123
致知計劃 .................................................................................................................124
知識轉移規模化 .....................................................................................................124
健康的信息文化 .....................................................................................................126
經驗教訓 36 壓力再多,莫亂承諾 ............................................................................126
承諾!承諾!承諾! .............................................................................................127
生活處處有“驚喜” ...............................................................................................128
經驗教訓 37 培訓實踐不落地,大力不會出奇跡 ....................................................128
問題在哪裡 .............................................................................................................129
一些可能的方案 .....................................................................................................129
工具與培訓 .............................................................................................................130
開發者的個體差異 .................................................................................................131
經驗教訓 38 權利的背面是責任 ................................................................................132
客戶的權利和責任 .................................................................................................133
開發者的權利和責任 .............................................................................................133
項目經理或發起人的權利和責任 .........................................................................133
自主團隊的權利和責任 .........................................................................................133
暴風雨來臨之前 .....................................................................................................134
經驗教訓 39 毫釐距離,千里隔閡 ............................................................................134
時空屏障 .................................................................................................................134
虛擬團隊 :分離到極致 .........................................................................................135
門,門,一門毀所有! .........................................................................................136
經驗教訓 40 小型同地辦公土辦法,規模大了它就用不上 ....................................137
流程與工具 .............................................................................................................138
專業化訴求 .............................................................................................................139
溝通沖突 .................................................................................................................139
經驗教訓 41 工作方式轉型,文化挑戰不輕 ............................................................140
價值觀、行為與實踐 .............................................................................................140
敏捷開發與文化變革 .............................................................................................141
內化 .........................................................................................................................142
經驗教訓 42 秀才遇上兵,有理說不清 ....................................................................143
小教一下 .................................................................................................................144
誰出線了 .................................................................................................................144
支持靈活性 .............................................................................................................145
下一步 :文化與團隊合作 .............................................................................................145
第6章 質量................................................................................................146
何謂質量 .........................................................................................................................146
質量的定義 .............................................................................................................146
質量規劃 .................................................................................................................147
多個質量視角 .........................................................................................................148
構建質量屬性 .........................................................................................................149
初體驗 :質量 .................................................................................................................149
經驗教訓 43 當下搞質量便宜,以後再搞可貴了 ....................................................150
修復成本的增長曲線 .............................................................................................151
難以定位 .................................................................................................................152
早期質量行為 .........................................................................................................153
經驗教訓 44 想要生產力高,就要把質量搞 ............................................................154
雙子傳奇 .................................................................................................................155
返工之禍 .................................................................................................................156
質量成本 .................................................................................................................157
經驗教訓 45 沒工夫一開始就弄對,卻有時間以後再來修 ....................................158
為什麽不一次搞定 .................................................................................................159
1 億美元綜合徵 ......................................................................................................159
權衡取捨 .................................................................................................................160
經驗教訓 46 莫跌進爛貨水溝 ....................................................................................160
爛貨水溝具象化 .....................................................................................................160
軟件中的爛貨水溝情景 .........................................................................................161
經驗教訓 47 客戶老闆再強勢,莫以惡小而為之 ....................................................162
權力游戲 .................................................................................................................162
匆匆趕碼 .................................................................................................................163
知識匱乏 .................................................................................................................163
道德陰影 .................................................................................................................164
規避流程 .................................................................................................................164
經驗教訓 48 寧讓同行刨活,別讓客戶報錯 ............................................................165
同行評審之益 .........................................................................................................165
軟件評審的多樣性 .................................................................................................166
軟因素 :評審的文化影響 .....................................................................................167
經驗教訓 49 聰明人善用工具 ....................................................................................168
工具必須提供價值 .................................................................................................168
必須明智地使用工具 .............................................................................................169
工具 ≠ 流程 ...........................................................................................................170
經驗教訓 50 今日之必達,明日之夢魘 ....................................................................171
技術債與預防性維護 .............................................................................................171
故意的技術債 .........................................................................................................172
質量導向設計 :現在還是以後 .............................................................................173
下一步 :質量 .................................................................................................................173
第7章 過程改進..........................................................................................174
何謂過程改進 .................................................................................................................174
軟件過程改進是什麽?為什麽要改進? .............................................................174
莫要懼怕過程 .........................................................................................................175
讓 SPI 成為既定事實 ..............................................................................................175
初體驗 :軟件過程改進 .................................................................................................176
經驗教訓 51 管理切忌人雲亦雲,亦步亦趨 ............................................................177
問題先行,而後方案 .............................................................................................178
根因示例 .................................................................................................................178
診斷引導治療 .........................................................................................................180
經驗教訓 52 有什麽好處,主語用“我們”而非“我” ..........................................180
團隊回報 .................................................................................................................181
個人回報 .................................................................................................................182
為團隊做件事兒 .....................................................................................................182
經驗教訓 53 痛點是第一更改力 ................................................................................183
啊!痛! .................................................................................................................183
無形之痛 .................................................................................................................184
經驗教訓 54 欲落新規,懷柔不斷 ............................................................................185
轉舵 .........................................................................................................................185
向上管理 .................................................................................................................186
經驗教訓 55 眾人已載之失,莫要重蹈覆轍 ............................................................187
學習曲線 .................................................................................................................188
好的實踐 .................................................................................................................189
經驗教訓 56 無招勝有招 ............................................................................................190
流程與節奏 .............................................................................................................190
成為非教條主義者 .................................................................................................191
經驗教訓 57 用文檔模板踐行自適應哲學 ................................................................192
經驗教訓 58 不要祈禱下一個項目會更好,好好學習來得更實在 ........................196
往回看 .....................................................................................................................196
回顧的結構 .............................................................................................................197
軟件開發珠璣 XXVIII
回顧之後 .................................................................................................................199
經驗教訓 59 軟件行業總在做無用功 ........................................................................199
學習之益 .................................................................................................................200
思考之益 .................................................................................................................201
下一步 :軟件過程改進 .................................................................................................201
第8章 然後呢.............................................................................................202
經驗教訓 60 一口氣吃不成胖子 ................................................................................202
確定優先級 .....................................................................................................................204
現實查驗 .................................................................................................................205
行動規劃 .........................................................................................................................206
你自己的經驗教訓 .........................................................................................................207
附錄A 經驗教訓劃重點............................................................................... 208