本書以案例的形式,講述了軟件項目管理的全過程,并輔以一個貫穿始終的案例。本書向軟件項目管理人員傳授項目管理的理論、方法以及技巧。通過本書學習,讀者可以在短時間內掌握軟件項目管理的基本知識和實踐能力。本書不僅覆蓋了PMBOK的主要內容而且強調了在軟件這個特殊的領域如何進行項目管理。本書系統(tǒng)地講述了軟件項目管理的實施過程,共分15章,取材新穎,注重實效,講授了軟件項目經理的主要工作、職責和權利。其中貫穿本書的核心是如何開發(fā)軟件項目計劃和如何進行軟件項目的跟蹤管理。本書綜合了多個學科領域,包括范圍計劃、成本計劃、時間計劃、質量計劃、變更計劃、風險計劃、度量計劃、溝通計劃等計劃的制定,以及項目實施過程中如何對項目進行跟蹤控制。本書注重理論與實際的結合,通過實際工作中的案例說明幫助讀者消化和理解所學的內容。本書既適合作為高等院校計算機及相關專業(yè)高年級本科生和研究生的教材,也適合作為培訓項目經理和廣大軟件技術人員的教材;同時對于希望了解軟件開發(fā)項目管理的各類讀者,本書也是一本較好的參考讀物。本書不僅覆蓋了PMBOK的9大知識領域,并且突出了軟件項目的特殊性,同時也包括了SW-CMM的有關項目管理過程域,是系統(tǒng)、全面、有針對性的軟件項目管理教材。本書有理論、有實踐、有案例,不僅可以作為高校軟件學院及相關專業(yè)的教材,而且也可作為專業(yè)技術人員學習軟件項目管理知識的參考書。本書的特點如下:·內容全面系統(tǒng):不僅覆蓋了EMBOK的主要內容,而且強調了在軟件這個特殊領域如何進行項目管理:同時,本書全面系統(tǒng)地講述了軟件項目管理的全過程?!そY合國內實際:北京郵電大學軟件學院是國家教育部批準成立的第一批軟件學院,經過幾年的研究和實踐,積累了許多經驗。本書由軟件學院院長宋茂強教授主審,韓萬江、姜立新編著,是一本結合國內教學實際、匯集大量實踐經驗的心血之作。·實踐性強:采用案例形式來描述軟件項目管理的全過程,以一個完整的案例貫穿全書,通過實際工作中的案例說明幫助讀者消化和理解所學的內容,迅速提高實用能力?!榻處熍溆须娮咏贪福豪帽緯鵀榻處熍鋫涞碾娮咏贪?,可以減輕教師負擔,提高教學質量。 隨著信息技術的飛速發(fā)展, 軟件產品的規(guī)模也越來越龐大, 各軟件企業(yè)都在積極將軟件項目管理引入到開發(fā)活動中, 對軟件項目實行有效的管理. 軟件項目管理是為了使軟件項目能夠按照預定的成本. 進度. 質量順利完成而進行分析和管理的活動. 另外, 進行軟件項目管理有利于將個人開發(fā)能力轉化成企業(yè)的開發(fā)能力, 企業(yè)的軟件開發(fā)能力越高, 表明這個企業(yè)的軟件生產越趨向于成熟, 企業(yè)越能夠穩(wěn)定發(fā)展. 軟件項目管理的提出是在20世紀70年代中期的美國, 當時美國國防部專門研究了軟件開發(fā)不能按時提交. 預算超支和質量達不到用戶要求的原因, 結果發(fā)現70%的項目出現問題是因為管理不善引起的, 而非技術原因. 于是, 軟件開發(fā)者開始逐漸重視軟件開發(fā)中的各項管理. 到了20世紀90年代中期, 軟件項目管理不善的問題仍然存在. 軟件項目管理和其他的項目管理相比有相當的特殊性. 首先, 軟件是純知識產品, 其開發(fā)進度和質量很難估計和度量, 生產效率也難以預測和保證. 其次, 軟件系統(tǒng)的復雜性也導致了開發(fā)過程中各種風險的難以預見和控制. 因此, 項目管理對軟件生產具有決定性的意義. 特別是在當今的軟件項目中, 項目管理的質量與軟件產品的質量有著直接的對應關系. 因此, 提高項目管理的能力對于軟件組織生產力的提高是極為重要的. 軟件項目超進度超預算的例子舉不勝舉, 而且低質量的軟件也名聲在外. 其重要的原因是沒有有效的軟件管理過程, 項目開發(fā)過程基本是依賴于個人的能力, 而不是企業(yè)的能力, 如果軟件企業(yè)建立了良好的軟件項目管理體系, 人員得到了良好的培訓, 那么軟件質量將會得到保證, 可以通過提高項目管理水平來提高軟件產品的質量, 這是不依賴于個人的能力, 而依賴于企業(yè)的能力的. 項目管理是一門藝術, 它平衡了相互沖突的目標, 管理了風險, 克服了各種限制, 以便成功地完成滿足投資者和用戶需要的軟件. 本書結合當今軟件項目管理的實際情況和積累多年的實踐經驗, 同時也注意與理論的結合, 對軟件項目管理進行了系統(tǒng)的總結. 本書是一本系統(tǒng)的. 有針對性的. 具有實效性的書籍, 對于從事軟件項目的各類人員以及所有項目管理者, 都會起到非常好的借鑒作用. 本書案例由北京科力拓技術發(fā)展有限公司提供, 更多詳細信息可以登錄www.Qualitytd.com.cn查詢, 或者發(fā)Email到Info@Qualitytd.com.cn咨詢. 當然, 由于作者水平有限, 難免有疏漏之處, 誠請各位讀者批評指正, 并希望將你們在實際工作中如何運用本書的體會告訴我, 以便我在下一版中進行完善. 另外, 我還會陸續(xù)出版有關軟件項目管理過程中更加詳細的案例指導說明, 希望讀者關注. 我的Email是:casey_han@263.net. 韓萬江序 進入21世紀, 人類社會進入了信息經濟時代, 信息技術已成為所有高新技術發(fā)展的支撐技術. 同時, 信息技術及網絡的高速發(fā)展, 極大地推動了社會. 經濟的進步和人的思想. 觀念. 文化的變革. 其中最為顯著的變化是推動了經濟的全球化, 反過來, 經濟的全球化又對信息技術及網絡提出了更高的要求. 在信息技術中, 硬件技術的進步往往容易引起人們的重視和興趣, 而軟件技術往往不被人們關注. 20世紀微軟公司等國際大型企業(yè)將軟件技術的開發(fā). 生產和應用推向了高峰并使軟件技術首次超越了硬件技術引起世人的關注. 傳統(tǒng)的軟件開發(fā). 生產一直是依賴軟件開發(fā)者的個體勞動, 沒有形成工業(yè)化的生產, 從而制約了軟件業(yè)的發(fā)展, 也影響了信息技術的發(fā)展. 尤其是軟件的開發(fā)進度. 質量和成本. 風險的控制都是軟件業(yè)的軟肋. 軟件項目管理技術的產生正是為了解決這一問題. 近年來出現了許多有關軟件項目管理技術的研究報告和專業(yè)書籍, 它們都從不同的領域和角度對軟件項目管理進行了介紹. 我國的軟件產業(yè)起步比較晚, 相比世界先進國家有較大差距, 甚至和印度相比也有不小的差距. 在軟件開發(fā)的水平. 軟件產品的大規(guī)模高速高質量生產. 軟件產品的出口等方面, 我國都是后進者. 究其原因在于我國缺乏大批高質量的專業(yè)軟件人才, 尤其是缺乏高水平的軟件業(yè)管理人才和掌握專業(yè)技能的軟件產業(yè)工人. 專業(yè)的軟件產業(yè)人才的教育培養(yǎng)是中國軟件業(yè)乃至信息業(yè)的當務之急. 兩年前, 在國家教育部的領導下, 一些大學成立了軟件學院, 開展軟件專業(yè)人才的培養(yǎng). 但是, 大學的教材幾乎都是國外教材的翻譯或改編, 從國外引進教材無疑是一條捷徑, 可以吸收別人的成果避免走彎路, 站在巨人的肩膀上前進. 但是, 國外的教材總是缺乏結合國內實際的內容, 這是困擾我國軟件專業(yè)人才培養(yǎng)的難題. 北京郵電大學軟件學院是教育部批準成立的第一批軟件學院, 經過幾年的研究和實踐, 積累了許多經驗. 將這些經驗和成果積集成書, 教授給學生, 無疑對我國軟件業(yè)的發(fā)展具有重要意義. 本書由北京郵電大學軟件學院院長宋茂強教授主審, 韓萬江. 姜立新編著, 描述了軟件項目管理的全過程, 以一個完整的案例貫穿全書, 將軟件項目管理的理論. 方法. 技巧綜合在一起. 讀者在學習本書時有如身歷其境, 通過對案例的分析. 實驗. 討論, 能很好掌握軟件項目管理的各種知識和技巧. 本書是目前比較優(yōu)秀的一本軟件項目管理教材. 全書深入淺出. 圖文并茂, 每章后面都附有習題, 便于讀者掌握本章的內容, 同時, 本書的結構和內容適應面寬, 可供不同層次的讀者從中選擇自己所需的知識. 期望本書的出版能對我國軟件專業(yè)人才的培養(yǎng)發(fā)揮其應有的作用! 北京郵電大學經濟管理學院 教授/博導舒華英 2004年10月29日 序 前言 第1章 項目管理與軟件項目管理1 1.1 項目與軟件項目1 1.1.1 項目及其特征1 1.1.2 項目群與項目. 項目與子項目 的關系2 1.1.3 軟件項目3 1.1.4 軟件項目要素組成3 1.1.5 實現項目目標的制約因素3 1.2 項目管理4 1.2.1 項目管理背景4 1.2.2 項目管理定義5 1.2.3 項目管理主要內容6 1.2.4 軟件項目管理的特征及重要性6 1.3 項目管理知識體系7 1.4 項目管理的范圍10 1.4.1 項目管理的五要素10 1.4.2 從戰(zhàn)術看11 1.4.3 從戰(zhàn)略看11 1.5 過程管理與軟件項目管理的關系12 1.5.1 軟件過程定義12 1.5.2 過程管理在軟件項目中的作用13 1.5.3 過程管理與項目管理的關系14 1.6 軟件項目管理過程14 1.6.1 項目啟動15 1.6.2 項目規(guī)劃15 1.6.3 項目跟蹤控制15 1.6.4 項目結束16 1.7 本書的組織結構16 1.8 小結16 1.9 習題17 第2章 軟件項目合同管理18 2.1 合同管理概述18 2.2 需方合同環(huán)境20 2.2.1 合同準備20 2.2.2 合同簽署22 2.2.3 合同管理23 2.2.4 合同終止24 2.3 供方合同環(huán)境24 2.3.1 合同準備25 2.3.2 合同簽署26 2.3.3 合同管理26 2.3.4 合同終止29 2.4 企業(yè)內部合同環(huán)境29 2.5 案例分析29 2.6 小結36 2.7 習題37 第3章 軟件項目生存期模型38 3.1 軟件項目生存期模型定義38 3.1.1 生存期的定義39 3.1.2 生存期的重要性40 3.1.3 生存期模型40 3.2 瀑布模型41 3.2.1 定義41 3.2.2 特點41 3.2.3 使用指南41 3.2.4 適合的項目類型42 3.3 V型模型42 3.3.1 定義42 3.3.2 特點42 3.3.3 使用指南43 3.3.4 適合的項目類型43 3.4 原型模型43 3.4.1 定義43 3.4.2 特點43 3.4.3 使用指南44 3.4.4 適合的項目類型44 3.5 增量式模型44 3.5.1 定義44 3.5.2 特點45 3.5.3 使用指南45 3.5.4 適合的項目類型45 3.6 螺旋式模型45 3.6.1 定義45 3.6.2 特點45 3.6.3 使用指南46 3.6.4 適合的項目類型46 3.7 快速應用開發(fā)模型46 3.7.1 定義47 3.7.2 特點47 3.7.3 使用指南47 3.7.4 適合的項目類型48 3.8 漸進式階段模型48 3.8.1 定義49 3.8.2 特點49 3.8.3 使用指南49 3.8.4 適合的項目類型50 3.9 其他模型說明50 3.10 案例說明50 3.11 小結54 3.12 習題54 第4章 軟件項目需求管理55 4.1 軟件項目需求概述55 4.1.1 需求定義56 4.1.2 需求類型57 4.1.3 需求管理的重要性57 4.2 需求管理過程58 4.2.1 需求獲取59 4.2.2 需求分析60 4.2.3 需求規(guī)格61 4.2.4 需求驗證64 4.2.5 需求變更65 4.2.6 需求管理與項目管理的關系67 4.3 需求建模的基本方法68 4.3.1 原型分析方法68 4.3.2 結構化分析方法68 4.3.3 用例分析方法71 4.3.4 功能列表方法79 4.3.5 其他方法81 4.4 案例說明81 4.5 小結84 4.6 習題84 第5章 軟件項目任務分解85 5.1 任務分解定義86 5.2 任務分解的類型86 5.2.1 清單類型86 5.2.2 圖表類型87 5.3 任務分解的過程87 5.3.1 基本步驟88 5.3.2 分解的標準89 5.3.3 分解結果的檢驗90 5.4 任務分解的注意事項90 5.5 任務分解的意義91 5.6 案例說明91 5.7 小結92 5.8 習題92 第6章 軟件項目規(guī)模成本估算93 6.1 關于估算的概念93 6.1.1 項目規(guī)模與成本的關系94 6.1.2 成本估算的定義94 6.1.3 規(guī)模成本估算的目標94 6.2 估算的過程95 6.2.1 估算輸入95 6.2.2 估算處理96 6.2.3 估算輸出96 6.3 估算的方法96 6.3.1 代碼行. 功能點及對象點96 6.3.2 類比估算法100 6.3.3 自下而上估算法100 6.3.4 參數估算法100 6.3.5 專家估算法102 6.3.6 猜測估算法102 6.4 估算方法綜述102 6.5 估算的誤差度104 6.5.1 估算的準確度104 6.5.2 估算不準的主要原因104 6.5.3 對付估算誤差的方法105 6.6 案例說明106 6.7 小結108 6.8 習題108 第7章 軟件項目進度計劃109 7.1 項目進度中的基本概念109 7.1.1 軟件項目進度定義110 7.1.2 軟件活動定義110 7.1.3 活動之間的關系110 7.1.4 活動之間關系的依據111 7.2 進度管理圖示111 7.2.1 網絡圖111 7.2.2 甘特圖113 7.2.3 里程碑圖114 7.2.4 資源圖115 7.3 項目進度估算115 7.3.1 基于規(guī)模的進度估算116 7.3.2 工程評價技術117 7.3.3 關鍵路徑法118 7.3.4 專家估算方法119 7.3.5 類推估算方法119 7.3.6 模擬估算方法119 7.3.7 進度表估算方法119 7.3.8 基于承諾的進度估算方法123 7.3.9 Jones的一階估算準則123 7.4 進度計劃編制123 7.4.1 關鍵路徑法(CPM)123 7.4.2 時間壓縮法128 7.4.3 資源調整嘗試法130 7.4.4 成本預算131 7.4.5 項目管理軟件131 7.4.6 項目進度計劃的優(yōu)化131 7.4.7 漸進式的項目計劃131 7.5 案例說明132 7.6 小結137 7.7 習題137 第8章 軟件項目質量計劃138 8.1 質量概述138 8.1.1 軟件質量139 8.1.2 軟件質量與硬件質量的比較140 8.1.3 軟件質量的重要性141 8.1.4 軟件質量管理的發(fā)展過程141 8.2 質量管理過程141 8.2.1 軟件項目的質量計劃142 8.2.2 質量保證142 8.2.3 質量控制145 8.2.4 質量保證與質量控制的關系149 8.3 質量成本149 8.4 質量計劃制定150 8.4.1 質量計劃的要求150 8.4.2 質量計劃的編寫151 8.4.3 軟件質量改善的建議152 8.5 質量體系153 8.6 案例說明154 8.7 小結157 8.8 習題158 第9章 軟件項目配置管理計劃159 9.1 軟件配置管理概述159 9.1.1 配置管理定義160 9.1.2 配置管理的目標160 9.1.3 配置管理在軟件開發(fā)中的作用161 9.2 配置管理的相關概念162 9.2.1 配置項162 9.2.2 基線163 9.2.3 配置控制委員會164 9.3 配置管理過程164 9.3.1 配置項標識. 跟蹤165 9.3.2 配置管理環(huán)境的建立166 9.3.3 基線變更管理168 9.3.4 配置審核171 9.3.5 配置狀態(tài)統(tǒng)計172 9.3.6 配置管理的其他作用172 9.4 配置管理工具174 9.5 配置管理計劃175 9.5.1 配置管理計劃過程175 9.5.2 配置管理計劃的主要內容175 9.5.3 配置管理建議176 9.6 案例說明177 9.7 小結180 9.8 習題180 第10章 軟件項目風險管理計劃181 10.1 軟件項目風險管理概述181 10.1.1 風險概念182 10.1.2 風險類型183 10.1.3 風險的基本性質184 10.1.4 風險管理概述184 10.1.5 風險管理的意義185 10.2 風險識別185 10.2.1 概念186 10.2.2 德爾菲方法186 10.2.3 頭腦風暴法186 10.2.4 情景分析法187 10.2.5 風險條目檢查表187 10.2.6 其他方法193 10.2.7 風險識別的結果193 10.3 風險評估194 10.3.1 概念194 10.3.2 定性風險評估194 10.3.3 定量風險評估195 10.3.4 風險分析結果表197 10.4 風險規(guī)劃199 10.4.1 概念199 10.4.2 回避風險199 10.4.3 轉移風險199 10.4.4 損失控制200 10.4.5 自留風險200 10.4.6 風險規(guī)劃結果200 10.5 風險控制201 10.6 風險管理的建議201 10.7 案例說明202 10.8 小結202 10.9 習題202 第11章 軟件項目團隊管理203 11.1 軟件項目團隊管理概述203 11.1.1 團隊定義204 11.1.2 團隊管理意義204 11.1.3 團隊管理過程204 11.2 項目經理確定205 11.2.1 項目經理定義205 11.2.2 項目經理的角色205 11.2.3 項目經理的職責205 11.2.4 項目經理的權利205 11.2.5 項目經理的能力206 11.2.6 項目經理的政治環(huán)境206 11.2.7 項目經理的職業(yè)道德207 11.3 項目組織形式208 11.3.1 組織結構定義208 11.3.2 職能型組織結構208 11.3.3 項目型組織結構209 11.3.4 矩陣型組織結構210 11.4 團隊建設212 11.4.1 選擇人員212 11.4.2 項目成員的培訓214 11.4.3 項目成員的激勵214 11.4.4 團隊管理的方法217 11.5 溝通管理218 11.5.1 項目溝通管理概述219 11.5.2 項目溝通的方式219 11.5.3 編制項目溝通計劃219 11.6 案例說明220 11.7 小結221 11.8 習題222 第12章 軟件項目度量管理223 12.1 軟件度量概述224 12.1.1 度量定義224 12.1.2 度量的類型225 12.1.3 度量的作用225 12.1.4 度量的成本226 12.2 度量體系226 12.3 度量技術227 12.3.1 GQM技術227 12.3.2 PSM技術228 12.4 度量管理過程229 12.4.1 標識目標229 12.4.2 選擇度量指標229 12.4.3 定義數據收集230 12.4.4 分析度量231 12.4.5 改進度量過程232 12.5 度量計劃232 12.5.1 度量計劃的構成232 12.5.2 度量計劃的實施234 12.6 度量指標選擇235 12.6.1 PSM信息分類組235 12.6.2 SEI度量指標237 12.6.3 PSP度量240 12.6.4 SEL的度量指標241 12.7 軟件度量的建議242 12.8 案例說明243 12.9 小結244 12.10 習題244 第13章 軟件項目集成計劃245 13.1 軟件項目的集成管理245 13.2 項目集成計劃246 13.3 案例分析252 13.4 小結259 13.5 習題259 第14章 軟件項目跟蹤控制260 14.1 項目跟蹤控制260 14.1.1 項目跟蹤控制概念261 14.1.2 項目跟蹤控制的范圍262 14.1.3 項目跟蹤控制的重要性263 14.1.4 項目跟蹤控制的標準263 14.2 建立項目跟蹤控制的標準264 14.3 建立項目監(jiān)控和報告體系264 14.3.1 跟蹤采集的過程264 14.3.2 建立跟蹤采集對象265 14.4 項目跟蹤控制過程265 14.4.1 項目范圍的跟蹤控制265 14.4.2 項目進度. 成本(資源)的跟蹤控制266 14.4.3 項目質量的跟蹤控制275 14.4.4 項目風險的跟蹤控制277 14.4.5 其他方面的監(jiān)控278 14.4.6 利用工具分析項目性能279 14.5 項目評審279 14.5.1 項目評審概述279 14.5.2 評審準備280 14.5.3 評審過程280 14.5.4 評審報告過程281 14.5.5 問題跟蹤列表282 14.6 項目計劃修改283 14.7 案例分析283 14.8 小結287 14.9 習題288 第15章 軟件項目結束過程289 15.1 項目結束概述289 15.1.1 項目終止289 15.1.2 項目成功與失敗的標準290 15.1.3 項目關閉必須完成的任務290 15.2 項目結束過程290 15.2.1 項目結束計劃290 15.2.2 項目收尾的內容290 15.2.3 項目最后評審291 15.2.4 項目總結291 15.3 項目管理過程總結291 15.4 項目管理的建議292 15.5 案例分析293 15.6 小結295 15.7 習題295 結束語296 附錄 PMBOK的9個知識領域簡介297 參考文獻302