軟件項(xiàng)目風(fēng)險(xiǎn)管理控制措施
時(shí)間:2022-05-17 10:45:21
導(dǎo)語:軟件項(xiàng)目風(fēng)險(xiǎn)管理控制措施一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:軟件項(xiàng)目開發(fā)需要投入大量的人力、物力和財(cái)力,但在開發(fā)的過程中存在著諸多不確定性和可變性,因而有必要對(duì)軟件項(xiàng)目風(fēng)險(xiǎn)進(jìn)行管理與控制。本文通過對(duì)軟件項(xiàng)目全程的風(fēng)險(xiǎn)識(shí)別、分析、應(yīng)對(duì)及監(jiān)測(cè),在項(xiàng)目開發(fā)各階段積極做好風(fēng)險(xiǎn)防控工作,以達(dá)到降低項(xiàng)目風(fēng)險(xiǎn)、減少風(fēng)險(xiǎn)損失的目的。
關(guān)鍵詞:軟件項(xiàng)目開發(fā);風(fēng)險(xiǎn)管理;風(fēng)險(xiǎn)防控
1引言
風(fēng)險(xiǎn)是指在某項(xiàng)活動(dòng)開展的過程中,一些突發(fā)的、不確定的因素對(duì)活動(dòng)參與者造成損害、對(duì)自然環(huán)境造成破壞的概率[1]。與其他工程項(xiàng)目一樣,軟件項(xiàng)目的開發(fā)也存在著各種各樣的風(fēng)險(xiǎn),如項(xiàng)目資金透支、工期延長(zhǎng)、系統(tǒng)不能滿足需求等。因而在軟件開發(fā)的過程中,做好風(fēng)險(xiǎn)管理將有助于降低開發(fā)風(fēng)險(xiǎn),保證開發(fā)質(zhì)量。
2軟件項(xiàng)目風(fēng)險(xiǎn)分類
2.1技術(shù)風(fēng)險(xiǎn)
軟件在分析、設(shè)計(jì)、測(cè)試及實(shí)施過程中,可能發(fā)生的潛在技術(shù)問題給軟件項(xiàng)目帶來的危害稱為技術(shù)風(fēng)險(xiǎn),如采用了陳舊或尚不成熟的技術(shù)、系統(tǒng)文檔編制不規(guī)范等。
2.2管理風(fēng)險(xiǎn)
管理風(fēng)險(xiǎn)是指由于項(xiàng)目在預(yù)算、人員、進(jìn)度、資源等方面缺乏計(jì)劃、控制與管理,從而對(duì)軟件項(xiàng)目產(chǎn)生的不良影響。
2.3商業(yè)風(fēng)險(xiǎn)
商業(yè)風(fēng)險(xiǎn)又稱為市場(chǎng)風(fēng)險(xiǎn),包括開發(fā)出來的軟件產(chǎn)品不符合市場(chǎng)需求、對(duì)軟件產(chǎn)品定位不清從而缺乏市場(chǎng)競(jìng)爭(zhēng)力、市場(chǎng)競(jìng)品較多競(jìng)爭(zhēng)激烈等。
2.4安全風(fēng)險(xiǎn)
安全風(fēng)險(xiǎn)主要包括自然風(fēng)險(xiǎn)、人為風(fēng)險(xiǎn)、外部環(huán)境風(fēng)險(xiǎn),如盜版、病毒等。
3軟件項(xiàng)目風(fēng)險(xiǎn)管理步驟
3.1風(fēng)險(xiǎn)識(shí)別
風(fēng)險(xiǎn)識(shí)別階段需要識(shí)別出哪些風(fēng)險(xiǎn)會(huì)影響軟件項(xiàng)目的開發(fā),包括這些風(fēng)險(xiǎn)的類別、因素、出處、后果等內(nèi)容[2]。風(fēng)險(xiǎn)識(shí)別的常用方法包括以下幾種。(1)專家調(diào)查法。就軟件項(xiàng)目開發(fā)風(fēng)險(xiǎn)問題,征詢項(xiàng)目相關(guān)行業(yè)領(lǐng)域?qū)<业囊庖?,將收集到的意見和建議整理形成報(bào)告,隨后將報(bào)告發(fā)送給各位專家再次進(jìn)行征詢。如此反復(fù),經(jīng)歷數(shù)輪后,當(dāng)專家們的意見趨于一致時(shí)就可得出最后結(jié)論。(2)頭腦風(fēng)暴法。將項(xiàng)目開發(fā)小組成員、立項(xiàng)單位代表、邀請(qǐng)的專家顧問召集起來,通過會(huì)議的方式,就項(xiàng)目開發(fā)風(fēng)險(xiǎn)展開討論交流,以期對(duì)項(xiàng)目風(fēng)險(xiǎn)進(jìn)行準(zhǔn)確識(shí)別、分析和預(yù)測(cè)。(3)風(fēng)險(xiǎn)檢測(cè)表法。設(shè)計(jì)并使用各類條目式風(fēng)險(xiǎn)檢測(cè)表,幫助項(xiàng)目小組識(shí)別各種風(fēng)險(xiǎn)。如開發(fā)人員風(fēng)險(xiǎn)檢測(cè)表,可以羅列出諸如開發(fā)人員技術(shù)水平如何、開發(fā)人員是否具有類似項(xiàng)目開發(fā)經(jīng)驗(yàn)、開發(fā)人員的人數(shù)是否合適、開發(fā)人員是否能夠自始至終地參加軟件開發(fā)工作、開發(fā)人員是否能集中全部精力投入軟件開發(fā)工作、開發(fā)人員是否接受過必要的培訓(xùn)、開發(fā)人員的人員流動(dòng)是否能保證工作的連續(xù)性等條目。通過對(duì)這些問題的分析與回答,可以識(shí)別出人員因素對(duì)軟件項(xiàng)目帶來的風(fēng)險(xiǎn)。
3.2風(fēng)險(xiǎn)分析
風(fēng)險(xiǎn)分析主要是針對(duì)風(fēng)險(xiǎn)事件發(fā)生概率及其后果進(jìn)行評(píng)估[3]。為完成對(duì)各種風(fēng)險(xiǎn)的評(píng)估,需建立風(fēng)險(xiǎn)度量指標(biāo)體系,明確各種風(fēng)險(xiǎn)帶來的后果與損失,估算風(fēng)險(xiǎn)對(duì)軟件項(xiàng)目的影響程度,最終給出風(fēng)險(xiǎn)估算的結(jié)果[4]。風(fēng)險(xiǎn)分析時(shí),常使用四元組[R,P,I,W]來對(duì)風(fēng)險(xiǎn)進(jìn)行描述。其中R代表風(fēng)險(xiǎn),P代表風(fēng)險(xiǎn)發(fā)生的概率,I代表風(fēng)險(xiǎn)帶來的影響,W代表風(fēng)險(xiǎn)對(duì)項(xiàng)目影響的權(quán)重。由于能否按照合同規(guī)定的軟件性能、時(shí)間和金額等條款完成軟件開發(fā)工作,對(duì)項(xiàng)目的順利驗(yàn)收起著至關(guān)重要的作用。因而重點(diǎn)選取成本、進(jìn)度、軟件性能三個(gè)方面對(duì)軟件項(xiàng)目風(fēng)險(xiǎn)進(jìn)行度量,當(dāng)某一方面的度量值達(dá)到或超過臨界點(diǎn)時(shí),軟件項(xiàng)目將被迫終止。通常風(fēng)險(xiǎn)評(píng)估的過程可分為四步:(1)根據(jù)風(fēng)險(xiǎn)識(shí)別的結(jié)果,分析每種風(fēng)險(xiǎn)的發(fā)生概率,每種風(fēng)險(xiǎn)對(duì)項(xiàng)目成本、進(jìn)度、軟件性能三方面影響的大小,依據(jù)風(fēng)險(xiǎn)后果的嚴(yán)重程度為每種風(fēng)險(xiǎn)賦予不同的風(fēng)險(xiǎn)權(quán)重。(2)定義每種風(fēng)險(xiǎn)的四元組[R,P,I,W]。(3)定義項(xiàng)目被迫終止的臨界點(diǎn)。(4)預(yù)測(cè)風(fēng)險(xiǎn)組合對(duì)項(xiàng)目的綜合影響[5]。
3.3風(fēng)險(xiǎn)應(yīng)對(duì)
對(duì)可能發(fā)生的各種風(fēng)險(xiǎn)需擬定相應(yīng)的應(yīng)對(duì)策略。常用的應(yīng)對(duì)策略有預(yù)防風(fēng)險(xiǎn)、風(fēng)險(xiǎn)轉(zhuǎn)移、風(fēng)險(xiǎn)回避等。預(yù)防風(fēng)險(xiǎn)通常指通過提高軟件項(xiàng)目各階段的可靠性和規(guī)范性,從而降低風(fēng)險(xiǎn)發(fā)生概率。風(fēng)險(xiǎn)轉(zhuǎn)移是指利用合同、保險(xiǎn)、擔(dān)保、出售、發(fā)包等方式[6],將風(fēng)險(xiǎn)發(fā)生時(shí)的部分損失轉(zhuǎn)移至第三方,以降低己方風(fēng)險(xiǎn)損失。風(fēng)險(xiǎn)回避是指當(dāng)某些風(fēng)險(xiǎn)的發(fā)生不可避免且后果較嚴(yán)重時(shí),可對(duì)項(xiàng)目方案進(jìn)行調(diào)整,更甚者則主動(dòng)放棄該項(xiàng)目,以免造成不可挽回的損失。在完成風(fēng)險(xiǎn)識(shí)別、分析和應(yīng)對(duì)策略選擇后,應(yīng)形成一個(gè)易于理解的風(fēng)險(xiǎn)分析與應(yīng)對(duì)表,如表1所示。
3.4風(fēng)險(xiǎn)監(jiān)控
風(fēng)險(xiǎn)監(jiān)控是指依據(jù)前期風(fēng)險(xiǎn)分析結(jié)果,監(jiān)控風(fēng)險(xiǎn)應(yīng)對(duì)措施的實(shí)施情況,加強(qiáng)對(duì)項(xiàng)目全過程風(fēng)險(xiǎn)的管控[7]。風(fēng)險(xiǎn)監(jiān)控的目的是監(jiān)測(cè)風(fēng)險(xiǎn)管理策略和應(yīng)對(duì)措施的實(shí)際執(zhí)行效果,看其是否達(dá)到預(yù)期目標(biāo),同時(shí)根據(jù)當(dāng)前風(fēng)險(xiǎn)監(jiān)控結(jié)果及時(shí)修正風(fēng)險(xiǎn)分析與應(yīng)對(duì)表,或?qū)?xiàng)目中新識(shí)別的風(fēng)險(xiǎn)進(jìn)行分析并制定相應(yīng)的風(fēng)險(xiǎn)應(yīng)對(duì)措施[8]。
4風(fēng)險(xiǎn)防控措施
4.1需求分析階段
軟件需求是軟件開發(fā)的依據(jù),也是軟件驗(yàn)收的標(biāo)準(zhǔn),因此對(duì)軟件需求的精準(zhǔn)確定就屬于軟件項(xiàng)目開發(fā)的重點(diǎn)和難點(diǎn)。一方面用戶開始時(shí)很難完整且清楚地對(duì)軟件系統(tǒng)的功能、性能、運(yùn)行環(huán)境等方面的需求進(jìn)行準(zhǔn)確表達(dá)。但隨著項(xiàng)目的深入,用戶對(duì)軟件的需求可能會(huì)越來越明確,也越來越多,甚至有時(shí)到測(cè)試階段還會(huì)出現(xiàn)有用戶要求更改軟件需求的情況。這對(duì)系統(tǒng)分析人員和軟件開發(fā)人員來說是難以接受的。另一方面,用戶、系統(tǒng)分析人員和軟件開發(fā)人員對(duì)軟件需求描述的方式也各不相同。用戶希望使用自然語言對(duì)軟件需求進(jìn)行描述,而專業(yè)人員則希望采用結(jié)構(gòu)化的說明語言,如數(shù)據(jù)流圖、數(shù)據(jù)字典等。這樣既可以避免自然語言容易引起的二義性和不確定性,又能為下一步軟件設(shè)計(jì)工作提供便利。針對(duì)這類情況的防控措施包括:(1)加強(qiáng)對(duì)立項(xiàng)單位的組織結(jié)構(gòu)、工作流程和現(xiàn)有軟件系統(tǒng)的了解。(2)系統(tǒng)分析人員需掌握一些獲取用戶需求的技術(shù)和方式。(3)可將公司已投入使用的類似軟件作為軟件原型,提交給用戶試用,便于系統(tǒng)分析人員對(duì)用戶需求的收集。(4)組織由立項(xiàng)單位、系統(tǒng)分析人員和系統(tǒng)設(shè)計(jì)人員共同參與的需求評(píng)審會(huì),最終形成達(dá)成一致的需求分析階段的結(jié)果——需求規(guī)格說明書。(5)對(duì)需求分析階段完成后用戶提出的新需求,可采取留在以后版本升級(jí)中處理,如立項(xiàng)單位要求必須加入的,則可與客戶商量延長(zhǎng)開發(fā)時(shí)間、增加合同金額。
4.2設(shè)計(jì)與開發(fā)階段
如果軟件產(chǎn)品采用原型法進(jìn)行開發(fā),雖能降低因需求不明確帶來的項(xiàng)目風(fēng)險(xiǎn),但由于原型法采用循環(huán)迭代的方式來不斷滿足用戶需求,這樣可能會(huì)導(dǎo)致軟件的設(shè)計(jì)與開發(fā)超出預(yù)期的花費(fèi)和時(shí)間,并且在反復(fù)修改的過程中,容易使客戶對(duì)項(xiàng)目是否能夠順利完成產(chǎn)生疑慮。針對(duì)這類風(fēng)險(xiǎn),一方面可將生命周期法與原型法結(jié)合在一起,互為補(bǔ)充,軟件開發(fā)中以結(jié)構(gòu)化生命周期法為主要方法,在部分環(huán)節(jié)則利用原型法來快速獲取用戶反饋信息[9]。另一方面做好與客戶的溝通,及時(shí)告知客戶軟件設(shè)計(jì)與實(shí)現(xiàn)的進(jìn)度與過程[10]。
4.3測(cè)試階段
測(cè)試階段常面臨的風(fēng)險(xiǎn)為測(cè)試用例不完善。這樣可能導(dǎo)致測(cè)試就不夠全面,軟件中存在的錯(cuò)誤未能發(fā)現(xiàn),使得軟件性能降低??刹扇〉姆揽卮胧┌ǎ海?)對(duì)測(cè)試人員進(jìn)行軟件需求的培訓(xùn)。(2)加強(qiáng)對(duì)測(cè)試用例的評(píng)審。(3)在條件允許的情況下,可以邀請(qǐng)用戶參與軟件測(cè)試。4.4實(shí)施階段實(shí)施階段可能會(huì)面臨客戶過于依賴技術(shù)人員,遲遲不肯驗(yàn)收項(xiàng)目的風(fēng)險(xiǎn)。采取的防控措施包括:(1)形成規(guī)范的《用戶手冊(cè)》,加強(qiáng)對(duì)軟件用戶的培訓(xùn)。(2)做好領(lǐng)導(dǎo)層的工作。(3)宣講公司后期的服務(wù)范圍和服務(wù)管理的規(guī)范性。新舊系統(tǒng)切換的過程中也存在一定風(fēng)險(xiǎn)。如果轉(zhuǎn)換工作缺乏規(guī)范的管理和可靠的安全保障,勢(shì)必會(huì)造成嚴(yán)重的后果,甚至影響正常工作。面對(duì)這種情況,一是需要特別注意原系統(tǒng)和新系統(tǒng)的文件保護(hù)工作,加強(qiáng)人員的管理和數(shù)據(jù)的備份;二是根據(jù)用戶要求、立項(xiàng)單位狀況、轉(zhuǎn)換過程中的進(jìn)展情況調(diào)整系統(tǒng)切換進(jìn)程。
5結(jié)束語
軟件開發(fā)過程中存在著各式風(fēng)險(xiǎn),對(duì)每種風(fēng)險(xiǎn)都需要實(shí)施風(fēng)險(xiǎn)管理。由此可見,風(fēng)險(xiǎn)管理本身也可構(gòu)成軟件項(xiàng)目中的一個(gè)子項(xiàng)目??茖W(xué)地制定軟件項(xiàng)目風(fēng)險(xiǎn)管理計(jì)劃,在必要的人力資源和經(jīng)費(fèi)的支持下,持續(xù)完成風(fēng)險(xiǎn)識(shí)別、分析、應(yīng)對(duì)和監(jiān)控等風(fēng)險(xiǎn)管理步驟[11],做好項(xiàng)目開發(fā)各階段的風(fēng)險(xiǎn)防控工作,從而達(dá)到將風(fēng)險(xiǎn)控制在最低限度,減少風(fēng)險(xiǎn)對(duì)軟件項(xiàng)目的影響,更好地控制軟件開發(fā)成本和進(jìn)度的目的。
參考文獻(xiàn)
[1]楊一平,盧山.管理信息系統(tǒng).北京:機(jī)械工業(yè)出版社,2018
[2]索紅軍.軟件項(xiàng)目風(fēng)險(xiǎn)分析與研究.軟件導(dǎo)刊,2017,16(08):128-131
[3]顧單.S公司戰(zhàn)略型物料采購(gòu)策略研究[碩士學(xué)位論文].上海交通大學(xué),上海,2015
[4]百度文庫(kù).軟件項(xiàng)目的風(fēng)險(xiǎn)分析.
[5]韓最蛟.軟件工程基礎(chǔ).北京:清華大學(xué)出版社,2009
[6]王慧.公路工程施工階段成本風(fēng)險(xiǎn)管理與分析控制.建材與裝飾,2019(24):259-260
[7]梅旭東.M公司卡拉奇核電站項(xiàng)目風(fēng)險(xiǎn)管理研究[碩士學(xué)位論文].東華大學(xué),上海,2018
[8]劉強(qiáng)管理.基于國(guó)際工程項(xiàng)目全生命周期的風(fēng)險(xiǎn)管理.土木工程與管理學(xué)報(bào),2017,34(06):1-9+16
[9]苑隆寅.圖書館在城鄉(xiāng)統(tǒng)籌發(fā)展中的作用與知識(shí)服務(wù)研究[碩士學(xué)位論文].重慶大學(xué),重慶,2012
[10]馬興鵬.高校綜合分析平臺(tái)項(xiàng)目的系統(tǒng)分析與設(shè)計(jì)[碩士學(xué)位論文].東北大學(xué),遼寧,2011
[11]詹紅艷.軟件項(xiàng)目管理中風(fēng)險(xiǎn)控制策略研究.軟件,2019,40(06):230-232
作者:楊輝 單位:湖北交通職業(yè)技術(shù)學(xué)院交通信息學(xué)院