本書結構與內容
本書分為3個部分,共13章。

第一部分:“理解估算過程”(第1~3章)介紹在設計和使用軟件估算模型進行決策時,估算人員和項目經理都需要知曉的軟件估算的多個視圖。該部分解釋了估算過程的結構,包括嵌入在估算過程內的生產率模型,并澄清了估算人員和項目經理在角色和職責上的區別。最后,介紹估算中必須予以考慮的大量經濟學概念,比如規模經濟/非規模經濟、固定成本/變動成本。
第1章介紹了估算過程及其各個階段,以及軟件估算人員和管理者的不同角色和職責。
第2章介紹了一些重要的經濟學概念,這些概念有助于理解并建立基于生產率模型的開發過程性能模型,特別是解釋了產品模型中的規模經濟/非規模經濟和固定成本/變動成本的概念。本章同時展示了軟件工程的一些典型和非典型數據集合的特征,并解釋了生產率模型中的顯式變量和隱式變量。
第3章討論了從估算結果的區間范圍中挑選一個單點值作為預算可能造成的影響,包括各種場景及其對應發生概率的識別,以及在項目投資組合層級進行應急措施的識別和管理。
第二部分:“估算過程:必須驗證什么”(第4~7章)介紹一些必要的概念和技術,以理解估算結果的質量取決于其輸入的質量和其所使用的生產率模型的質量,并介紹了根據估算目的增加的調整因子的局限性。
第4章介紹了當建立和使用生產率模型時,如何識別出在估算流程中必須理解和驗證的多個成分。我們是從工程化角度,而非從“手工藝”角度來看待模型的。
第5章介紹分析數學模型的直接輸入值的質量所需的準則,即在估算中用于預測因變量的自變量。
第6章介紹了分析數學模型質量所需的準則,以及模型的輸出結果,并通過圖解展示了如何使用這些質量準則來評價業內推薦的模型和工具的性能。
第7章介紹在度量活動和多因子之間的關系模型中,不確定性和誤差是固有的。本章還介紹了不確定性和誤差的一些來源,并闡述了當在估算過程中引入其他因子時,這些不確定性和誤差是如何累加的。
第三部分:“建立估算模型:數據收集和分析”(第8~13章)介紹建立估算模型過程中的問題,包括數據收集和國際標準的使用,以便在項目間、組織內、國家間橫向對比;如何使用質量數據作為輸入并基于一系列經濟學概念來建立具有多個自變量的模型。
第8章介紹在估算流程中應用業界模型,應基于已完整定義并規范化的參數定義。本章介紹了國際軟件基準標準組(International Software Benchmarking Standards Group,ISBSG)定義的一些軟件項目數據收集標準。顯然,規范化的定義對于內部基準、外部基準以及建立生產率和估算模型都是至關重要的。
第9章演示了如何建立只有一個自變量的模型,需要首先識別最重要的變量,即待交付的軟件規模;介紹如何使用ISBSG數據庫中的項目數據進行建模,包括數據準備和對描述性變量的相應取值的識別,例如開發環境。
第10章展示了一個案例研究。該案例是關于如何應用行業數據建立以項目規模為主要因子并包含少量其他類別變量的項目模型,以及如何分析和理解該類模型的質量。
第11章介紹了如何識別出項目最好和最壞情況的生產率,以及如何從性能分析中吸取經驗教訓并用于估算。
第12章通過探討規模經濟和非規模經濟、過程性能能力和對生產率制約條件的影響等概念,分析如何從同一數據集中識別出多個模型。
第13章介紹在一個軟件項目生命周期中,有很多影響生產率的因素,比如功能的增加或修改、風險實質化等。因此,項目經常需要在生命周期的各個階段重新進行估算。本章介紹建立重估算模型的方法。
表1為軟件經理閱讀的指導方案。
表1 軟件經理閱讀指導方案

表2為IT從業人員、IT審計人員及對如下主題感興趣的大學生的閱讀指導方案:
·培養軟件估算方面的專業技能;
·驗證目前的軟件估算模型和過程的質量;
·設計新的軟件估算模型和過程。
表2 IT從業人員、IT審計人員及對估算感興趣的大學生閱讀指導方案
