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