另外,我們可以依據(jù)風(fēng)險條目檢查表,制作風(fēng)險控制概圖(見圖1),讓項目管理和實施人員能很直觀的看到在項目開發(fā)個階段的風(fēng)險存在狀況和各風(fēng)險的大小,并采取相應(yīng)措施。從風(fēng)險發(fā)生的概率來看,需求風(fēng)險和管理風(fēng)險對項目成敗影響大,當(dāng)一個軟件項目開發(fā)團(tuán)隊接手項目后,都是按照習(xí)慣性的方式來開發(fā)軟件。需求風(fēng)險意識比較淡薄,軟件需求分析階段的完成的不夠細(xì)致,忽略和很多軟件開發(fā)必要的內(nèi)容。在整個軟件開發(fā)過程中需求分析階段的風(fēng)險控制尤為重要,如果控制不好,對軟件開發(fā)項目影響巨大,甚至是失敗。管理風(fēng)險實際上是項目開發(fā)管理層,對項目開發(fā)的風(fēng)險的意識反映。國內(nèi)的軟件企業(yè)大多規(guī)模較小,企業(yè)年輕,開發(fā)經(jīng)驗不足,軟件工程師較年輕,缺少開大型軟件項目的經(jīng)驗,在管理方面缺少經(jīng)驗,特別是風(fēng)險管理,更是缺乏。
2、風(fēng)險管理
風(fēng)險管理應(yīng)是貫穿軟件項目開發(fā)始末的一項重要任務(wù),其中包括風(fēng)險識別、風(fēng)險評估、風(fēng)險計劃、風(fēng)險解決和風(fēng)險監(jiān)控。它能讓風(fēng)險管理者主動“規(guī)避”風(fēng)險,進(jìn)行有效的風(fēng)險管理。風(fēng)險管理模型有:SEI風(fēng)險管理模型、Riskit風(fēng)險管理模型、SoftRisk風(fēng)險管理模型、IEEE風(fēng)險管理過程模型、CMMI風(fēng)險管理模型、MSF風(fēng)險管理模型等。在項目管理中,建立風(fēng)險管理策略,在項目的生命周期中不斷控制風(fēng)險是非常重要的,風(fēng)險管理主要包括五個階段:
(1)風(fēng)險識別:識別風(fēng)險的方法常用的有現(xiàn)場觀察法、座談法、流程圖法、財務(wù)報表法、相關(guān)部門配合法和環(huán)境分析法等。
(2) 風(fēng)險評估:對已識別的風(fēng)險要進(jìn)行估計和評價,風(fēng)險估計的主要任務(wù)是確定風(fēng)險發(fā)生的概率與后果,風(fēng)險評價則是確定該風(fēng)險的經(jīng)濟(jì)意義及處理的費/效分析,常用的方法有:概率分布、外推法、多目標(biāo)分析法等。
(3) 計劃進(jìn)度:按照評估后的風(fēng)險結(jié)果,制定相應(yīng)的風(fēng)險管理進(jìn)度表,為后續(xù)的風(fēng)險管理提供參考。
(4) 風(fēng)險處理:一般而言,風(fēng)險處理有三種方法,① 風(fēng)險控制法,即主動采取措施避免風(fēng)險,消滅風(fēng)險,中和風(fēng)險或采用緊急方案降低風(fēng)險。② 風(fēng)險自留,當(dāng)風(fēng)險量不大時可以余留風(fēng)險。③ 風(fēng)險轉(zhuǎn)移。
(5) 風(fēng)險監(jiān)控:包括對風(fēng)險發(fā)生的監(jiān)督和對風(fēng)險管理的監(jiān)督,前者是對已識別的風(fēng)險源進(jìn)行監(jiān)視和控制,后者是在項目實施過程中監(jiān)督人們認(rèn)真執(zhí)行風(fēng)險管理的組織和技術(shù)措施。
3、風(fēng)險控制
(1)建立有效的風(fēng)險控制的組織機(jī)構(gòu)
①設(shè)置風(fēng)險管理崗位:在軟件開發(fā)項目管理過程中設(shè)置風(fēng)險管理崗位,該崗位的主要職責(zé)是在制訂與評估規(guī)劃時,從風(fēng)險管理的角度對項目規(guī)劃或計劃進(jìn)行審核并發(fā)表意見,不斷尋找可能出現(xiàn)的任何意外情況,試著指出各個風(fēng)險的管理策略及常用的管理方法,以隨時處理出現(xiàn)的風(fēng)險,風(fēng)險管理者好是由項目主管以外的人擔(dān)任。風(fēng)險管理崗位的人數(shù)依據(jù)項目大小來決定,一般2—3人較為適合。
②雙項目經(jīng)理:為項目開發(fā)項目設(shè)定兩個項目經(jīng)理崗位,一個負(fù)責(zé)技術(shù)崗位,另一個負(fù)責(zé)管理崗位。目前,國內(nèi)的軟件開發(fā)企業(yè)的項目經(jīng)理一般都是一名,而且是技術(shù)出生的占多數(shù),他們主要擅長的是技術(shù)研發(fā),在管理方面先天不足,這不利于項目風(fēng)險管理和控制。通過增加專門的管理經(jīng)理崗位,可以彌補(bǔ)技術(shù)出生的項目經(jīng)理的不足,提升軟件開發(fā)項目的管理水平。而且這樣的經(jīng)驗也已得到了國外業(yè)界大多企業(yè)的認(rèn)可。
(2) 建立有效的風(fēng)險控制管理過程
風(fēng)險管理過程包括培訓(xùn),風(fēng)險識別、風(fēng)險分析、風(fēng)險計劃、執(zhí)行計劃、跟蹤計劃等活動,有效的風(fēng)險管理過程應(yīng)是學(xué)習(xí)型的、持續(xù)的和不斷改進(jìn)的。軟件企業(yè)應(yīng)建立自己的風(fēng)險管理數(shù)據(jù)庫作為風(fēng)險管理的基礎(chǔ),并在實施中不斷地更新和完善。
根據(jù)企業(yè)和項目的實際情況,進(jìn)行科學(xué)的項目風(fēng)險和控制,對項目的成功研發(fā)有著舉足輕重的意義。在項目開發(fā)的過程中,進(jìn)行必要的項目風(fēng)險分析,制定符合項目特點的風(fēng)險評估和監(jiān)督機(jī)制,特別是要定期對項目的風(fēng)險狀況進(jìn)行評估和監(jiān)管,發(fā)現(xiàn)意外風(fēng)險或者是風(fēng)險超出預(yù)期的一定要重點關(guān)照。發(fā)現(xiàn)問題要立即上報,盡快解決。并建立風(fēng)險監(jiān)管日志,實行“崗位負(fù)責(zé)制”,將軟件開發(fā)項目的風(fēng)險降到低。