天天看點

[讀書摘要]軟體項目風險管理

以下内容摘自宋禮鵬、張建華編著的《軟體工程:理論與實踐》

“試圖以一種可行的原則和實踐規範化地控制影響項目成功的風險,其目的是辨識、描述和消除風險因素,以免它們威脅軟體的成功運作”-  Boehorn

    風險管理涉及的主要過程包括:風險識别,風險打析,風險應對計劃制訂和風險監控,如圖所示:

[讀書摘要]軟體項目風險管理

一、 風險識别

風險識别就是企圖采用系統化的方法,識别某特定項目已知的和可預測的風險.常用方法是建立風險條目檢查表,利用一組提問來幫助項目風險管理者了解在項目和技術方面有哪些風險。在風險條目檢查表中,列出了所有可能的與每一個風險因素有關的提問,使得風險管理者集中來識别常見的.巳知的和可預測的風險,如産品規模風險,需求風險、開發環境風險.管理風險及技術風險等。風險條目檢查表可以以不同的方式組織,通過判定分析或假設分析,給出這些提問确定的回答,就可以幫助管理或計劃人員估箅風險的影響。軟體項目一般有如下幾類風險:

1. 産品規模風險

 有經驗的項目經理郡知道:項目的風險是直接與産品的規模成正比的。與軟體規模相關的常見風險因素有以下幾個:

1)  估算産品規模的方疊是LOC或代碼行,FP或功能點,程式或檔案的數目、

2)  産品規模估算的信任度如伺?

3)  産品規模與以前産品規模平均值的偏差多大,

4)  産品的使用者數是多少?

5)  複用的軟體有多少?

6)  産品的需求改變多少.傳遞之前有多少,傳遞之後有多少?

2.需求風險

    很多項目在确定需求時都面臨着一些不确定性和混亂。當在項目早期容忍了這些不确定性,并且在項目進展過程當中得不到解決時,這些問題就會對項目的成功造成很大威脅.如果不控制與需求相關的風險因素.那麼就很有可能産生錯誤的産品或者拙劣地建造的産品。需求風險大多是與客戶相關的風險,具體有以下幾個方面,

1)  對産品是否具有清晰的認識,

2)  對産品需求是否認同?

3)  在做需求分析時,客戶參與夠不夠?

4)  是否将需求作為最優先的任務?

5)  是否存在由不确定的需要導緻新的市場?

6)  需求是否需要不斷變化?

7)  是否能有效的管理需求變化?

8)  是否對需求的變化具有相關分析?

3. 開發環境風險

  許多風險都是因為項目所依賴的外部環境因素引起的,經常找們不能很好地控制外部環境,是以緩解政策應該包括可能性計劃,以便從第二資源或協同工作資源中取得必要的組成合分,井臣覺察潛在的問題:與外部環境相關的風險因素有以下幾個:

1)  内部、外部轉包商的關系如何?

2)  互動成員或互動團體依賴性如何?

3)  是否有可用的軟體項目管理工具、軟體過程管理工具、測試工具、軟體配置管理工具等?

4)  項目組成員是否接受過所使用工具的教育訓練?

5)  是否有經驗豐富的人員回答有關工具的問題?

6)  工具的聯機幫助及文檔是否适當?

4.管理風險

  盡管管理問題制約了很多項目的成功,但是不要因為風險管理計劃中沒有包括所有管理活動而感到驚奇。在大部分項目裡,項目經理經常是寫項目風險管理計劃的人,并且大部分人都不希望在公共場合暴露自己的弱點。然而.像這些問題可能會使項目的成功變得更加困難,如果不正視這些棘手的問題,它們就很有可能在項目進行的某個階段影響項目。當定義了項目追蹤過程并且明晰項目角色和責任時,就能處理這些風險因素,如下所示。

1)  計劃和任務定義夠不夠充分?

2)  實際項目狀态如何?

3)  項目所有者和決策者分不分的清?

4)  是否存在不切實際的承諾?

5)  員工之間是否存在的沖突?

5.技術風險

    軟體技術的飛速發展和經曆豐富員工的缺乏,意味着項目團隊可能會因為技巧的原因影響項目的成功。在早期,識别風險進而采取合适的預防措施是解決風險領域問題的關鍵,如教育訓練、雇傭顧問以及為項目團隊招聘合适的人才等。主要有下面這些風險因素:

1)  是否進行了充分的教育訓練?

2)  對方法.工具和技術了解的夠不夠?

3)  應用領域的經驗夠不夠?

4)  是否采用新的技術和開發方法?

5)  能不能找到正确工作的方法?

二、 風險分析

    風險分析過程的活動是将風險陳述轉變為按優先順序排列的風險清單.包括以下活動:

1)  确定風險的驅動因素。為了很好地消除軟體風險,項目管理者需要辨別影響軟體風險因素的風險驅動因子,這些因素包括性能、成本、支援和進度。

2)  分析風險來源,風險來源是引起風險的根本原因。

3)  估箅風險對項目及産品的影響。

4)  對風險按照風險影響進行優先排序,對級别高的風險優先處理.

    對辨識出的風險進行進一步的分析,然後确定主要風險出現的最壞情況,如何将此風險的影響降低到最小?同時确定主要風險出現的個數及時間。進行風險分析時,最重要的是量化不确定性的程度和每個風險可能造成損失的程度。

    風險分析過程中.項目管理者要對風險進行排序,高發生率、高影響的風險放在上

方,依次類推。然後對排序進行研究,并劃分重要和次重要的風險,對次重要的風險再運

行一次評估并排序。對重要的風險要進行管理。從管理的角度來考慮,風險的影響及機率

是起着不同作用的,一個具有高影響且發生機率很低的風險因素不應該花太多的管理時間,而高影響且發生率從中到南的風險以及低影響且高機率的風險,應該首先列入管理考慮之中。

    風險評估表是風險分析過程中的一種常用工具,它列出風險的名稱、風險的類别、風險發生的機率及影響。下表绐出了軟體項目風險評估表的一個例子。      
[讀書摘要]軟體項目風險管理
風險評估表并非一成不變的,随着有關風險的資訊增加和風險管理計劃的實施.一項風險出現的可能性和出現後的影響都需要重新評估,并且需要根據新的評估結果修改風險評估表。      
三、風險應對計劃制訂      
    風險應對過程的活動是将按優先級排列的風險清單轉變為風險應對計劃。項目管理者重點要考慮的是已經識别出的每一個重大風險,為這些風險确定相應的應對政策。制訂有效的應對政策,在很大程度上決定着項目的成敗、但是。應對政策是否有效依賴于項目管理者的經驗和能力。      
    主要的應對政策有以下幾個。      
1)   風險規避政策:采取政策盡可能避免風險的出現。      
2)   風險接受政策;對可能出現的風險有備而來,采用适當對策應對它。      
3)   風險緩解政策:最小化風險影響的原則,盡可能減小風險出現帶來的膨響。      
4)   風險轉移政策:将可能出現的風險轉移給第三方處理。      
四、風險監控      
風險監控就是對辨識後的風險在項目實施過程中進行跟蹤管理,确定還會有哪些變化,以便及時修正計劃。當然,修正計劃的資訊不可能直接通過觀察得到,項目管理者應該監控影響風險的各種因素,進而确定風險的變化。      
    總之,軟體開發項目是高風險的話動。如果在項目開發過程中采取積極的風險管理方式.就可以避免或降低許多風險,而這些風險如果沒有處理好.就可能使項目陷入癱瘓中。通過風險管理可以使項目程序更加平穩,可以獲得很高的跟蹤和控制項目的能力.并且可以增強項目組成員對項目如期完成的信心。風險管理是項目管理中很重要的管理活動,有效地實施軟體風險管理是軟體項目開發工作順利完成的保證。      

繼續閱讀