摘 要:做好風險管理工作,能夠加強軟件產品的質量、降低對軟件研發的投入,確保軟件產品能夠在規定的時間內研發出來。那么下面我們就來具體的介紹一下基于CMMI的軟件項目的風險準備、評估和控制工作,以此保證所研發出的軟件能夠滿足市場需求。
關鍵詞:CMMI;風險管理;風險評估;風險控制
所謂的CMMI,就是軟件能力成熟度模型集成,其作用在于能夠加強軟件研發效果,節省對軟件產品的投入,確保軟件能夠在規定的時間內完成研發。而CMMI過程域中對軟件項目風險管理的描述和最佳實踐,具有持續性、前瞻性的特點。其中持續性特點指的是在軟件研發期間,對全部環節進行風險管控。而前瞻性則是指做好計劃,提前掌握潛在風險隱患,從而進行及時的管控。這也就是說,風險管理主要是提早發現并解決潛在的風險,盡最大可能避免風險所導致的破壞。風險管理會決定軟件項目能否滿足QCD指標,是軟件研發能否成功的重要環節,因此軟件項目一定要重視風險管理工作。下面筆者就根據CMMI風險管理的持續性和前瞻性特點來分析一下風險管理工作的要點。
1風險準備
1.1確定風險源
在軟件的內外部都會產生風險源。伴隨項目的不斷深入,有可能會出現越來越多的風險源。在軟件內外部中,常見的風險有:(1)不確定的需求;(2)預估不準確的工作量;(3)不可行的設計;(4)實現不了的技術;(5)工作者的能力以及技術水平達不到規定要求;(6)成本、經費不足;(7)分包能力有限;(8)和買方在交流方面存在問題。
盡快的發現內外部風險源,能夠對風險進行盡早的標識,這樣就能夠在研發軟件前制定出風險預防方案,從而就可避免出現風險的可能性。
1.2確定風險類型
掌握風險類別類型,創建防控風險的機制,同時加大對軟件研發重要環節的風險監管力度。而風險類型主要包括:(1)產品規模風險;(2)技術風險;(3)環境風險;(3)研發期間的風險;(5)資源風險;(6)用戶特性風險。
2風險評估
2.1風險識別
CMMI最佳實現中,風險檢查表和頭腦風暴是風險識別的主要方法。
2.2風險檢查表
在高成熟度CMMI模型中,通過組織級經驗積累,把之前所出現過的風險制作成風險核對表。按照當前軟件項目的特點,來檢驗風險核對表,以此獲悉在軟件研發項目里是不是具有風險檢查表當中所具有的風險。
2.3頭腦風暴
這也是CMMI思想中非常提倡的一種群策群力的風險識別方式。將相關專家召集到一起進行共同的商討,來提出所潛在的風險。所有人均不對其他人的觀點進行評價,專家間并不進行探討。
2.4風險分析
定量項目管理是CMMI的重要過程域之一。對潛在風險有可能出現的概率以及出現后會導致的后果進行全面的研究,然后算出風險量值,可以為風險評估提供重要依據。
風險所造成的后果,也就是在出現風險的情況下,給軟件研究項目所造成的影響做出定量分析,其中主要針對的是成本增多、進度延遲和技術影響。做好對這三方面的關聯性的“評估”,若其中一個發生風險,那么就代表會產生軟件研發風險。
在出現風險后,所造成的后果量化為:高風險:取值范圍為[7,10],成本會增加至少20%,進度延遲至少能夠達到20%,導致無法完成任務;中風險取值范圍為[3,7],成本會增加至少10%,進度延遲至少能夠達到10%,會對性能造成嚴重影響;低風險:取值范圍為[0,3],成本會增加至多10%,進度延遲至多能夠達到10%,會對性能造成一定的影響。
風險出現時段的可以量化為:遠:取值范圍為[0,3],發生時段:比下階段更遠的階段;中:取值范圍是[3,7],發生時段:下階段;近:取值范圍是[7,10],發生時段:本階段。
2.5風險排序
對存在的風險進行研究,能夠大致掌握影響項目進程的風險因素,重點要區分好風險,以能夠將注意力全部集中到高風險當中。
可使用綜合指標-風險系數來明確項目風險優先級:風險系數高,那么就意味著優先級高。要根據風險系統的性能來做風險排序。計算公式為:RE(R)=Prob(R)×Loss(R)×Time(R)。
其中,RE(R)為風險發生的代價,可作為風險系數,Prob(R)表示的是風險出現的可能性,而Loss(R)表示的是風險出現的后果,而Time(R)代表的是風險出現時段。
3 風險控制
3.1風險管理策劃
在完成風險排序后,就要創建風險管理策略。通常,風險規避、轉移、控制是風險管理的主要策略。(1)風險規避:指的是更改要求,不過前提依然是要符合使用者的需求。風險規避主要是避免項目中出現風險,屬于主動的方式,而在進行風險規避的時候,要創建風險緩解方案。(2)風險轉移:對分配要求進行新的劃分,以降低風險所造成的影響,比如把高風險功能轉移到適合它的項目里。(3)風險控制:指的是采用合理方式減少風險出現的可能性。主要是通過創建風險緩解方案來避免出現風險,此外也可以通過創建應急預案來降低風險給軟件研發項目所造成的影響。
3.2風險緩解
如果風險高出了風險閾值,那么就要利用風險緩解方案。而且還要進行風險監管,以獲取到風險系數,若在執行了風險緩解方案后,使風險系數降低,那么就意味著緩解方案非常合理,然后要根據實際狀況來判斷是不是有必要接著執行緩解方案;若風險系統未降低,并且還升高的話,那么就意味著風險并未緩解,此時要重新創建緩解方案。
3.3風險監控
定期監控、節點監控是風險控制的重要構成部分。其中前者主要是以7天的頻度做風險監管;而節點監控是在還沒有進行階段/里程碑評審的時候對風險進行監控。風險監控具體流程為:(1)發現新的風險、研究風險,同時放進風險管控序列當中;(2)對所發現的風險進行新一次的研究,而對已出現的風險,則要清理出監管序列;(3)將風險監管序列里的全部風險做好排序;(4)按照所設立的風險管理閾值,來啟用風險緩解方案。
結束語:本文主要是對基于CMMI的軟件項目的風險準備、評估和控制三個層面的問題進行了分析,旨在通過詳細的分析,能夠使軟件研發公司完善研發方案,并做好風險管控工作,以此保證能夠研發出質量過關的軟件。
參考文獻:
[1]俞蔚.軟件項目管理中的風險識別與管理分析[J].中國新通信,2019,21(14):172.
[2]孟凡桐.軟件項目風險管理的研究[J].電腦與電信,2019(07):71-73.
[3]詹紅艷.軟件項目管理中風險控制策略研究[J].軟件,2019,40(06):230-232.
[4]蔡泉.軟件項目管理中的風險分析與管理[J].現代營銷(下旬刊),2018(12):108-109.
(沈陽東軟智睿放療技術有限公司,遼寧 沈陽110000)