鄧 超
東莞南博職業技術學院,廣東東莞 523083
軟件項目風險是指在軟件開發過程中遇到的預算和進度等方面的問題以及這些問題對軟件項目的影響。現階段在眾多軟件公司開發軟件過程中必不可少的會涉及到軟件項目的風險管理,當公司對軟件項目風險管理不當時,風險就會成為現實,就有可能影響到項目的進度,增加項目的成本,甚至使軟件項目不能實現。恰當的對軟件項目進行風險管理,可以最大限度的減少風險的發生。
1)識別軟件項目風險
識別軟件項目風險是系統化地確定對軟件項目項目計劃(估算、進度、資源分配)順利實施產生威脅的因素。通過識別已知和可預測的風險,項目管理者就有可能避免這些風險,且當必要時控制這些風險。在項目的整個生命周期內,風險識別是一個連續的過程。一般情況下軟件項目風險劃分為以下幾個種類:(1)資源風險;(2)產品規模風險;(3)需求風險;(4)相關性風險;(5)管理風險;(6)技術風險。
2)對軟件項目風險進行評估
軟件項目風險評估主要采取以下方法:(1)建立軟件項目風險清單。風險清單是關鍵的風險預測管理工具,風險清單中應列出在任何時候碰到的風險名稱、類別、概率及該風險所產生的影響;(2)對軟件項目風險進行評估。風險評估的具體做法是:根據風險的不確定性和損失兩個基本特征,為每個風險計算風險值。風險值=可能性×影響值,兩者的乘積越大表明該風險越高,越值得重視;(3)軟件項目風險劃分。在進行了風險的量化分析后,需要對已經確定需要進行管理的風險進行優先級的劃分。在風險劃分中必須強調的是由于每個項目的資源都是有限的,所以風險管理必須把精力集中在最重要的風險子集上,并且在項目進行中條件和優先級發生改變的情況下,組成此子集的風險種類也要隨之改變。
3)軟件項目風險的應對措施
軟件項目風險分析活動都是為了建立一個具有良好效果的處理風險的策略。風險管理策略一般包含3個內容:(1)風險規避;(2)風險監控;(3)構建風險管理模型。
風險規避就是通過變更項目計劃,從而消除或形成風險的條件,或者保護項目目標免受風險的影響。雖然項目隊伍永遠不可能消除所有的風險,但某些特定的風險還是可以規避的。在項目早期出現的某些風險事件可以通過澄清需求、獲取信息、
加強溝通、聽取專家意見的方式加以應對。減少項目范圍以規避高風險的工作;增加項目資源或時間;采用一種熟悉的而不是創新的方法;
風險監控是項目管理過程,它跟蹤已識別的風險,監測殘余風險和識別新的風險,保證風險計劃的執行,并評價這些計劃對減輕風險的有效性。風險監控記錄與應急計劃執行相關聯的風險量度,是項目整個生命周期中的一個持續進行的過程。隨著項目的進展,風險會不斷變化,可能會有新的風險出現,也可能有預期的風險消失。良好的風險監控過程能為夠提供信息,幫助我們在風險發生前做出有效的決策。
現階段軟件行業主要使用的風險管理模型有以下幾種:
(1)Barry Boehm模型
Boehm模型公式:RE=P(UO)*L(UO)。其中tiE表示風險或者風險所造成的影響,P(UO)表示令人不滿意的結果所發生的概率。L(UO)表示糟糕的結果會產生的破壞性的程度。Boehm思想的核心是十大風險因素列表,其中包括人員短缺、不合理的進度安排和預算、不斷的需求變動等。針對每個風險因素,都給出了一系列的風險管理策略。在實際操作時,Boehm以十大風險列表為依據,總結當前項目具體的風險因素,評估后進行計劃和實施,在下一次定期召開的會議上再對這十大風險因素的解決情況進行總結,產生新的十大風險因素表,依此類推。
(2)CRM模型
SEI CRM模型的風險管理原則是:不斷地評估可能造成惡劣后果的因素;決定最迫切需要處理的風險;實現控制風險的策略;評測并確保風險策略實施的有效性。CRM模型要求在項目生命期的所有階段都關注風險識別和管理。它將風險管理劃分為5個步驟:風險識別、分析、計劃、跟蹤、控制。
(3)RIM模型
SERIM從技術和商業2個角度對軟件風險管理進行剖析,考慮的同題涉及開銷、進度、技術性能等。SERIM的理論體系主要基于如下概念:風險元素(element)、因素(factor)、指標(metrics)和活動(activity),SERIM的分析模型反應了這幾個目標的修正。概念之間的相輔相成關系。Karolak認為軟件風險新的目標體現在3個方面,即技術、成本和進度。其中技術方面與性能、可用性等相關,應該盡早識別這個方面的風險;成本則包括預算、盈利等;進度包括進度表的靈活度、現實性等。貫穿于整個開發周期。它還提供了一些指標和模型來估量和預測風險。由于這些數據來源于大量的實際經驗,因此具有很強的說服力。
軟件項目管理從某種意義上講,就是風險管理。我們盡量去定義明確不變的需求,以便進行計劃并高效管理,但商業環境總是快速變化的,甚至是無序的變化。所以,軟件企業在進行項目管理的過程中,必須采用適合自己的風險管理方法進行風險管理,以確保軟件項目在規定的預算和期限內完成項目。
[1]左美云,鄺孔武.信息系統的開發與管理教程[M].北京:清華大學出版社,2003.
[2]張虹.軟件工程與軟件開發工具[M].北京:清華大學出版社.