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