作者簡介. xix
前言 xxi
序 xxiii
第1部分 綜合管理 1
第1章 開篇寄語 3
1.1 優(yōu)良軟件的重要性 4
1.2 沼澤中的堅硬石頭 5
1.3 讀者 6
1.4 迭代式的問題解決周期 6
1.5 回顧 10
第2章 計算之源 11
2.1 催化劑
2.2 答案
2.3 這一計劃是如何實施的
2.4 為什么這一代工程師與眾不同 15
2.5 計算 16
2.6 從它們的名稱中得出數字大小 17
2.7 當年的計算機是怎樣的呢 18
2.8 我們的計算傳統(tǒng) 20
2.9 回顧 20
第3章 登山 23
3.1 勇攀高峰 24
3.2 失敗的共同根源 30
3.3 成功的要素 31
3.4 人的因素 32
3.5 回顧 32
第4章 管理 33
4.1 管理團隊 34
4.2 回顧 40
第2部分 軟件差別 41
第5章 重中之重 43
5.1 迭代式開發(fā) 43
5.2 Roscoe Leroy 44
5.3 跨越瀑布式開發(fā) 45
5.4 另一個極端 47
5.5 Roscoe的第一幅圖 47
5.6 Roscoe的第二幅圖 48
5.7 等一等 49
5.8 保持向量短小 49
5.9 軟件開發(fā)上的應用 50
5.10 面向應用的學習與短向量方向 51
5.11 風險定位 51
5.12 你之前聽過這樣的事情么 52
5.13 關于實踐式學習的更多內容 53
5.14 商業(yè)含義 54
5.15 人員配置效應 55
5.16 僅僅只是常識問題 57
5.17 回顧 58
第6章 建模 59
6.1 如何解釋UML 60
6.2 什么是UML,51為什么它很重要 61
6.3 第二個稍微復雜一些的例子 61
6.4 第三個例子 63
6.5 如今與軟件的相關性 65
6.6 提升抽象的級別 66
6.7 回顧 66
第7章 編碼 69
7.1 經理們如何來學習一門新的程序設計語言 70
7.2 定義良好的問題 71
7.3 這個標準應當包括什么呢 71
7.4 動物游戲 72
7.5 動物游戲滿足這一標準么 73
7.6 它是否通過了“那又怎么樣”測試 74
7.7 這是你的游戲 76
7.8 回顧 76
第8章 構建與發(fā)布 77
8.1 如果你構建它,67那么它們就會出現 78
8.2 在一開始設置一個沙箱 79
8.3 產品構建到底為什么會困難 79
8.4 如何對迭代式開發(fā)進行構建 84
8.5 回顧 85
第3部分 項目管理觀點 87
第9章 權衡 89
9.1 項目管理金字塔 90
9.2 五,75而非四 92
9.3 進入金字塔 93
9.4 高度變量 94
9.5 金字塔體積恒定不變 94
9.6 一個統(tǒng)計上的小插曲 95
9.7 正確的想法,80錯誤的分布 97
9.8 對于真實項目的暗示 99
9.9 怎樣才能讓成功率接近擲硬幣游戲 99
9.10 更多信心 100
9.11 至關重要的警告 101
9.12 一切為了風險 105
9.13 回顧 106
第10章 估計 107
10.1 如果我們使用常識的話會怎樣 108
10.2 香草巧克力 108
10.3 Roscoe的解釋 109
10.4 Roscoe繼續(xù)深入 109
10.5 Roscoe的日歷 110
10.6 Roscoe的計算 111
10.7 Roscoe進入軟件領域 111
10.8 Roscoe報道 111
10.9 猜一下我們做對了什么事情 112
10.10 Roscoe的概括 113
10.11 Roscoe撿起一塊骨頭 113
10.12 第2部分:猜測我們做對了某些東西 114
10.13 Roscoe被軟件項目經理聯合會所承認 115
10.14 回顧 115
第11章 日程安排 117
11.1 Roscoe擺出問題:你將會延遲多久 118
11.2 Joe扳回了些許劣勢 119
11.3 Roscoe反擊 120
11.4 Roscoe的“犯罪分子相冊” 120
11.5 Roscoe的圖 121
11.6 最后一個異議 122
11.7 Roscoe的臨別贈言 123
11.8 回顧 123
第12章 節(jié)奏.. 125
12.1 物理學家看項目過程 126
12.2 現實闖入 134
12.3 迭代開發(fā)如何呢 135
12.4 最終的圖表 140
12.5 回顧 142
第4部分 人的因素 143
第13章 政治 145
13.1 背景 146
13.2 定義 147
13.3 三種情景 147
13.4 政治是不可避免的,122但是 148
13.5 當問題演變?yōu)檎?149
13.6 工程計劃 152
13.7 高度信任的環(huán)境 153
13.8 無益政治的其他變種 154
13.9 回顧 155
第14章 溝通 157
14.1 溝通無處不在 158
14.2 Roscoe解釋其理論 158
14.3 已經完成了嗎 164
14.4 回顧 165
第15章 承諾 167
15.1 Roscoe碰了一鼻子灰 168
15.2 即刻進入案例 168
15.3 維蘇威火山般的噴發(fā) 168
15.4 德克薩斯的作風 169
15.5 應用到軟件業(yè) 170
15.6 狗吞了我的任務 170
15.7 規(guī)范大戰(zhàn) 171
15.8 三個最普遍的借口 172
15.9 其他 174
15.10 穿刺. 躲避與還擊 174
15.11 大型項目中的膽小者 175
15.12 軟件開發(fā)項目會如你所愿地完成嗎 175
15.13 細化 VS 構建 176
15.14 吃一塹,147長一智 177
15.15 回顧 177
第16章 薪酬 179
16.1 漸入“佳境” 180
16.2 流動槽與軟件開發(fā)績效 181
16.3 利用流動模型來管理薪酬 182
16.4 金錢不是萬能的 191
16.5 回顧 192
第5部分 橫向思考 195
第17章 歷史教訓 197
17.1 不要讓國王成為你的架構師 198
17.2 事物并非總是如你所見 198
17.3 仔細檢查設計 198
17.4 知道什么是你所不知道的 198
17.5 始終如一的領導層 199
17.6 照例追趕工期 199
17.7 集中精力于錯誤的特性 199
17.8 當沒有進行良好的設計時 199
17.9 適當的測試 200
17.10 原型 VS 產品 200
17.11 審訊 200
17.12 回顧 200
第18章 不當類比 201
18.1 休斯頓,170我們遇上麻煩了 201
18.2 誤解牛頓 203
18.3 一切事物都是相對的 205
18.4 量子力學的誤解 207
18.5 熱寂 211
18.6 其他例子 213
18.7 有益的科學 213
18.8 回顧 214
第19章 軟件更新 215
19.1 嵌入式軟件的更新 216
19.2 現狀 217
19.3 軟件更新游戲 218
19.4 一點陋見 218
19.5 回到更新問題 219
19.6 免費的午餐 220
19.7 為何可行 221
19.8 改進 222
19.9 怎樣應對軟件盜版問題 223
19.10 只要太陽能沒有普及開來 223
19.11 回顧 224
第20章 妙解隨機數 225
20.1 Roscoe設定了故事背景 226
20.2 模擬擊球手 226
20.3 步驟一 228
20.4 步驟二 230
20.5 產生更多的概率 230
20.6 顯然,196我們已經離開棒球的世界了 232
20.7 現實是丑陋的 233
20.8 星期一的解決方案 234
20.9 受益匪淺 239
20.10 回顧 240
第6部分 進階主題 241
第21章 危機 243
21.1 魚的五天 244
21.2 魚市 244
21.3 第一天:尚未察覺 244
21.4 第二天:避免麻煩 244
21.5 第三天:“問題處理者”到來 245
21.6 第四天:轉折點 245
21.7 第五天:兩條關鍵路徑 246
21.8 故事的寓意 246
21.9 回顧 247
第22章 增長 249
22.1 增長中的問題 249
22.2 Naive模型 251
22.3 模型的推論 253
22.4 一個說明性的例子 259
22.5 非線性關系 260
22.6 付諸實踐 261
22.7 結論 263
22.8 列線圖 264
22.9 電子表格 265
22.10 回顧 267
第23章 文化 269
23.1 什么是企業(yè)文化 270
23.2 強勢和弱勢文化 271
23.3 定義企業(yè)價值 271
23.4 軟件領域的適用性 274
23.5 建立強勢文化 275
23.6 如果你正在尋找一份工作 279
23.7 底線 280
23.8 回顧 280
第24章 總結 281
24.1 奉行者 282
24.2 創(chuàng)造者 284
24.3 賢明者 286
24.4 關于賢明者的更多話題 287
24.5 人數分布 288
24.6 關于模型最后的思考 289
24.7 回顧 290
致謝 293
索引... 297