本書以軟件工程領(lǐng)域的SWEBOK和項目管理領(lǐng)域的PMBOK體系為基礎,充分融合軟件工程思想和項目管理思想,結(jié)合軟件開發(fā)實踐,系統(tǒng)論述一個軟件項目從立項到收尾的全過程。全書共15章,首先分析了軟件項目獨特之處,說明軟件項目的管理過程與傳統(tǒng)項目管理方法的區(qū)別,然后闡述了軟件項目的立項流程、啟動過程、開發(fā)過程、估算方法、進度安排、風險管理、團隊管理、質(zhì)量管理、配置管理、監(jiān)控過程、文檔管理、外包管理和收尾管理,并介紹了常用的軟件工程管理軟件。
《高等學校軟件工程系列教材:軟件項目管理》具有以下特色:
以SWEBOK和PMBOK為基礎,充分吸收國內(nèi)外軟件項目管理的思想精華,依據(jù)作者多年軟件項目開發(fā)與管理以及科研教學經(jīng)驗,對軟件項目管理進行系統(tǒng)性的總結(jié)和闡述,力求靈活地把項目管理知識應用到軟件開發(fā)中,使項目管理學科和軟件工程學科合理融合。
以概述為基石,提出一個較為完整的軟件項目管理過程,包括軟件項目立項、合同管理,軟件項目啟動和范圍管理、軟件需求管理、軟件項目團隊管理、軟件項目估算、軟件項目風險管理、軟件項目質(zhì)量管理、軟件項目配置管理、軟件項目進度管理、軟件項目監(jiān)控以及軟件項目收尾等。案例豐富,力求緊密聯(lián)系實踐。
第1章 軟件項目管理概述
1.1 軟件項目管理的重要性
1.1.1 軟件項目管理中的常見問題
1.1.2 軟件項目管理現(xiàn)狀
1.1.3 由現(xiàn)狀引發(fā)的思考
1.2 項目管理的基本原理
1.2.1 項目和項目管理的定義
1.2.2 項目管理的歷史和發(fā)展
1.2.3 項目管理的認證和知識體系
1.2.4 項目的生命周期
1.2.5 項目關(guān)鍵約束
1.3 軟件項目管理分析
1.3.1 軟件的定義和分類
1.3.2 軟件項目管理知識內(nèi)容
1.3.3 軟件項目管理過程
1.3.4 軟件項目管理基礎
練習1
第2章 軟件項目立項
2.1 軟件項目立項流程
2.2 軟件項目發(fā)起
2.2.1 識別企業(yè)內(nèi)部IT項目
2.2.2 關(guān)鍵業(yè)務領(lǐng)域分析
2.2.3 IT企業(yè)項目選擇方法
2.3 軟件項目可行性分析
2.3.1 可行性分析的定義和時機
2.3.2 可行性分析的內(nèi)容
2.3.3 可行性分析的結(jié)果
2.3.4 可行性分析報告
2.4 軟件項目申請
2.5 軟件項目審核和立項
2.6 案例
練習2
第3章 軟件項目合同管理
3.1 軟件項目招投標
3.1.1 招投標特點和過程
3.1.2 招標方式
3.1.3 招標前準備工作
3.1.4 編制招標文件
3.1.5 招標
3.1.6 資格審查
3.1.7 投標
3.1.8 開標
3.1.9 評標
3.1.10 中標
3.2 軟件項目合同管理流程
3.2.1 項目采購管理概述
3.2.2 軟件項目合同管理流程
3.3 合同前準備
3.3.1 甲方合同前準備
3.3.2 乙方合同前準備
3.4 簽署合同
3.4.1 合同種類
3.4.2 合同條款
3.5 合同履行
3.5.1 合同跟蹤管理過程
3.5.2 違約事件處理過程
3.5.3 合同變更管理過程
3.5.4 產(chǎn)品交付驗收過程
3.6 合同收尾
3.7 外包管理
3.7.1 軟件外包分類
3.7.2 軟件外包管理流程
3.7.3 軟件外包項目特殊性
3.7.4 軟件外包風險
3.7.5 軟件外包項目需要注意的問題
3.8 案例
3.8.1 某軟件項目招標書目錄
3.8.2 某軟件項目合同
練習3
第4章 軟件項目啟動和范圍管理
4.1 軟件項目啟動
4.1.1 制定項目章程
4.1.2 識別項目干系人
4.1.3 召開項目啟動會議
4.2 項目范圍管理
4.2.1 項目范圍管理概述
4.2.2 收集需求
4.2.3 定義范圍
4.2.4 創(chuàng)建工作分解結(jié)構(gòu)
4.2.5 核實范圍
4.2.6 控制范圍
4.3 案例
練習4
第5章 軟件項目需求管理
5.1 軟件項目需求概述
5.1.1 軟件需求定義
5.1.2 軟件需求分類和層次結(jié)構(gòu)
5.1.3 軟件需求的挑戰(zhàn)和風險
5.1.4 成功需求標準
5.1.5 軟件需求工程內(nèi)容
5.2 軟件需求開發(fā)
5.2.1 軟件需求獲取
5.2.2 軟件需求分析
5.2.3 需求規(guī)格說明
5.2.4 需求驗證
5.3 軟件需求管理
5.3.1 需求變更管理
5.3.2 版本控制
5.3.3 需求跟蹤
5.3.4 需求狀態(tài)
練習5
第6章 軟件項目團隊管理
6.1 團隊管理概述
6.1.1 團隊的定義和特征
6.1.2 團隊的成長規(guī)律
6.1.3 項目人力資源和溝通管理領(lǐng)域過程
6.2 軟件項目人力資源計劃
6.2.1 項目人力資源計劃的內(nèi)容
6.2.2 軟件項目團隊角色分類
6.2.3 軟件項目組織結(jié)構(gòu)設計
6.3 構(gòu)建軟件項目團隊
6.3.1 項目成員選擇
6.3.2 團隊結(jié)構(gòu)選擇
6.4 建設軟件項目團隊
6.4.1 了解團隊
6.4.2 建設團隊文化
6.4.3 制定團隊規(guī)范和流程
6.4.4 團隊學習
6.4.5 團隊激勵
6.4.6 團隊績效評估
6.4.7 團隊溝通
6.4.8 團隊領(lǐng)導
6.5 案例分析
練習6
第7章 軟件項目估算
第8章 軟件項目風險管理
第9章 軟件項目質(zhì)量管理
第10章 軟件項目配置管理
第11章 軟件項目進度管理
第12章 軟件項目監(jiān)控
第13章 軟件項目收尾管理
附錄 各章練習參考答案
參考文獻
2.用戶描述需求問題
軟件開發(fā)的第一步是用戶描述自己的需求,圖1.1中假設用戶描述的需求是完全準確的,但實際情況中,當軟件項目開始做需求分析時,因為下述各種原因,用戶描述的需求通常是不完全正確的。
·用戶自己也不清楚自己需要什么功能,因此描述不出需求。
·用戶對系統(tǒng)有抵制情緒,不愿意描述需求。
·用戶懶于將其需求整理總結(jié),導致前期需求描述不充分,但是后期不停地提出變更需求。
·典型用戶因業(yè)務繁忙而委托不太熟悉業(yè)務的用戶來描述需求,從而使需求準確度降低。
千里之行,始于足下,當需求描述出現(xiàn)問題時,軟件開發(fā)的第一步方向就走錯了,那么不論后面怎么努力,也無法到達終點。有效的用戶描述是軟件項目成功的第一步。
不能夠準確描述需求通常會導致項目進展中出現(xiàn)需求變更問題,變更需求必然帶來一系列的問題,如進度滯后、成本超支、加班加點等。有效管理需求變更也是軟件項目管理的一個重要方面。
3.項目經(jīng)理的指揮問題
項目經(jīng)理就像樂隊的指揮,對項目的成敗有決定性作用。很多項目經(jīng)理往往是身兼數(shù)職,如項目經(jīng)理、架構(gòu)人員等,因此在需求分析過程中,慣性思維使然總會“及時”地在腦海中勾勒出技術(shù)框架和路線,然后盡可能地控制需求的范圍,從而產(chǎn)生需求的誤解和控制,即項目經(jīng)理在項目溝通的開始就產(chǎn)生了很大的理解偏差。而通常項目經(jīng)理是比項目其他人員先了解到項目需求的,他在后期與項目分析人員溝通時,就容易“先人為主”地把自己對需求的理解先告訴需求分析員,從而使分析員被錯誤地引導,不會詳細正確地理解用戶的需求。
4.分析人員的技術(shù)加工問題
即使分析人員沒有其他干擾直接和用戶溝通,其對需求的理解也存在技術(shù)加工問題,導致分析人員的理解嚴重偏離實際需求,這和現(xiàn)實中軟件項目的處境是相關(guān)的。在目前軟件項目的買方市場,軟件公司如果接到一個軟件項目,不論公司內(nèi)有無熟悉客戶業(yè)務領(lǐng)域’的分析人員,項目也是要及時啟動的,而不會等到招聘到合適的業(yè)務分析人員再開始。通常,業(yè)務分析人員往往是項目經(jīng)理、技術(shù)骨干或者其他領(lǐng)域分析人員擔任的。這種情況下,這些系統(tǒng)分析人員因為不理解客戶的業(yè)務,在分析過程中溝通肯定存在問題,而且這些人員往往在思考時帶有定勢思維,總是從技術(shù)角度來進行分析,從而導致需求分析出現(xiàn)嚴重問題。
……