王蔚
(北京太極信息系統(tǒng)技術(shù)有限公司,北京 100102)
軟件項目開發(fā)過程十分復(fù)雜,從項目啟動到完成受多種不確定性因素的影響,面臨諸多風(fēng)險。在軟件項目管理過程中,為了實施有效的風(fēng)險管理活動,需要對可能出現(xiàn)的風(fēng)險進行識別和評估。這就需要研究有效的軟件項目風(fēng)險評估方法,為項目管理人員制訂風(fēng)險控制計劃、實施項目管理活動提供支撐。
目前,常用的風(fēng)險評估方法很多,且各有特色。其中,專家打分法應(yīng)用廣泛,是一種行之有效的評估方法,但也存在一定的局限性:一是受主觀因素的影響;二是需要解決多指標(biāo)的綜合決策問題。
本研究在建立風(fēng)險評估指標(biāo)體系的基礎(chǔ)上,針對專家打分法中的主觀影響問題和多指標(biāo)綜合決策問題,將熵權(quán)TOPSIS方法應(yīng)用于軟件項目風(fēng)險評估,基本思路是:引入熵權(quán)法EWM確定指標(biāo)權(quán)重,減少指標(biāo)權(quán)重的主觀因素影響;采用優(yōu)劣解距離法TOPSIS對軟件項目多種風(fēng)險指標(biāo)進行綜合評價,解決多屬性決策問題。
常用的風(fēng)險評估方法可以分為三大類:定性評估方法、定量評估方法、定性與定量相結(jié)合的評估方法,如圖1所示。
定性評估方法主要是依據(jù)研究者的知識及經(jīng)驗等非量化信息對系統(tǒng)的風(fēng)險狀況做出判斷,包括風(fēng)險矩陣法、故障樹分析法、歷史比較法、德爾菲法等。定量評估方法運用數(shù)量指標(biāo)對風(fēng)險進行評估,包括聚類分析法、模糊綜合評價法。定性與定量相結(jié)合的評估方法結(jié)合定性評估、定量評估兩種方法的特征,包括專家評分法、灰色系統(tǒng)理論法、層次分析法。各種風(fēng)險評估方法的特點與適用范圍均有所不同,其中專家打分法在風(fēng)險評估中應(yīng)用廣泛。
很多學(xué)者對軟件項目風(fēng)險評估指標(biāo)體系建立和評估方法進行了研究,并將其他領(lǐng)域一些經(jīng)典、成熟的風(fēng)險評估方法應(yīng)用于軟件項目風(fēng)險評估,取得了一系列成果。例如,楊國有[1]提出了一種軟件項目風(fēng)險評估指標(biāo)體系的建立方法;蔡玲[2]將Kano模型應(yīng)用于軟件項目風(fēng)險管理;唐愛國等[3]將貝葉斯網(wǎng)絡(luò)應(yīng)用于軟件項目風(fēng)險評估;邱繼棟[4]提出了處理基于AHP的軍工信息系統(tǒng)軟件科研項目風(fēng)險評估方法;趙川、賀永會等[5-6]將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于軟件項目風(fēng)險評估;潘梅森等[7]提出了基于LVQ的軟件項目風(fēng)險評估模型的建立方法;蘭芳、李偉濤等[8-9]將灰色系統(tǒng)理論應(yīng)用于軟件項目風(fēng)險評估。此外,還有眾多文獻[10-15]將模糊理論應(yīng)用于軟件項目風(fēng)險評估。
開展軟件項目風(fēng)險管理,其目的是在風(fēng)險發(fā)生之前識別出潛在的問題,以便在項目的整個生命周期中規(guī)劃風(fēng)險管理活動,并在必要時啟動這些活動,以緩解和消除風(fēng)險的不利影響。
風(fēng)險管理的通用框架如圖2所示,過程主要包括風(fēng)險規(guī)劃、風(fēng)險評估、風(fēng)險應(yīng)對和風(fēng)險監(jiān)控。風(fēng)險評估又包括風(fēng)險識別、風(fēng)險分析和風(fēng)險評價。
風(fēng)險識別是指發(fā)現(xiàn)、確認和描述風(fēng)險的過程。風(fēng)險識別的常用方法包括頭腦風(fēng)暴法和風(fēng)險檢查單法。軟件項目典型的風(fēng)險源包括:需求不確定或變化頻繁;設(shè)計過于簡單或復(fù)雜;使用的技術(shù)方法不熟悉;由于無先例而不能有效地估計工作量;項目人員新人多、缺乏經(jīng)驗;開發(fā)環(huán)境或測試環(huán)境未及時到位;供方?jīng)]有按期交付組件或質(zhì)量不過關(guān);需方溝通欠缺;運行的連續(xù)性被破壞等。
風(fēng)險分析是對風(fēng)險發(fā)生的概率、后果和敏感性等進行分析,以便為風(fēng)險評價和應(yīng)對提供必要信息。
風(fēng)險評價確定風(fēng)險等級,對諸項風(fēng)險進行排序,以便制定風(fēng)險應(yīng)對優(yōu)先序策略。
軟件項目面臨多種風(fēng)險,分類管理是一種有效的管理手段。采用分類的風(fēng)險管理方式,有助于整合風(fēng)險緩沖計劃的各項活動。
風(fēng)險可按多種方式進行分類,如圖3所示。項目可根據(jù)自身特點選擇合適的風(fēng)險分類方法,也可根據(jù)需要建立自己的風(fēng)險分類方法。
本文從便于整合各項風(fēng)險緩解計劃活動的角度出發(fā),參考行業(yè)風(fēng)險清單,按項目風(fēng)險源類別建立軟件項目風(fēng)險評價指標(biāo)體系,如圖4所示。
本文提出的基于熵權(quán)TOPSIS的軟件項目風(fēng)險評估方法,是一種改進的專家評分法。該方法以專家評分法為基礎(chǔ),引入熵權(quán)法EWM設(shè)置評價指標(biāo)的權(quán)重,以減少指標(biāo)權(quán)重的主觀因素影響,并采用優(yōu)劣解距離法TOPSIS對軟件項目風(fēng)險進行綜合評價。
本方法引入熵權(quán)法EWM設(shè)置評價指標(biāo)的權(quán)重。熵權(quán)法是一種客觀賦權(quán)法,用以減少指標(biāo)權(quán)重的主觀因素影響。
熵權(quán)法是基于信息熵原理提出的一種客觀確定評價指標(biāo)權(quán)重的方法。信息熵是信息論中描述不確定性的量,是系統(tǒng)無序程度的度量,由信息論創(chuàng)始人C.E.Shannon提出。信息熵越小,不確定性越小,相應(yīng)信息的效用越大;反之,信息熵越大,不確定性越大,相應(yīng)信息的效用越小。將該原理應(yīng)用到系統(tǒng)評價中確定權(quán)重,就是熵權(quán)法。運用熵權(quán)法確定權(quán)重時,某評價指標(biāo)的信息熵越小,評價作用越大,因而所賦予的權(quán)重應(yīng)該越大。與人為設(shè)置指標(biāo)權(quán)重不同,熵權(quán)法根據(jù)評價數(shù)據(jù)來相對客觀地設(shè)置權(quán)重。
熵權(quán)法的處理步驟如下。
3.1.1 數(shù)據(jù)標(biāo)準(zhǔn)化處理
根據(jù)原始風(fēng)險值對數(shù)據(jù)進行標(biāo)準(zhǔn)化處理。設(shè)確定的風(fēng)險評價指標(biāo)有n個、被評項目有m個,初始評價值矩陣為
V=(vij)m×n(i=1,2,…,m;j=1,2,…,n)
式中,vij表示原始的風(fēng)險值,取值1~10。風(fēng)險值越大,表示風(fēng)險越大。
標(biāo)準(zhǔn)化處理的方式為:采用最大最小歸一化方法,將原始數(shù)據(jù)轉(zhuǎn)換到[0,1]的范圍。風(fēng)險值為反向指標(biāo),歸一化公式為
V*=(vij*)m×n
其中
3.1.2 各指標(biāo)的信息熵計算
根據(jù)信息論中信息熵的定義計算各指標(biāo)的信息熵,計算公式如下
其中
當(dāng)pij=0時,令pijln(pij)=0。
3.1.3 各指標(biāo)熵權(quán)確定
確定各指標(biāo)的熵權(quán)如下
計算所有指標(biāo)的熵權(quán),得出評價指標(biāo)的權(quán)重列向量。計算公式如下
W=(w1,w2,…,wn)T
獲得的熵權(quán)可以用于計算TOPSIS中的加權(quán)優(yōu)劣解距離,也可以直接計算加權(quán)風(fēng)險值。
直接計算加權(quán)風(fēng)險值的方式是:根據(jù)原始評風(fēng)險值表,乘以指標(biāo)熵權(quán),得到調(diào)整權(quán)重后的風(fēng)險值,即加權(quán)風(fēng)險值,如下
Y=(yij)m×n=(vijwj)m×n
根據(jù)加權(quán)風(fēng)險值可以對各項目的不同風(fēng)險進行排序,為制訂風(fēng)險緩解計劃提供依據(jù)。
在本方法中,熵權(quán)將用于TOPSIS方法中各評價對象與正、負理想解距離的計算。
本方法采用熵權(quán)TOPSIS法進行軟件項目風(fēng)險的綜合評估。TOPSIS是逼近理想解排序法,又稱為優(yōu)劣解距離法,是一種多屬性決策法。TOPSIS法根據(jù)評價對象與理想解的接近程度判斷優(yōu)劣,其具體步驟是:①構(gòu)造正、負理想解;②計算各評價對象與正、負理想解之間的歐氏距離,得出評價對象與正理想解的接近程度,并以此作為評價依據(jù)。
TOPSIS主要用于解決多屬性決策問題,其基本思路是將多屬性綜合為單一屬性進行排序,進而得到最優(yōu)方案。將TOPSIS和熵權(quán)相結(jié)合即得到一個既有客觀的指標(biāo)權(quán)重又有多屬性決策的評估方法——熵權(quán)TOPSIS法。熵權(quán)TOPSIS法的處理步驟如下。
3.2.1 原始數(shù)據(jù)正向化
正向化是指將極小型指標(biāo)、中間型指標(biāo)、區(qū)間型指標(biāo)對應(yīng)的數(shù)據(jù)全部轉(zhuǎn)化成極大型指標(biāo),便于統(tǒng)一計算和處理。極大型指標(biāo)也稱為效益型指標(biāo),指標(biāo)越大越好;極小型指標(biāo)也稱為成本型指標(biāo),指標(biāo)越小越好。在軟件項目風(fēng)險評估中,風(fēng)險值是極小型指標(biāo)。極小型指標(biāo)轉(zhuǎn)換為極大型指標(biāo)的公式如下
x*=max-x
將原始風(fēng)險值矩陣V進行正向化處理,得到正向風(fēng)險值矩陣如下
X=(xij)m×n;xij=max(v1j,v2j,…,vmj)-vij;(i=1,2,…,m;j=1,2,…,n)
3.2.2 正向風(fēng)險值矩陣標(biāo)準(zhǔn)化
標(biāo)準(zhǔn)化是指通過標(biāo)準(zhǔn)化消除量綱的影響。在本軟件項目風(fēng)險評估方法中,風(fēng)險值量綱統(tǒng)一,可以省略標(biāo)準(zhǔn)化步驟。但出于通用性考慮,本方法仍保留標(biāo)準(zhǔn)化步驟。
將正向風(fēng)險值矩陣X進行標(biāo)準(zhǔn)化處理,得到標(biāo)準(zhǔn)化的正向風(fēng)險值矩陣Z如下
3.2.3 加權(quán)距離計算
計算各被評項目與正理想解和負理想解的加權(quán)距離,步驟如下:
(1)確定正負理想解。
正理想解是由Z矩陣中每列元素中的最大值組成的向量,如下
負理想解是由Z矩陣中每列元素中的最小值組成的向量
(2)計算加權(quán)距離。加權(quán)距離反映方案之間的接近程度。各被評項目與正理想解的加權(quán)距離為
各被評項目與負理想解的加權(quán)距離為
式中,i表示第i個被評項目;j表示第j個指標(biāo);wj是第j個指標(biāo)的權(quán)重,由上節(jié)所述熵權(quán)法獲得。
3.2.4 計算各被評項目的綜合評分
至此完成被評項目的綜合評分,得分越大,越接近正理想解。
下面以對某企業(yè)對8個軟件研發(fā)項目的風(fēng)險評估為例對本文方法進行分析。
實例中軟件項目原始風(fēng)險值見表1,其中R1~R10分別對應(yīng)軟件項目風(fēng)險評價指標(biāo)體系的10項指標(biāo)。根據(jù)原始數(shù)據(jù)計算得到的風(fēng)險評估指標(biāo)的信息熵和熵權(quán)見表2。經(jīng)過正向化和標(biāo)準(zhǔn)化處理的風(fēng)險見表3。軟件項目與正、負理想解的距離和風(fēng)險綜合評分見表4。
表1 軟件項目原始風(fēng)險值
表2 指標(biāo)信息熵和熵權(quán)表
表3 標(biāo)準(zhǔn)化的正向風(fēng)險表
表4 軟件項目與正負理想解的距離和風(fēng)險綜合評分表
通過實例結(jié)果可以看出,項目4綜合評分最高,風(fēng)險最小;項目7綜合評分最低,風(fēng)險最大。在算法方面,從表2中指標(biāo)的信息熵和熵權(quán)可以看出,指標(biāo)權(quán)重根據(jù)指標(biāo)的信息熵而得到,其中信息熵值最小、不確定性最低的指標(biāo)R8得到的權(quán)重最高。
需要說明的是,為便于展示與分析,本實例選用風(fēng)險值作為原始數(shù)據(jù)。在實際應(yīng)用時,指標(biāo)根據(jù)需要設(shè)置成不同類型,通過相應(yīng)的正向化和標(biāo)準(zhǔn)化處理形成評價矩陣。
本文提出的基于熵權(quán)TOPSIS的軟件項目風(fēng)險評估方法,從便于整合各項風(fēng)險緩解計劃活動的角度出發(fā),建立了軟件項目風(fēng)險評價指標(biāo)體系。在評估方法方面,將熵權(quán)TOPSIS法應(yīng)用于軟件項目風(fēng)險評估。從整體來看,熵權(quán)TOPSIS法將TOPSIS和熵權(quán)相結(jié)合,是一種既有客觀指標(biāo)權(quán)重又有多屬性決策的評估方法。
實例分析表明,熵權(quán)法根據(jù)指標(biāo)的熵權(quán)確定權(quán)重,在一定程度上減少了主觀因素的影響。TOPSIS法較有效地將多種風(fēng)險指標(biāo)綜合成單一評分屬性,便于軟件項目風(fēng)險的擇優(yōu)與排序。但有兩點值得注意:一是通過多種比較試驗可以看出,雖然不同的數(shù)據(jù)標(biāo)準(zhǔn)化處理方式對熵權(quán)和綜合評分具有不同的影響,但是整體評估結(jié)果基本相符;二是由于指標(biāo)權(quán)重完全由數(shù)據(jù)決定,特殊情況下通過信息熵得到的權(quán)重可能與平時的直觀認識有所不同。