1988年,Peat Marwick針對(duì)600家成功公司的調(diào)查結(jié)果顯示,35%的公司有過(guò)軟件項(xiàng)目失控的經(jīng)歷。(Rothfeder 1988)
1982年,Allstate公司宣布其公司運(yùn)營(yíng)全部要實(shí)行自動(dòng)化。他們啟動(dòng)了一個(gè)將耗時(shí)5年投資800萬(wàn)美元的大型項(xiàng)目,而在花費(fèi)了6年和1500萬(wàn)美元后,Allstate公司重新調(diào)整了目標(biāo)和最終期限,重新調(diào)整后的預(yù)算大約1億美元。
1988年,Westpac Banking公司決定重新設(shè)計(jì)他們的信息系統(tǒng)。他們做了5年、8500萬(wàn)美元的計(jì)劃。3年后,在花費(fèi)了1.5億美元卻依然收效甚微時(shí),Westpac Banking公司為了減少損失,取消了這個(gè)項(xiàng)目,并為此裁員500人。(Glass 1992)
從項(xiàng)目管理的角度來(lái)看,有五大硬性知識(shí)領(lǐng)域:范圍管理、進(jìn)度管理、成本管理、質(zhì)量管理和風(fēng)險(xiǎn)管理。風(fēng)險(xiǎn)會(huì)出現(xiàn)在前面四個(gè)領(lǐng)域的各個(gè)過(guò)程中,只有有效地消除可能發(fā)生的危險(xiǎn)因素,才能確保項(xiàng)目順利推進(jìn)。項(xiàng)目的風(fēng)險(xiǎn)貫穿于整個(gè)項(xiàng)目過(guò)程,因此整個(gè)項(xiàng)目的生命周期都應(yīng)該堅(jiān)持有效的風(fēng)險(xiǎn)管理。
根據(jù)風(fēng)險(xiǎn)的內(nèi)容,可以把風(fēng)險(xiǎn)歸為以下幾類:
- 產(chǎn)品規(guī)模風(fēng)險(xiǎn):與軟件的總體規(guī)模相關(guān)的風(fēng)險(xiǎn)
- 商業(yè)影響風(fēng)險(xiǎn):商業(yè)風(fēng)險(xiǎn)影響到軟件開(kāi)發(fā)的生存能力
- 客戶特性風(fēng)險(xiǎn):與客戶的素質(zhì)以及開(kāi)發(fā)者和客戶溝通能力相關(guān)的風(fēng)險(xiǎn)
- 過(guò)程定義風(fēng)險(xiǎn):與軟件過(guò)程定義相關(guān)的風(fēng)險(xiǎn)
- 開(kāi)發(fā)環(huán)境風(fēng)險(xiǎn):與開(kāi)發(fā)工具的可用性及質(zhì)量相關(guān)的風(fēng)險(xiǎn)
- 技術(shù)風(fēng)險(xiǎn):技術(shù)風(fēng)險(xiǎn)是指在設(shè)計(jì)、實(shí)現(xiàn)、接口、驗(yàn)證、維護(hù)、規(guī)約的二義性、技術(shù)的不確定性、陳舊的技術(shù)等方面存在的風(fēng)險(xiǎn)
- 人員數(shù)目及經(jīng)驗(yàn)帶來(lái)的風(fēng)險(xiǎn):與參與工作的軟件工程師的總體技術(shù)水平及項(xiàng)目經(jīng)驗(yàn)相關(guān)的風(fēng)險(xiǎn)
軟件項(xiàng)目的風(fēng)險(xiǎn)主要體現(xiàn)在四個(gè)方面:需求、技術(shù)、成本、進(jìn)度。風(fēng)險(xiǎn)管理是一個(gè)相當(dāng)重要的話題,但涉及的問(wèn)題太多,很難在本章中全部囊括,本章主要講述進(jìn)度相關(guān)的風(fēng)險(xiǎn)管理。
風(fēng)險(xiǎn)管理要素
軟件風(fēng)險(xiǎn)管理就是在風(fēng)險(xiǎn)成為影響軟件項(xiàng)目成功的威脅之前,識(shí)別、處理并消除風(fēng)險(xiǎn)??梢栽趲讉€(gè)層次上定位風(fēng)險(xiǎn)管理:
1、危機(jī)管理 — 救火模式,即在風(fēng)險(xiǎn)已經(jīng)造成麻煩后才著手處理它們
2、失敗處理 — 覺(jué)察到了風(fēng)險(xiǎn)并迅速做出反應(yīng),但只是在風(fēng)險(xiǎn)發(fā)生之后
3、風(fēng)險(xiǎn)環(huán)節(jié) — 事先制定好風(fēng)險(xiǎn)發(fā)生后的補(bǔ)救措施,但不做任何防范措施
4、著力預(yù)防 — 將風(fēng)險(xiǎn)識(shí)別與風(fēng)險(xiǎn)防范作為軟件項(xiàng)目的一部分加以規(guī)劃和執(zhí)行
5、消滅根源 — 識(shí)別和消除可能發(fā)生的風(fēng)險(xiǎn)的根源
本章描述如何定位第4、5個(gè)層面上的進(jìn)度風(fēng)險(xiǎn)管理。
總體來(lái)講,風(fēng)險(xiǎn)管理由風(fēng)險(xiǎn)評(píng)估和風(fēng)險(xiǎn)控制組成:
圖 5.1-1 風(fēng)險(xiǎn)管理由風(fēng)險(xiǎn)評(píng)估和風(fēng)險(xiǎn)控制組成
1. 風(fēng)險(xiǎn)評(píng)估
- 風(fēng)險(xiǎn)識(shí)別:建立一個(gè)潛在破壞項(xiàng)目進(jìn)度的風(fēng)險(xiǎn)列表
- 風(fēng)險(xiǎn)分析:評(píng)估每一個(gè)風(fēng)險(xiǎn)出現(xiàn)可能性及其影響,判定風(fēng)險(xiǎn)的級(jí)別
- 風(fēng)險(xiǎn)優(yōu)先級(jí):按風(fēng)險(xiǎn)影響大小排出一個(gè)風(fēng)險(xiǎn)優(yōu)先級(jí)列表,這個(gè)列表將作為風(fēng)險(xiǎn)控制的基礎(chǔ)
2. 風(fēng)險(xiǎn)控制
- 風(fēng)險(xiǎn)管理計(jì)劃:定制一個(gè)應(yīng)對(duì)每個(gè)重要風(fēng)險(xiǎn)的方案,同時(shí)應(yīng)確保每一個(gè)單獨(dú)的風(fēng)險(xiǎn)管理計(jì)劃相互之間以及與項(xiàng)目計(jì)劃之間保持一致
- 風(fēng)險(xiǎn)化解:執(zhí)行每一個(gè)重要風(fēng)險(xiǎn)所對(duì)應(yīng)管理計(jì)劃
- 風(fēng)險(xiǎn)監(jiān)控:對(duì)解決風(fēng)險(xiǎn)的過(guò)程進(jìn)行監(jiān)控。還包括:識(shí)別新的風(fēng)險(xiǎn),并將其加入到正在進(jìn)行的風(fēng)險(xiǎn)管理進(jìn)程;在風(fēng)險(xiǎn)列表中移除已經(jīng)化解的風(fēng)險(xiǎn)等工作
風(fēng)險(xiǎn)識(shí)別
1. 最常見(jiàn)的進(jìn)度計(jì)劃風(fēng)險(xiǎn)
- 功能蔓延
- 需求鍍金或開(kāi)發(fā)人員鍍金
- 質(zhì)量不穩(wěn)定
- 計(jì)劃過(guò)于樂(lè)觀
- 設(shè)計(jì)欠佳
- 銀彈綜合癥
- 研究導(dǎo)向的開(kāi)發(fā)
- 人員薄弱
- 承包人導(dǎo)致的失敗
- 開(kāi)發(fā)人員與客戶之間發(fā)生摩擦
2. 進(jìn)度計(jì)劃風(fēng)險(xiǎn)列表
下面列出了詳盡的可能對(duì)軟件進(jìn)度有負(fù)面影響的潛在風(fēng)險(xiǎn)。除了這里所列出的風(fēng)險(xiǎn),大多數(shù)項(xiàng)目都有其特定的風(fēng)險(xiǎn),如:
“Joe要退出項(xiàng)目組,除非可以允許他帶自己的小狗來(lái)上班,而管理層還沒(méi)有決定是否同意他這樣做”—— 這樣的風(fēng)險(xiǎn)就要靠自己識(shí)別了!
潛在的進(jìn)度計(jì)劃風(fēng)險(xiǎn): (資料來(lái)源:Gilb 1988、Boehm 1989 Pressman 1993、Thomsett 1993、Jones 1994)
類 型 |
風(fēng) 險(xiǎn) |
1、計(jì)劃編制 |
1) 計(jì)劃、資源和產(chǎn)品定義全憑客戶或上層領(lǐng)導(dǎo)口頭指令,而且不完全一致
2) 計(jì)劃是優(yōu)化的,是“最佳狀態(tài)”(但不現(xiàn)實(shí),只能算是“期望狀態(tài)”)
3) 計(jì)劃忽略了必要的任務(wù)
4) 計(jì)劃基于使用特定的小組成員,而那個(gè)小組成員其實(shí)指望不上
5) 在限定時(shí)間內(nèi)無(wú)法建成已定規(guī)模大小的產(chǎn)品
6) 產(chǎn)品規(guī)模比估計(jì)的要打(代碼行數(shù)、功能點(diǎn)或與前一產(chǎn)品規(guī)模的百分比)
7) 工作量大于估計(jì)數(shù)(代碼行數(shù)、功能點(diǎn)、模塊等)
8) 進(jìn)度已經(jīng)拖延的項(xiàng)目在重新評(píng)估時(shí)過(guò)于優(yōu)化或忽略項(xiàng)目歷史
9) 過(guò)度的進(jìn)度壓力造成生產(chǎn)力下降
10) 目標(biāo)日期提前,但沒(méi)有相應(yīng)地調(diào)整產(chǎn)品范圍或可用資源
11) 一個(gè)任務(wù)的延時(shí)導(dǎo)致相關(guān)任務(wù)的連鎖反應(yīng)
12) 涉足不熟識(shí)的產(chǎn)品領(lǐng)域,花費(fèi)在設(shè)計(jì)和實(shí)現(xiàn)上的時(shí)間比預(yù)期要多 |
2、組織和管理 |
1) 項(xiàng)目缺乏一個(gè)用凝聚力的最高領(lǐng)導(dǎo)人
2) 由于前期乏力,項(xiàng)目長(zhǎng)時(shí)間被擱置
3) 解雇和削減開(kāi)支導(dǎo)致項(xiàng)目小組能力下降
4) 僅由管理層或市場(chǎng)人員進(jìn)行技術(shù)決策,導(dǎo)致計(jì)劃進(jìn)度延長(zhǎng)
5) 低效的項(xiàng)目組織結(jié)構(gòu)降低生產(chǎn)率
6) 管理層審查或決策的周期比預(yù)期的時(shí)間長(zhǎng)
7) 預(yù)算削減打亂項(xiàng)目計(jì)劃
8) 管理層作出了打擊項(xiàng)目組積極性的決定
9) 非技術(shù)的第三方的工作比預(yù)期延長(zhǎng)(預(yù)算批準(zhǔn)、設(shè)備采購(gòu)、法律審查等)
10) 計(jì)劃性太差,無(wú)法達(dá)到期望的開(kāi)發(fā)速度
11) 項(xiàng)目計(jì)劃由于壓力而放棄,導(dǎo)致開(kāi)發(fā)混亂低效
12) 管理層強(qiáng)調(diào)英雄主義而忽略客觀確切的狀態(tài)報(bào)告,錯(cuò)過(guò)發(fā)現(xiàn)和改正問(wèn)題的機(jī)會(huì) |
3、開(kāi)發(fā)環(huán)境 |
1) 設(shè)施沒(méi)有及時(shí)到位
2) 設(shè)施到位但不配套
3) 設(shè)施擁擠、雜亂或破損
4) 開(kāi)發(fā)工具沒(méi)能及時(shí)到位
5) 開(kāi)發(fā)工具不如期望的那樣有效
6) 開(kāi)發(fā)工具的選擇不是基于技術(shù)需求,不能提供計(jì)劃要求的性能
7) 開(kāi)發(fā)人員需要長(zhǎng)時(shí)間創(chuàng)建工作環(huán)境或切換新開(kāi)發(fā)工具
8) 新開(kāi)發(fā)工具的學(xué)習(xí)周期比預(yù)期的長(zhǎng),內(nèi)容繁多 |
4、最終用戶 |
1) 最終用戶堅(jiān)持新的需求
2) 最終用戶對(duì)于最后交付的產(chǎn)品不滿意,要求重新設(shè)計(jì)或重做
3) 最終用戶不買進(jìn)項(xiàng)目產(chǎn)品,無(wú)法提供后續(xù)支持
4) 最終用戶的意見(jiàn)未被采納,造成產(chǎn)品無(wú)法滿足最終用戶的期望而必須重做 |
5、客戶 |
1) 客戶堅(jiān)持新的需求
2) 客戶對(duì)規(guī)則、原型和規(guī)格的審核和決策周期比預(yù)期的長(zhǎng)
3) 客戶沒(méi)有或不能參與規(guī)劃和原型審查工作,導(dǎo)致需求不穩(wěn)定和耗時(shí)的變更
4) 客戶溝通或答復(fù)的時(shí)間比預(yù)期長(zhǎng)
5) 客戶堅(jiān)持技術(shù)決策而導(dǎo)致進(jìn)度計(jì)劃延長(zhǎng)
6) 客戶對(duì)開(kāi)發(fā)進(jìn)度管理過(guò)細(xì),導(dǎo)致實(shí)際進(jìn)展緩慢
7) 客戶提供的組件無(wú)法與開(kāi)發(fā)的產(chǎn)品匹配,導(dǎo)致額外的設(shè)計(jì)和集成工作
8) 客戶提供的組件質(zhì)量欠佳,導(dǎo)致額外的設(shè)計(jì)、測(cè)試、集成和客戶關(guān)系管理工作
9) 客戶要求的支持工具和環(huán)境不兼容、性能差或功能不完善,導(dǎo)致生產(chǎn)率降低
10) 客戶不接受交付的軟件,盡管它滿足合同的條款要求
11) 客戶期望的開(kāi)發(fā)速度無(wú)法達(dá)到 |
6、承包商 |
1) 承包商沒(méi)有按承諾交付組件
2) 承包商遞交的組件質(zhì)量低下無(wú)法滿足要求,必須再花時(shí)間改進(jìn)
3) 承包商沒(méi)有買進(jìn)項(xiàng)目開(kāi)發(fā)需要的工具,進(jìn)而無(wú)法提供需要的性能水平 |
7、需求 |
1) 需求已經(jīng)成為項(xiàng)目的基準(zhǔn),但變化仍在繼續(xù)
2) 需求定義欠佳,但進(jìn)一步的定義會(huì)擴(kuò)展項(xiàng)目的范疇
3) 添加額外的需求
4) 需求定義含糊的部分需要的處理時(shí)間比預(yù)期多 |
8、產(chǎn)品 |
1) 錯(cuò)誤發(fā)生率高的模塊需要比預(yù)期更多的設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試工作
2) 校正質(zhì)量低下的產(chǎn)品需要比預(yù)期更多的設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試工作
3) 在一個(gè)或多個(gè)新興領(lǐng)域推過(guò)產(chǎn)品技術(shù)使得進(jìn)度延長(zhǎng)或不可預(yù)期
4) 由于軟件的功能錯(cuò)誤使得需要重新設(shè)計(jì)和實(shí)現(xiàn)
5) 開(kāi)發(fā)額外不需要的功能(鍍金)延長(zhǎng)了計(jì)劃進(jìn)度
6) 要滿足產(chǎn)品規(guī)模的要求,需要比預(yù)期長(zhǎng)的時(shí)間,包括重新計(jì)劃、設(shè)計(jì)和實(shí)現(xiàn)
7) 嚴(yán)格要求與原有系統(tǒng)兼容,需要進(jìn)行比預(yù)期更多的計(jì)劃、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試
8) 要與不受項(xiàng)目組控制的其他系統(tǒng)集成,導(dǎo)致無(wú)法預(yù)料的設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試工作
9) 要求在不同操作系統(tǒng)或軟硬件環(huán)境下運(yùn)行將花費(fèi)比預(yù)期更長(zhǎng)的時(shí)間
10) 在不熟識(shí)或未經(jīng)檢驗(yàn)的軟件環(huán)境中運(yùn)行,產(chǎn)生未預(yù)料到的問(wèn)題
11) 在不熟識(shí)或未經(jīng)檢驗(yàn)的硬件環(huán)境中運(yùn)行,產(chǎn)生未預(yù)料到的問(wèn)題
12) 開(kāi)發(fā)一些全新的功能模塊比預(yù)期花費(fèi)更長(zhǎng)時(shí)間
13) 依賴未成熟的技術(shù),使得進(jìn)度延長(zhǎng)或不可預(yù)期 |
9、外部環(huán)境 |
1) 產(chǎn)品依賴政府的政策或制度,而政策或制度不可預(yù)期
2) 產(chǎn)品依賴草擬中的技術(shù)標(biāo)準(zhǔn),而最后的標(biāo)準(zhǔn)不可預(yù)期 |
10、人員 |
1) 招聘人員所花時(shí)間比預(yù)期長(zhǎng)
2) 培訓(xùn)、工作許可證或其他項(xiàng)目的收尾等作為先決條件的任務(wù)不能按時(shí)完成
3) 開(kāi)發(fā)人員和管理層之間關(guān)系不佳導(dǎo)致決策緩慢影響進(jìn)度
4) 項(xiàng)目組成員沒(méi)有全身心投入項(xiàng)目,進(jìn)而無(wú)法達(dá)到要求的產(chǎn)品質(zhì)量水平
5) 缺乏激勵(lì)措施,士氣低下,降低生產(chǎn)力
6) 缺乏必要的規(guī)范,增加了工作失誤幾率和重復(fù)工作
7) 某些人需要更多時(shí)間適應(yīng)新的軟件工具和環(huán)境
8) 某些人需要更多時(shí)間適應(yīng)新的硬件工具和環(huán)境
9) 項(xiàng)目結(jié)束前,成員調(diào)離團(tuán)隊(duì)或離職
10) 項(xiàng)目后期加入新開(kāi)發(fā)人員,額外的培訓(xùn)和溝通降低現(xiàn)有成員的生產(chǎn)率
11) 項(xiàng)目成員不能有效地一起工作
12) 項(xiàng)目組成員間有沖突,導(dǎo)致溝通不暢、設(shè)計(jì)欠佳、接口錯(cuò)誤和額外的重復(fù)工作
13) 有問(wèn)題的成員沒(méi)有調(diào)離項(xiàng)目組,損害了其他成員的積極性
14) 項(xiàng)目的最佳人選沒(méi)有加入項(xiàng)目組
15) 項(xiàng)目的最佳人選已加入項(xiàng)目組,但因政治或其它原因未能合理使用
16) 沒(méi)有找到項(xiàng)目急需的,具有特殊技能的人
17) 關(guān)鍵人物只能兼職參與
18) 項(xiàng)目人員不足
19) 任務(wù)的分配與人員技能不匹配
20) 人員工作的進(jìn)度比預(yù)期的慢
21) 項(xiàng)目管理人員怠工導(dǎo)致計(jì)劃的進(jìn)度失效
22) 技術(shù)人員怠工導(dǎo)致工作遺漏和質(zhì)量低下 |
11、設(shè)計(jì)和實(shí)現(xiàn) |
1) 設(shè)計(jì)過(guò)于簡(jiǎn)單,無(wú)法確定主要事件,并導(dǎo)致重新設(shè)計(jì)和實(shí)現(xiàn)
2) 設(shè)計(jì)過(guò)于復(fù)雜,導(dǎo)致一些不必要的工作,影響實(shí)現(xiàn)效率
3) 設(shè)計(jì)質(zhì)量低下,導(dǎo)致重復(fù)設(shè)計(jì)和實(shí)現(xiàn)
4) 使用不熟識(shí)的方法和技術(shù),導(dǎo)致額外的培訓(xùn)時(shí)間
5) 使用低級(jí)語(yǔ)言開(kāi)發(fā)產(chǎn)品,導(dǎo)致生產(chǎn)率比預(yù)期低
6) 一些必要的功能無(wú)法使用現(xiàn)有的代碼或庫(kù)實(shí)現(xiàn),必須采用新庫(kù)或重新實(shí)現(xiàn)
7) 代碼和庫(kù)質(zhì)量低下導(dǎo)致需要額外的測(cè)試、錯(cuò)誤修正或重做
8) 過(guò)高估計(jì)了工具對(duì)計(jì)劃進(jìn)度的節(jié)省量
9) 獨(dú)立開(kāi)發(fā)的模塊無(wú)法有效集成,需要重新設(shè)計(jì)或重做 |
12、過(guò)程 |
1) 大量的書(shū)面工作導(dǎo)致進(jìn)度比預(yù)期慢
2) 進(jìn)度跟蹤不準(zhǔn)確,導(dǎo)致無(wú)法預(yù)知項(xiàng)目是否已落后于計(jì)劃進(jìn)度
3) 前期的質(zhì)量保證行為不真實(shí),導(dǎo)致后期重復(fù)工作
4) 質(zhì)量跟蹤不準(zhǔn)確,導(dǎo)致無(wú)法得知影響進(jìn)度的質(zhì)量問(wèn)題
5) 不夠正規(guī)(缺乏對(duì)軟件開(kāi)發(fā)標(biāo)準(zhǔn)和策略的遵循),導(dǎo)致溝通不足和質(zhì)量問(wèn)題
6) 過(guò)于正規(guī)(教條地遵循軟件開(kāi)發(fā)標(biāo)準(zhǔn)和策略),導(dǎo)致過(guò)多耗時(shí)于無(wú)用的工作
7) 向管理層撰寫(xiě)進(jìn)度報(bào)告占用開(kāi)發(fā)人員的時(shí)間比預(yù)期多
8) 風(fēng)險(xiǎn)管理不夠重視,導(dǎo)致沒(méi)有發(fā)現(xiàn)重大的項(xiàng)目風(fēng)險(xiǎn)
9) 軟件項(xiàng)目風(fēng)險(xiǎn)管理花費(fèi)的時(shí)間比預(yù)期多 |
風(fēng)險(xiǎn)分析
1. 風(fēng)險(xiǎn)暴露量
一種很有用的風(fēng)險(xiǎn)分析方法就是風(fēng)險(xiǎn)暴露量。風(fēng)險(xiǎn)暴露量就是風(fēng)險(xiǎn)發(fā)生的概率乘以損失的程度。舉例來(lái)說(shuō):如果你認(rèn)為“完成需求分析比原計(jì)劃延長(zhǎng)4周的概率是30%”,那么風(fēng)險(xiǎn)暴露量就是4周*30%=1.2周。
風(fēng) 險(xiǎn) |
發(fā)生概率 |
損失程度(周) |
風(fēng)險(xiǎn)暴露量(周) |
計(jì)劃過(guò)于樂(lè)觀 |
50% |
5 |
2.5 |
由于要完全支持自動(dòng)從主機(jī)更新數(shù)據(jù)而造成的額外需求 |
5% |
20 |
1.0 |
由于市場(chǎng)變化而增加額外的功能 |
35% |
8 |
2.8 |
圖形格式子系統(tǒng)接口不穩(wěn)定 |
25% |
4 |
1.0 |
設(shè)計(jì)欠佳——需要重新設(shè)計(jì) |
15% |
15 |
2.25 |
項(xiàng)目審批超過(guò)預(yù)計(jì)時(shí)間 |
25% |
4 |
1.0 |
設(shè)施未能及時(shí)到位 |
10% |
2 |
0.2 |
為管理層撰寫(xiě)進(jìn)程報(bào)告占用開(kāi)發(fā)人員的時(shí)間比預(yù)期的多 |
10% |
1 |
0.1 |
承包商的圖形格式子系統(tǒng)推遲交付 |
10~20% |
4 |
0.4~0.8 |
新的編程工具沒(méi)有節(jié)省預(yù)期的時(shí)間 |
30% |
5 |
1.5 |
表 5.3.1-1 風(fēng)險(xiǎn)暴露量
1) 評(píng)估損失程度
損失程度常常比發(fā)生概率更容易估算,在表5.3.1-1中,完全可能很精確地估計(jì)出由于增加“完全支持自動(dòng)從主機(jī)更新數(shù)據(jù)”而增加的研發(fā)時(shí)間是20個(gè)月。如果有時(shí)損失程度不容易直接估算出來(lái),還可以把損失分解為更小的部分分別進(jìn)行估算,之后將各個(gè)小的獨(dú)立評(píng)估結(jié)果累加得出合計(jì)估算值。
2) 評(píng)估發(fā)生概率
估算發(fā)生概率比估算損失程度更具主觀性。有許多實(shí)踐方法可以提高主觀評(píng)估的精確度,例如:
- 由最熟識(shí)系統(tǒng)的人評(píng)估每個(gè)風(fēng)險(xiǎn)的發(fā)生概率,然后保留一份風(fēng)險(xiǎn)評(píng)估審核文件
- 每個(gè)人對(duì)風(fēng)險(xiǎn)進(jìn)行獨(dú)立評(píng)估,然后討論評(píng)估的合理性,直到達(dá)成共識(shí)
- 使用“形容詞標(biāo)準(zhǔn)”,如非??赡?、很可能、可能、或許、不大可能和不可能等,然后把口頭評(píng)估轉(zhuǎn)換成量化的評(píng)估
2. 項(xiàng)目的延期和緩沖
由于我們只談?wù)撨M(jìn)度風(fēng)險(xiǎn),所以可以累加所有的風(fēng)險(xiǎn)暴露量來(lái)得到項(xiàng)目總風(fēng)險(xiǎn)暴露量。這個(gè)項(xiàng)目的總風(fēng)險(xiǎn)暴露量為12.8~13.2周,這意味著,如果不做任何風(fēng)險(xiǎn)管理的話計(jì)劃可能要延期12.8~13.2周。如果例子中的項(xiàng)目歷時(shí)25周,那么超出預(yù)計(jì)值12.8~13.2周就很顯然要進(jìn)行風(fēng)險(xiǎn)管理了。
風(fēng)險(xiǎn)優(yōu)先級(jí)
項(xiàng)目通?;ㄙM(fèi)80%的金錢解決20%的問(wèn)題,所以風(fēng)險(xiǎn)管理的重點(diǎn)是關(guān)注那最重要的20%的部分。(Boehm 1989)
如果只關(guān)注進(jìn)度計(jì)劃風(fēng)險(xiǎn)而不是關(guān)注所有的風(fēng)險(xiǎn),確定風(fēng)險(xiǎn)優(yōu)先級(jí)的工作就變得比較容易了。在風(fēng)險(xiǎn)評(píng)估表中按風(fēng)險(xiǎn)暴露量從大到小排序看看會(huì)得到什么結(jié)果:
序 號(hào) |
風(fēng) 險(xiǎn) |
發(fā)生概率 |
損失程度(周) |
風(fēng)險(xiǎn)暴露量(周) |
1 |
由于市場(chǎng)變化而增加額外的功能 |
35% |
8 |
2.8 |
2 |
計(jì)劃過(guò)于樂(lè)觀 |
50% |
5 |
2.5 |
3 |
設(shè)計(jì)欠佳——需要重新設(shè)計(jì) |
15% |
15 |
2.25 |
4 |
新的編程工具沒(méi)有節(jié)省預(yù)期的時(shí)間 |
30% |
5 |
1.5 |
5 |
圖形格式子系統(tǒng)接口不穩(wěn)定 |
25% |
4 |
1.0 |
6 |
由于要完全支持自動(dòng)從主機(jī)更新數(shù)據(jù)而造成的額外需求 |
5% |
20 |
1.0 |
7 |
項(xiàng)目審批超過(guò)預(yù)計(jì)時(shí)間 |
25% |
4 |
1.0 |
8 |
承包商的圖形格式子系統(tǒng)推遲交付 |
10~20% |
4 |
0.4~0.8 |
9 |
設(shè)施未能及時(shí)到位 |
10% |
2 |
0.2 |
10 |
為管理層撰寫(xiě)進(jìn)程報(bào)告占用開(kāi)發(fā)人員的時(shí)間比預(yù)期的多 |
10% |
1 |
0.1 |
表 5.4-1 排序后的風(fēng)險(xiǎn)暴露量
排序后的風(fēng)險(xiǎn)評(píng)估表實(shí)際上就形成了一個(gè)粗略的風(fēng)險(xiǎn)優(yōu)先級(jí)列表。如果能成功地處理風(fēng)險(xiǎn)列表中的前5個(gè)風(fēng)險(xiǎn),就有希望將超出預(yù)期計(jì)劃的時(shí)間減少10.05周,如果能成功地處理后5個(gè)風(fēng)險(xiǎn),則只能將超出預(yù)期計(jì)劃的時(shí)間減少2.7~3.1周。一般情況下,你的時(shí)間最好花在風(fēng)險(xiǎn)列表中靠前的風(fēng)險(xiǎn)上。
表5.4-1的排序只是粗略的,你可能想將損失更大的風(fēng)險(xiǎn)排在優(yōu)先級(jí)更高的位置,確保他們不會(huì)發(fā)生(如:上表第6個(gè)風(fēng)險(xiǎn))。
你也可以把一些關(guān)聯(lián)的風(fēng)險(xiǎn)排在比各自優(yōu)先級(jí)更高的位置,如表5.4-1中第5和第8個(gè)風(fēng)險(xiǎn)。讓承包商開(kāi)發(fā)圖形格式子系統(tǒng)接口,其組合風(fēng)險(xiǎn)要遠(yuǎn)大于它們各自的風(fēng)險(xiǎn)。
這里確定的風(fēng)險(xiǎn)優(yōu)先級(jí)是比較粗糙的,因?yàn)橛糜诖_定風(fēng)險(xiǎn)的數(shù)據(jù)都是估計(jì)的,因此優(yōu)先級(jí)本身也就是個(gè)相對(duì)主觀的值。所以,對(duì)風(fēng)險(xiǎn)的客觀公正態(tài)度,是風(fēng)險(xiǎn)管理必要的組成部分。
風(fēng)險(xiǎn)管理計(jì)劃
編制風(fēng)險(xiǎn)管理計(jì)劃的重點(diǎn)是制定一個(gè)計(jì)劃,以處理風(fēng)險(xiǎn)分析中確定的高優(yōu)先級(jí)風(fēng)險(xiǎn)。風(fēng)險(xiǎn)管理計(jì)劃可以簡(jiǎn)單地理解為一段一段的風(fēng)險(xiǎn)管理描述,如:每個(gè)風(fēng)險(xiǎn)的起因,表現(xiàn)形式,可能發(fā)生的時(shí)間、地點(diǎn),為什么發(fā)生以及怎樣發(fā)生等。風(fēng)險(xiǎn)管理計(jì)劃同時(shí)也包含:監(jiān)控風(fēng)險(xiǎn),處理新風(fēng)險(xiǎn),關(guān)閉已化解的風(fēng)險(xiǎn)等計(jì)劃內(nèi)容。
風(fēng)險(xiǎn)化解
特定風(fēng)險(xiǎn)的化解在許多情況下都決定于特定風(fēng)險(xiǎn)本身,下面列出一些化解風(fēng)險(xiǎn)的一般方法:
1、 避免風(fēng)險(xiǎn)
不要做冒險(xiǎn)的活動(dòng)。例如,你的項(xiàng)目進(jìn)度比較緊,有一個(gè)工具提供商聲稱它的工具能提高你的開(kāi)發(fā)速度,但是你的團(tuán)隊(duì)成員從來(lái)沒(méi)使用過(guò)這個(gè)工具,這時(shí)你就不應(yīng)該冒險(xiǎn)采用這個(gè)工具。首先該工具不一定像它聲稱的那樣好,其次對(duì)工具的學(xué)習(xí)和熟識(shí)需要一個(gè)過(guò)程,如果冒險(xiǎn)用它很可能會(huì)得不償失。
2、 轉(zhuǎn)移風(fēng)險(xiǎn)
有時(shí),項(xiàng)目某部分的風(fēng)險(xiǎn)對(duì)項(xiàng)目另一部分來(lái)說(shuō)卻不是風(fēng)險(xiǎn),因此可以將它轉(zhuǎn)移到另一部分。例如,可以負(fù)責(zé)大部分的系統(tǒng)設(shè)計(jì)工作,但不要承擔(dān)不熟識(shí)的部分的設(shè)計(jì)工作,讓比較有把握的人負(fù)責(zé)設(shè)計(jì)這部分。
3、 購(gòu)買風(fēng)險(xiǎn)相關(guān)信息
如果不能確切知道風(fēng)險(xiǎn)的嚴(yán)重性,可以做一些調(diào)研。也可以請(qǐng)外面的咨詢顧問(wèn)幫你進(jìn)行評(píng)估。
4、 消除產(chǎn)生風(fēng)險(xiǎn)的根源
例如,系統(tǒng)中某部分的設(shè)計(jì)可能面臨嚴(yán)重的問(wèn)題,可將其作為一個(gè)研究項(xiàng)目徹底重新設(shè)計(jì)。
5、 接受風(fēng)險(xiǎn)
如果風(fēng)險(xiǎn)的后果較小,而處理它的成本太高,那么可以接受這個(gè)風(fēng)險(xiǎn),不做任何處理。
6、 發(fā)布風(fēng)險(xiǎn)
讓上級(jí)領(lǐng)導(dǎo)、市場(chǎng)人員、客戶知道有關(guān)的風(fēng)險(xiǎn)以及可能的后果。這樣,即使風(fēng)險(xiǎn)真的發(fā)生了,他們也不會(huì)感到太驚訝。
7、 控制風(fēng)險(xiǎn)
定制計(jì)劃應(yīng)對(duì)風(fēng)險(xiǎn)無(wú)法化解的情形。例如分配額外的資源來(lái)測(cè)試設(shè)計(jì)中令人擔(dān)心的那部分系統(tǒng),并留出額外時(shí)間處理測(cè)試發(fā)現(xiàn)的問(wèn)題。
8、 記住風(fēng)險(xiǎn)
總結(jié)項(xiàng)目相關(guān)的風(fēng)險(xiǎn)及其處理辦法、處理效果等,為未來(lái)的項(xiàng)目建立一組風(fēng)險(xiǎn)管理計(jì)劃。
風(fēng) 險(xiǎn) |
控制方法 |
1、功能蔓延 |
a) 使用基于用戶的實(shí)踐
b) 使用增量開(kāi)發(fā)實(shí)踐
c) 控制功能集
d) 采取針對(duì)變更的設(shè)計(jì) |
2、需求鍍金或開(kāi)發(fā)人員鍍金 |
a) 修正需求
b) 時(shí)間鎖定開(kāi)發(fā)
c) 控制功能集
d) 使用舍棄原型實(shí)踐
e) 基于進(jìn)度表的開(kāi)發(fā) |
3、質(zhì)量低劣 |
a) 給QA留出時(shí)間,注重質(zhì)量保證基礎(chǔ) |
4、計(jì)劃過(guò)于樂(lè)觀 |
a) 采用多估算實(shí)踐
b) 多個(gè)估算員和自動(dòng)估算工具有原則地進(jìn)行談判
c) 基于進(jìn)度表的開(kāi)發(fā)
d) 使用增量開(kāi)發(fā)實(shí)踐 |
5、設(shè)計(jì)低劣 |
a) 要有清晰的設(shè)計(jì)活動(dòng)和足夠的設(shè)計(jì)時(shí)間
b) 進(jìn)行設(shè)計(jì)檢查 |
6、銀彈綜合癥 |
a) 要有一定的生成率要求
b) 建立軟件量度計(jì)劃
c) 建立軟件工具庫(kù) |
7、研究導(dǎo)向的開(kāi)發(fā) |
a) 不要試圖進(jìn)行研究的同時(shí)強(qiáng)調(diào)加快開(kāi)發(fā)速度
b) 使用基于風(fēng)險(xiǎn)的生命周期模型警惕地進(jìn)行風(fēng)險(xiǎn)管理 |
8、人員薄弱 |
a) 招募頂尖人才
b) 項(xiàng)目開(kāi)始前招聘或預(yù)定關(guān)鍵成員
c) 培訓(xùn)
d) 團(tuán)隊(duì)建設(shè) |
9、承包商失敗 |
a) 檢查參考資料
b) 外包前分析承包商能力
c) 積極管理承包商 |
10、開(kāi)發(fā)人員與客戶發(fā)生摩擦 |
a) 采用面向進(jìn)度的實(shí)踐 |
表 5.6-1 常見(jiàn)進(jìn)度計(jì)劃風(fēng)險(xiǎn)的控制方法
風(fēng)險(xiǎn)監(jiān)控
由于風(fēng)險(xiǎn)在項(xiàng)目推進(jìn)過(guò)程中會(huì)增強(qiáng)或減弱,所以需要對(duì)風(fēng)險(xiǎn)進(jìn)行監(jiān)控,檢查每個(gè)風(fēng)險(xiǎn)的化解程度,關(guān)閉完全化解的風(fēng)險(xiǎn),添加新產(chǎn)生的風(fēng)險(xiǎn)。
1、 前十風(fēng)險(xiǎn)列表
最有效的風(fēng)險(xiǎn)監(jiān)控手段之一就是建立前十風(fēng)險(xiǎn)列表,該表包含每個(gè)風(fēng)險(xiǎn)當(dāng)前的級(jí)別、以前的級(jí)別、已經(jīng)上表的次數(shù)和上次審核后風(fēng)險(xiǎn)化解的步驟等。
前十風(fēng)險(xiǎn)列表最有意義的方面是促使你定期查看和思考這些風(fēng)險(xiǎn),并對(duì)重要的變化給予警告。
前十風(fēng)險(xiǎn)列表的示例:
表 5.7-1 前十風(fēng)險(xiǎn)列表
2、 中間檢查
雖然前十風(fēng)險(xiǎn)列表可能是最有效的風(fēng)險(xiǎn)監(jiān)控手段,但每個(gè)項(xiàng)目也應(yīng)該包括中間過(guò)程檢查。在完成每個(gè)主要里程碑后進(jìn)行一次小規(guī)模的檢查是非常有益的實(shí)踐。
3、 風(fēng)險(xiǎn)官員
有時(shí)任命風(fēng)險(xiǎn)官員很有用,風(fēng)險(xiǎn)官員的職責(zé)就是對(duì)項(xiàng)目風(fēng)險(xiǎn)提出警告,防止項(xiàng)目經(jīng)理和開(kāi)發(fā)人員忽視計(jì)劃中的風(fēng)險(xiǎn)管理。