許多風險都是因為項目的外部環(huán)境或因素的相關(guān)性產(chǎn)生的。經(jīng)常我們不能很好地控制外部的相關(guān)性,因此緩解策略應(yīng)該包括可能性計劃,以便從第二資源或協(xié)同工作資源中取得必要的組成部分,并且覺察潛在的問題。與外部環(huán)境相關(guān)的因素有:
客戶供應(yīng)條目或信息
內(nèi)部或外部轉(zhuǎn)包商的關(guān)系
交互成員或交互團體依賴性
經(jīng)驗豐富人員的可得性
項目的復(fù)用性
4.4 管理風險
盡管管理問題制約了很多項目的成功,但是不要因為風險管理計劃中沒有包括所有管理活動而感到驚奇。在大部分項目里,項目經(jīng)理經(jīng)常是寫項目風險管理計劃的人,并且大部分人都不希望在公共場合暴露自己的弱點。然而,像這些問題可能會使項目的成功變得更加困難。如果不正視這些棘手的問題,它們就很有可能在項目進行的某個階段影響項目。當我們定義了項目追蹤過程并且明晰項目角色和責任,就能處理這些風險因素:
計劃和任務(wù)定義不夠充分
實際項目狀態(tài)
項目所有者和決策者分不清
不切實際的承諾
員工之間的沖突
4.5 技術(shù)風險
軟件技術(shù)的飛速發(fā)展和經(jīng)歷豐富員工的缺乏,意味著項目團隊可能會因為技巧的原因影響項目的成功。在早期,識別風險從而采取合適的預(yù)防措施是解決風險領(lǐng)域問題的關(guān)鍵,比如:培訓(xùn)、雇傭顧問以及為項目團隊招聘合適的人才等。主要有下面這些風險因素:
缺乏培訓(xùn)
對方法、工具和技術(shù)理解的不夠
應(yīng)用領(lǐng)域的經(jīng)驗不夠
新的技術(shù)和開發(fā)方法
不能正確工作的方法
5 風險估計
風險估計,又稱風險預(yù)測,常采用兩種方法估價每種風險。一種是估計風險發(fā)生的可能性或概率,另一種是估計如果風險發(fā)生時所產(chǎn)生的后果。一般來講,風險管理者要與項目計劃人員、技術(shù)人員及其他管理人員一起執(zhí)行四種風險活動:
(1)建立一個標準(尺度),以反映風險發(fā)生的可能性。
(2)描述風險的后果。
(3)估計風險對項目和產(chǎn)品的影響。
(4)確定風險的精確度,以免產(chǎn)生誤解。
另外,要對每個風險的表現(xiàn)、范圍、時間做出盡量準確的判斷。對不同類型的風險采取不同的分析辦法。
1.確定型風險估計
(a)盈虧平衡分析
盈虧平衡分析(Break-Even Analysis)通常又稱為量本利分析或損益平衡分析。它是根據(jù)軟件項目在正常生產(chǎn)年份的產(chǎn)品產(chǎn)量或銷售量、成本費用、產(chǎn)品銷售單價和銷售稅金等數(shù)據(jù),計算和分析產(chǎn)量、成本和盈利這三者之間的關(guān)系,從中找出它們的規(guī)律,并確定項目成本和收益相等時的盈虧平衡點的一種分析方法。在盈虧平衡點上,軟件項目既無盈利,也無虧損。通過盈虧平衡分析可以看出軟件項目對市場需求變化的適應(yīng)能力。
(b)敏感性分析
敏感性分析(Sensitivity Analysis)的目的,是考察與軟件項目有關(guān)的一個或多個主要因素發(fā)生變化時對該項目投資價值指標的影響程度。通過敏感性分析,使我們可以了解和掌握在軟件項目經(jīng)濟分析中由于某些參數(shù)估算的錯誤或是使用的數(shù)據(jù)不太可靠而可能造成的對投資價值指標的影響程度,有助于我們確定在項目投資決策過程中需要重點調(diào)查研究和分析測算的因素。
(c)概率分析
它是運用概率論及數(shù)理統(tǒng)計方法,來預(yù)測和研究各種不確定因素對軟件項目投資價值指標影響的一種定量分析。通過概率分析可以對項目的風險情況做出比較準確的判斷。主要包括解析法和模擬法(蒙特卡羅Monte Carlo技術(shù))兩種。
2.不確定型風險估計
主要有小中取大原則、大中取小原則、遺憾原則、最大數(shù)學(xué)期望原則、最大可能原則。
3.隨機型風險估計主要有最大可能原則、最大數(shù)學(xué)期望原則、最大效用數(shù)學(xué)期望原則、貝葉斯后驗概率法等。
5.1 建立風險清單
風險清單是關(guān)鍵的風險預(yù)測管理工具,清單上列出了在任何時候碰到的風險名稱、類別、概率及該風險所產(chǎn)生的影響。其中整體影響值可對四個風險因素(性能、支持、成本及進度)的影響類別求平均值(有時也采用加權(quán)平均值)。
一旦完成了風險表的內(nèi)容,就可以根據(jù)概率及影響來進行綜合考慮,風險影響和出現(xiàn)概率從風險管理的角度來看,它們各自起著不同的作用(見圖1)。一個具有高影響但低概率的風險因素不應(yīng)當占用太多的風險管理時間 ,而具有中到高概率、高影響的風險和具有高概率及低影響的風險,就應(yīng)該進行風險分析。
5.2 風險評估
在風險分析過程中,我們對風險進行評估時可以建立一個如下的四元數(shù)組:
[ri , li, xi,yi]
其中,ri是風險,li 為風險出現(xiàn)的概率,xi 則表示風險損失大小,yi 則表示期望風險。
一種對風險評估的常用技術(shù)是定義風險的參照水準,對絕大多數(shù)軟件項目來講,風險因素——成本、性能、支持和進度就是典型的風險參照系。也就是說對成本超支、性能下降、支持困難、進度延遲都有一個導(dǎo)致項目終止的水平值。如果風險的組合所產(chǎn)生的問題超出了一個或多個參照水平值時,就終止該項目的工作,在項目分析中,風險水平參考值是由一系列的點構(gòu)成的,每一個單獨的點常稱為參照點或臨界點。如果某風險落在臨界點上,可以利用性能分析、成本分析、質(zhì)量分析等來判斷該項目是否繼續(xù)工作。圖2 表示了這種情況。
但在實際工作中,參照點很少能構(gòu)成一條光滑的曲線,大多數(shù)情況下,它是一個區(qū)域,而且是個易變的區(qū)域。因而在做風險評估時,盡量按以下步驟執(zhí)行:
(1)定義項目的水平參照值
(2)找出每組[ri , li, xi,yi]與每個水平參照值間的關(guān)系
(3)估計一組臨界點以定義項目的終止區(qū)域
(4)估計風險組合將如何影響風險水平參照值
5.3 估計損失的大小
表1是風險分析表的一個例子,可以建立一個用風險、損失概率、損失大小和期望風險這樣的風險評估表。
在表1所示的風險估價的例子中,一個理論項目已經(jīng)識別了從1到20周期間的潛在的幾個風險,風險發(fā)生的概率范圍在5%到50%之間。在現(xiàn)實的項目中,可能會識別出比此表要多得多的風險。
損失的大小常常比概率更容易受到控制。在以上的例子中,可以很精確地估計出完全支持自動從主機更新數(shù)據(jù)的時間是20個月。根據(jù)管理層將在何時討論項目建議書,可以知道項目不是在2月1日就是3月1日會被批準。如果假定會在2月1日批準,項目被批準的風險大小會比期望的長一些,也就是1個月時間。
如果損失的大小不容易直接估計出來,可以將損失分解為更小的部分,再對其進行評估,然后將各部分評估結(jié)果累加,形成一個合計評估值。例如,如果使用3種新編程工具,可以單獨評估每種工具未達到預(yù)期效果的損失,然后再把損失加到一起,這要比總體評估容易多了。
5.4 評估損失的概率
評估損失的概率要比評估損失大小更具有主觀性。這里有許多實踐方法可以提高主觀評估的準確度。有以下方法:
由最熟悉系統(tǒng)的人評估每個風險的發(fā)生概率,然后保留一份風險評估審核文件。
使用Delphi法或少數(shù)服從多數(shù)的方法。使用Delphi法,必須要求每個人對每個風險進行獨立地評估,然后討論(口頭或紙上)每個評估的合理性,特別是最高和最低的那個。一輪輪討論,直到達成共識。 ? 使用“形容詞標準”。首先讓每個人用表示可能性的形容詞短語選擇風險的級別,如非常可能、很可能、可能、或許、不太可能、不可能、和根本不可能。然后把可能性的評估轉(zhuǎn)換為數(shù)量化的評估(Boehm1989)。
5.5 整個項目超限和緩沖
實際上,表1中表示的期望風險的計算數(shù)值來源于一個被稱為“期望值”的統(tǒng)計術(shù)語。設(shè)計欠佳引起的風險如果真正發(fā)生將花費15周的時間。既然它不是100%地會發(fā)生,當然不能預(yù)計損失15周時間。但它也不是沒有可能發(fā)生,所以也不應(yīng)指望不會發(fā)生損失。統(tǒng)計學(xué)認為,預(yù)計損失的數(shù)量是概率乘以損失大小,即15%乘以15周。因此,在這個例子中,預(yù)計的是損失2.25周。由于只是談?wù)撚媱濓L險,可以累加所有的風險暴露量來得到項目的全部可預(yù)料超標值。這個項目可預(yù)料的超標值是12.8到13.2周,這就是如果不做任何風險管理的話有可能超過計劃的周數(shù)。
超出預(yù)期值的大小為整個項目風險控制級別的確定提供了依據(jù)。如果例子中的項目是個25周的項目,超出預(yù)期值的12.8到13.2周就很明顯需要進行風險管理了。
風險管理策略
風險管理策略就是輔助項目組建立處理項目風險的策略。項目開發(fā)是一個高風險的活動,如果項目采取積極的風險管理策略,就可以避免或降低許多風險,反之,就有可能使項目處于癱瘓狀態(tài)。一般來講,一個較好的風險管理策略應(yīng)滿足以下要求:
(1)在項目開發(fā)中規(guī)劃風險管理,盡量避免風險
(2)指定風險管理者,監(jiān)控風險因素
(3)建立風險清單及風險管理計劃
(4)建立風險反饋渠道
7 風險駕馭和監(jiān)控
風險的駕馭與監(jiān)控主要靠管理者的經(jīng)驗來實施,它是利用項目管理方法及其它某些技術(shù),如原型法、軟件
心理學(xué)、
可靠性等來設(shè)法避免或轉(zhuǎn)移風險。風險的駕馭和監(jiān)控活動可用圖3 來表示。
7.1 建立風險駕馭與監(jiān)控計劃
從圖3中可以看出,風險的駕馭與監(jiān)控活動要寫入RMMP(Risk Monitoring and Management Plan風險駕馭與監(jiān)控計劃)。RMMP記述了風險分析的全部工作,并且作為整個項目計劃的一部分為項目管理人員所使用。
風險管理策略可以包含在軟件項目計劃中,也可以組織成一個獨立的風險緩解、監(jiān)控和管理計劃(RMMP計劃)。RMMP計劃將所有風險分析工作文檔化,并由項目管理者作為整個項目計劃中的一部分來使用。一旦建立了RMMP計劃,且項目開始啟動,則風險緩解及駕馭及監(jiān)控步驟也開始了。正如前面討論的,風險緩解是一種問題避免活動。風險駕馭及監(jiān)控則是一種項目跟蹤活動,它有三個主要目標: ? 判斷一個預(yù)測的風險是否事實、是否發(fā)生。
進行風險再估計,確保針對某個風險而制定的風險消除活動正在使用。
收集可用于將來進行風險分析的信息。
風險駕馭及監(jiān)控的策略如下:
與在職人員協(xié)商,確定人員流動原因。
在項目開始前,把緩解這些流動原因的工作列入風險駕馭計劃。
項目開始時,要作好人員流動的思想準備,并采取一些措施確保人員一旦離開時,項目仍能繼續(xù)。
制定文檔標準,并建立一種機制,保證文檔及時產(chǎn)生。
對所有工作進行細微詳審,使更多人能夠按計劃進度完成自己的工作。
對每個關(guān)鍵性技術(shù)人員培養(yǎng)后備人員。
在考慮風險成本之后,決定是否采用上述策略。
7.2 軟件項目風險追蹤工具
追蹤風險的一個辦法是將風險輸入缺陷追蹤系統(tǒng)中,缺陷追蹤系統(tǒng)能將風險項目標示為已解決或尚未處理等狀態(tài),也能指定解決問題的項目團隊成員,并安排處理順序。可將軟件風險項目依序排列出來,按照缺陷存在的時間與負責者等資料排列。這樣,缺陷追蹤系統(tǒng)就是追蹤風險的工作能更好執(zhí)行并且不那么單調(diào)。
8 結(jié)束語
軟件項目風險管理是一種特殊的規(guī)劃方式,當對軟件項目有較高的期望值時,一般都要進行風險分析。進行過大中型項目開發(fā)的人都親身體驗到許多事情可能出錯,最成功的項目就是采取積極的步驟對要發(fā)生或即將發(fā)生的風險進行管理。對任何一個軟件項目,可以有最佳的期望值,但更應(yīng)該要有最壞的準備,“最壞的準備”在項目管理中就是進行項目的風險分析。