一般來(lái)說(shuō),軟件工程師總是非常樂(lè)觀。當(dāng)他們?cè)谟?jì)劃軟件項(xiàng)目時(shí),經(jīng)常認(rèn)為每件事情都會(huì)像計(jì)劃那樣運(yùn)行,或者,又會(huì)走向另外一個(gè)極端。軟件開(kāi)發(fā)的創(chuàng)造性本質(zhì)意味著我們不能完全預(yù)測(cè)會(huì)發(fā)生的事情,因此制定一個(gè)詳細(xì)計(jì)劃的關(guān)鍵點(diǎn)很難確定。當(dāng)有預(yù)想不到的事情引起項(xiàng)目脫離正常軌道時(shí),以上兩種觀點(diǎn)都會(huì)導(dǎo)致軟件項(xiàng)目的失敗。
目前,風(fēng)險(xiǎn)管理被認(rèn)為是IT軟件項(xiàng)目中減少失敗的一種重要手段。當(dāng)不能很確定地預(yù)測(cè)將來(lái)事情的時(shí)候,可以采用結(jié)構(gòu)化風(fēng)險(xiǎn)管理來(lái)發(fā)現(xiàn)計(jì)劃中的缺陷,并且采取行動(dòng)來(lái)減少潛在問(wèn)題發(fā)生的可能性和影響。風(fēng)險(xiǎn)管理意味著危機(jī)還沒(méi)有發(fā)生之前就對(duì)它進(jìn)行處理。這就提高了項(xiàng)目成功的機(jī)會(huì)和減少了不可避免風(fēng)險(xiǎn)所產(chǎn)生的后果。
1 什么是風(fēng)險(xiǎn)
所謂“風(fēng)險(xiǎn)”,歸納起來(lái)主要有兩種意見(jiàn),主觀說(shuō)認(rèn)為,風(fēng)險(xiǎn)是損失的不確定性;客觀學(xué)認(rèn)為,風(fēng)險(xiǎn)是給定情況下一定時(shí)期可能發(fā)生的各種結(jié)果間的差異。它的兩個(gè)基本特征是不確定性和損失。IT行業(yè)中的軟件項(xiàng)目開(kāi)發(fā)是一項(xiàng)可能損失的活動(dòng),不管開(kāi)發(fā)過(guò)程如何進(jìn)行都有可能超出預(yù)算或時(shí)間延遲。項(xiàng)目開(kāi)發(fā)的方式很少能保證開(kāi)發(fā)工作一定成功,都要冒一定的風(fēng)險(xiǎn),也就需要進(jìn)行項(xiàng)目風(fēng)險(xiǎn)分析。在進(jìn)行項(xiàng)目風(fēng)險(xiǎn)分析時(shí),重要的是要量化不確定的程度和每個(gè)風(fēng)險(xiǎn)相當(dāng)?shù)膿p失程度,為實(shí)現(xiàn)這一點(diǎn)就必須要考慮以下問(wèn)題:
要考慮未來(lái),什么樣的風(fēng)險(xiǎn)會(huì)導(dǎo)致軟件項(xiàng)目失敗?
要考慮變化,在用戶需求、開(kāi)發(fā)技術(shù)、目標(biāo)、機(jī)制及其它與項(xiàng)目有關(guān)的因素的改變將會(huì)對(duì)按時(shí)交付和系統(tǒng)成功產(chǎn)生什么影響?
必須解決選擇問(wèn)題,應(yīng)采用什么方法和工具,應(yīng)配備多少人力,在質(zhì)量上強(qiáng)調(diào)到什么程度才滿足要求?
要考慮風(fēng)險(xiǎn)類型,是屬于項(xiàng)目風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、商業(yè)風(fēng)險(xiǎn)、管理風(fēng)險(xiǎn)還是預(yù)算風(fēng)險(xiǎn)等?
這些潛在的問(wèn)題可能會(huì)對(duì)軟件項(xiàng)目的計(jì)劃、成本、技術(shù)、產(chǎn)品的質(zhì)量及團(tuán)隊(duì)的士氣都有負(fù)面的影響。風(fēng)險(xiǎn)管理就是在這些潛在的問(wèn)題對(duì)項(xiàng)目造成破壞之前識(shí)別、處理和排除。
2 風(fēng)險(xiǎn)管理
項(xiàng)目風(fēng)險(xiǎn)管理實(shí)際上就是貫穿在項(xiàng)目開(kāi)發(fā)過(guò)程中的一系列管理步驟,其中包括風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)估計(jì)、風(fēng)險(xiǎn)管理策略、風(fēng)險(xiǎn)解決和風(fēng)險(xiǎn)監(jiān)控。它能讓風(fēng)險(xiǎn)管理者主動(dòng)“攻擊”風(fēng)險(xiǎn),進(jìn)行有效的風(fēng)險(xiǎn)管理。
在項(xiàng)目管理中,建立風(fēng)險(xiǎn)管理策略和在項(xiàng)目的生命周期中不斷控制風(fēng)險(xiǎn)是非常重要的,風(fēng)險(xiǎn)管理包括四個(gè)相關(guān)階段:
風(fēng)險(xiǎn)識(shí)別 識(shí)別風(fēng)險(xiǎn)的方法常用的有風(fēng)險(xiǎn)識(shí)別問(wèn)詢法(座談法、專家法)、財(cái)務(wù)報(bào)表法、流程圖法、現(xiàn)場(chǎng)觀察法、相關(guān)部門配合法和環(huán)境分析法等。
風(fēng)險(xiǎn)評(píng)估 對(duì)已識(shí)別的風(fēng)險(xiǎn)要進(jìn)行估計(jì)和評(píng)價(jià),風(fēng)險(xiǎn)估計(jì)的主要任務(wù)是確定風(fēng)險(xiǎn)發(fā)生的概率與后果,風(fēng)險(xiǎn)評(píng)價(jià)則是確定該風(fēng)險(xiǎn)的經(jīng)濟(jì)意義及處理的費(fèi)/效分析,常用的方法有:概率分布、外推法、多目標(biāo)分析法等。
風(fēng)險(xiǎn)處理 一般而言,風(fēng)險(xiǎn)處理有三種方法,①風(fēng)險(xiǎn)控制法,即主動(dòng)采取措施避免風(fēng)險(xiǎn),消滅風(fēng)險(xiǎn),中和風(fēng)險(xiǎn)或采用緊急方案降低風(fēng)險(xiǎn)。②風(fēng)險(xiǎn)自留,當(dāng)風(fēng)險(xiǎn)量不大時(shí)可以余留風(fēng)險(xiǎn)。③風(fēng)險(xiǎn)轉(zhuǎn)移。
風(fēng)險(xiǎn)監(jiān)控 包括對(duì)風(fēng)險(xiǎn)發(fā)生的監(jiān)督和對(duì)風(fēng)險(xiǎn)管理的監(jiān)督,前者是對(duì)已識(shí)別的風(fēng)險(xiǎn)源進(jìn)行監(jiān)視和控制,后者是在項(xiàng)目實(shí)施過(guò)程中監(jiān)督人們認(rèn)真執(zhí)行風(fēng)險(xiǎn)管理的組織和技術(shù)措施。
在IT軟件項(xiàng)目管理中,應(yīng)該任命一名風(fēng)險(xiǎn)管理者,該管理者的主要職責(zé)是在制訂與評(píng)估規(guī)劃時(shí),從風(fēng)險(xiǎn)管理的角度對(duì)項(xiàng)目規(guī)劃或計(jì)劃進(jìn)行審核并發(fā)表意見(jiàn),不斷尋找可能出現(xiàn)的任何意外情況,試著指出各個(gè)風(fēng)險(xiǎn)的管理策略及常用的管理方法,以隨時(shí)處理出現(xiàn)的風(fēng)險(xiǎn),風(fēng)險(xiǎn)管理者最好是由項(xiàng)目主管以外的人擔(dān)任。
3 風(fēng)險(xiǎn)識(shí)別
風(fēng)險(xiǎn)識(shí)別就是企圖采用系統(tǒng)化的方法,識(shí)別某特定項(xiàng)目已知的和可預(yù)測(cè)的風(fēng)險(xiǎn)。常用方法是建立“風(fēng)險(xiǎn)條目檢查表”,利用一組提問(wèn)來(lái)幫助項(xiàng)目風(fēng)險(xiǎn)管理者了解在項(xiàng)目和技術(shù)方面有些風(fēng)險(xiǎn)。在“風(fēng)險(xiǎn)條目檢查