與客戶相關(guān)的風(fēng)險因素有:(1)對產(chǎn)品缺少清晰的認(rèn)識,(2)對產(chǎn)品需求缺少認(rèn)同,(3)在做需求中客戶參與不夠,(4)沒有優(yōu)先需求,(5)由于不確定的需要導(dǎo)致新的市場,(6)不斷變化需求,(7)缺少有效的需求變化管理過程,(8)對需求的變化缺少相關(guān)分析等。
3、 相關(guān)性風(fēng)險
許多風(fēng)險都是因為項目的外部環(huán)境或因素的相關(guān)性產(chǎn)生的。經(jīng)常我們在控制外部的相關(guān)性上做的不夠,因此緩解策略應(yīng)該包括可能性計劃,以便從第二資源或協(xié)同工作資源中取得必要的組成部分,并且覺察潛在的問題。與外部環(huán)境相關(guān)的因素有:(1)客戶供應(yīng)條目或信息,(2)交互成員或交互團(tuán)體依賴性,(3)內(nèi)部或外部轉(zhuǎn)包商的關(guān)系,(4)經(jīng)驗豐富人員的可得性,(5)項目的復(fù)用性。
4、 技術(shù)風(fēng)險
軟件技術(shù)的飛速發(fā)展和經(jīng)驗豐富員工的缺乏,意味著項目團(tuán)隊可能會因為技巧的原因影響項目的成功。在早期,識別風(fēng)險從而采取合適的預(yù)防措施是解決風(fēng)險領(lǐng)域問題的關(guān)鍵,比如:培訓(xùn)、聘請顧問以及為項目團(tuán)隊招聘合適的人才等。主要有下面這些風(fēng)險因素:(1)缺乏培訓(xùn),(2)對方法、工具和技術(shù)理解的不夠,(3)應(yīng)用領(lǐng)域的經(jīng)驗不足,(4)新的技術(shù)和開發(fā)方法應(yīng)用等。
5、 管理風(fēng)險
盡管管理問題制約了很多項目的成功,但是不要因為風(fēng)險管理計劃中沒有包括所有管理活動而感到驚奇。在大部分項目里,項目經(jīng)理經(jīng)常是寫項目風(fēng)險管理計劃的人,他們有先天性的不足——自己檢查自己的錯誤,這是最難的。然而,像這些問題可能會使項目的成功變得更加困難。如果不正視這些棘手的問題,它們就很有可能在項目進(jìn)行的某個階段影響項目本身。當(dāng)我們定義了項目追蹤過程并且明晰項目角色和責(zé)任,就能處理這些風(fēng)險因素:(1)計劃和任務(wù)定義不夠充分,(2)實際項目狀態(tài),(3)項目所有者和決策者分不清,(4)不切實際的承諾,(5)員工之間的溝通等。
6、 安全風(fēng)險
軟件產(chǎn)品本身是屬于創(chuàng)造性的產(chǎn)品,產(chǎn)品本身的核心技術(shù)保密非常重要。但一直以來,我們在軟件這方面的安全意識比較淡薄,對軟件產(chǎn)品的開發(fā)主要注重技術(shù)本身,而忽略了專利的保護(hù)。軟件行業(yè)的技術(shù)人員流動是很普遍的現(xiàn)象,隨著技術(shù)人員的流失、變更,很能會導(dǎo)致產(chǎn)品和新技術(shù)的泄密,致使我們的軟件產(chǎn)品被它公司竊取,導(dǎo)致項目失敗。而且在軟件方面關(guān)于知識產(chǎn)權(quán)的認(rèn)定目前還沒有明確的一個行業(yè)規(guī)范,這也是我們軟件項目潛在的風(fēng)險。
三、 風(fēng)險的分析、管理與控制
1、風(fēng)險分析
以上所說的各類風(fēng)險都是項目成敗的巨大隱患,它們對軟件開發(fā)項目的成敗有多大影響,我們可以利用風(fēng)險分析工具,對以上各類風(fēng)險進(jìn)行分析,并加以控制和管理,將風(fēng)險將到最低。常用方法有風(fēng)險條目檢查表,它是利用一組提問來幫助項目風(fēng)險管理者了解在項目和技術(shù)方面有哪些風(fēng)險。在風(fēng)險條目檢查表中,列出了所有可能的與每一個風(fēng)險因素有關(guān)的提問,使得風(fēng)險管理者集中來識別常見的、已知的和可預(yù)測的風(fēng)險,如產(chǎn)品規(guī)模風(fēng)險、依賴性風(fēng)險、需求風(fēng)險、管理風(fēng)險及技術(shù)風(fēng)險等。 風(fēng)險條目檢查表可以不同的方式組織,通過假設(shè)分析、成本效益分析、風(fēng)險剖面分析、判定樹等,給出這些提問確定的回答,就可以幫助
項目管理人員估算風(fēng)險的影響。
另外,我們可以依據(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ì)意義及處理的費(fèi)/效分析,常用的方法有:概率分布、外推法、多目標(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)險降到最低。