【第168期 September 5, 2011】
 

CMMI與軟體工程

漫談CMMI之風險管理–Risk Management

作者/楊 健

[發表日期:2011/9/1]


前言

軟體專案中風險是普遍存在的,隨著開發技術的不斷更新、軟體複雜程度不斷增大,專案所涉及的不確定因素日益增多,因風險發生而導致的損失及影響更是越來越大。而專案風險管理的目的就是通過對專案風險進行識別、評估、監控、分析與應對,以降低風險、減少損失。

風險識別

風險識別是專案風險管理過程的第一步,在專案規劃階段及整個專案監控階段,需要對各種顯露的和潛在的風險進行識別。風險識別包括確定風險的來源,風險產生的條件,描述其風險特徵和確定哪些風險事件有可能影響項目,也可以根據引發的後果定義風險的等級,例如高等、中等、低等風險。

在識別風險時,一方面可根據常識、經驗、客戶的需求、專案的限制條件等方面進行考慮,也可以通過以前專案中累積的資料、經驗和教訓(例如建立組織風險資產庫)來進行考慮。風險識別是一項反復的過程,應當在專案中自始至終不斷進行。

風險監控與分析

風險監控與管理有三個主要目標:

  • 減低風險發生的可能性。
  • 減少損失量。
  • 改變風險的後果。
風險監控就是通過對風險規劃、識別、估計、評價、應對全過程的監視和控制,從而保證風險管理能達到預期的目標。風險的監控與管理活動在整個專案的週期內呈現連續性、並行性、反覆運算性,它是專案管理實施過程中的一項重要工作。

在識別風險以後,可以從風險的可能性(發生概率)、嚴重性(影響度)和可控程度(探測的難易程度)三個方面來定義一個風險專案的評價數值。根據風險的評價數值進行排序,確定風險專案的優先順序並進行監控。

整個專案的生命週期中,要進行持續的監控與追蹤,並根據專案的實際狀況不斷進行調整。監控和跟蹤優先順序高的風險,記錄風險評估數值的變化及風險發生時的處理方式,並在每個重要里程碑時重新評估。

風險應對策略

風險應對策略就是把專案風險發生的概率、損失嚴重程度以及其它因素綜合起來考慮,通過對專案風險識別、估計和分析,把專案風險發生的概率、損失嚴重程度以及其它因素綜合起來考慮,合理的使用多種管理方法、技術和手段對專案活動涉及的風險實行有效的控制,採取主動應對措施,妥善處理風險可能造成的不利後果,以最少的成本保證專案安全順利的達成目標。

應對專案風險有多種策略,比較常見的有風險預防、風險規避、風險轉移、風險減輕、風險損失控制等。

基於CMM/CMMI的軟體專案風險管理框架

在基於CMM/CMMI軟體工程實踐過程中,風險管理被集成在CMMI框架下的第三級,以CMMI框架為依託,提出了基於流程的風險管理,使風險管理與流程改善融入到一個體系中,使得軟體專案管理的理論和方法與軟體工程實踐緊密結合起來,使得風險管理更具針對性和實踐性。

基於CMMI軟體風險管理流程領域框架說明如下:


《圖一》


CMMI之風險管理流程領域提出了三個特定目標:

一、SG 1 進行風險管理準備

準備工作是指建立並維護用於識別、分析與降低風險的策略。這個策略一般被編寫成風險管理計畫。風險管理策略說明用來控制風險管理計畫的特定措施與管理方法、控制風險的流程。包括識別風險來源、風險分類方案,以及有效評估、界定和控制風險的參數。特定實踐有:

SP1.1確定風險來源和風險分類;
SP1.2定義風險參數;
SP1.3建立風險管理的策略。

二、SG 2識別和分析風險

識別風險並對其進行分析,以確定它們的相對重要性。風險的程度影響到為處理風險而進行的資源配置和確定何時需要相應的管理者關注。對風險進行分析也就是給內部和外部來源的風險加上標識,然後評估每個風險,確定其發生的可能性和後續結果。根據已建立的風險分類辦法和針對風險管理戰略擬訂的判據確定風險的類別,將為風險的處理提供所需的資訊。可以把相關的風險分組,以便有效地處理風險和使用風險管理資源。特定實踐有:

SP1.1識別風險;
SP1.2評估、分類和區分風險的優先順序。

三、SG 3降低風險

應對風險並且在適當時降低風險,從而降低對實現專案目標的不利影響。應對風險的步驟包括提出風險應對計畫、監控風險和在風險發生時執行風險應對活動。針對所選擇的風險擬訂並實施減輕風險的方案,主動降低風險發生時的潛在影響。特定實踐有:

SP1.1制定風險降低計畫;
SP1.2執行風險降低計畫。

參考資料

1.SEI "Capability Maturity ModelR Integration (CMMISM), Version 1.2
2.http://www.sei.cmu.edu/library/assets/risk.pdf
3.《專案管理知識體系指南》((PMBOK Guide)