摘 ?要: 風(fēng)險的發(fā)生在軟件項目開發(fā)過程中是必然的,如何有效的降低在其過程中的風(fēng)險,最大程度上減小風(fēng)險對項目的影響是本文研究的重點所在。首先,根據(jù)實際情況,本文先對軟件項目管理中風(fēng)險進行分類,并闡明了影響,說明了風(fēng)險識別、分析、應(yīng)對以及控制的過程,提出了風(fēng)險優(yōu)化的策略,并指出了加強項目成員風(fēng)險培訓(xùn)管理的重要性。
關(guān)鍵詞: 軟件;項目管理;風(fēng)險管理;控制策略
中圖分類號: TP31 ? ?文獻標(biāo)識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.06.053
本文著錄格式:詹紅艷. 軟件項目管理中風(fēng)險控制策略研究[J]. 軟件,2019,40(6):230232
【Abstract】: It is inevitable to have risk in process of software project development. It is an important issue of the paper to reduce risk occurrence probability and risk effect scientifically. Firstly, according to actual situation, the paper classifies risks in software project management, clarifies the impact, explains process of risk identification, analysis, response and control, puts forward risk optimization strategy, and points out importance of strengthening risk training management of project members.
【Key words】: Software; Project management; Risk management; Control strategy
0 ?引言
隨著我國現(xiàn)代化腳步的不斷推進,信息產(chǎn)業(yè)的發(fā)展蒸蒸日上,軟件項目層出不窮,軟件行業(yè)發(fā)展越來越快,軟件行業(yè)為我國創(chuàng)造了巨大的財富。軟件項目風(fēng)險管理也隨之變得十分重要,在軟件項目開發(fā)過程當(dāng)中往往會遇到一些風(fēng)險,如何規(guī)避風(fēng)險,如何降低風(fēng)險影響率成為了項目管理的重點,也是軟件項目成敗的關(guān)鍵因素。
軟件項目風(fēng)險是由項目進行過程中的一些不確定的事件或條件所引起的,可能會引發(fā)軟件開發(fā)過程中風(fēng)險因素指的是可能對項目造成消極影響或積極作用條件,例如潛在的需求、假設(shè)條件、制約因素或某種狀況等,所以軟件開發(fā)過程中一旦有風(fēng)險發(fā)生,就會使得項目受到影響,譬如成本增加、進度受到影響等等[1]。
1 ?軟件項目風(fēng)險分類及其影響
1.1 ?產(chǎn)品規(guī)模風(fēng)險
項目風(fēng)險與產(chǎn)品規(guī)模密切相關(guān),產(chǎn)品規(guī)模越大項目風(fēng)險也越大。并且在實際操作過程中,估算項目規(guī)模的方法、規(guī)模估算的精確度、用戶數(shù)等因素也與產(chǎn)品風(fēng)險有關(guān)。通常項目規(guī)模越大存在的問題越多,越復(fù)雜。
1.2 ?需求風(fēng)險
項目需求是一個不可控因素,由于種種因素的影響導(dǎo)致項目在確定需求時都有不確定性,如果在項目進行前到項目前期仍未解決這些不確定性,項目就將會受到極大的威脅。因此團隊需要在項目研發(fā)前盡早控制與需求相關(guān)的風(fēng)險因素,避免影響產(chǎn)品的品質(zhì),使產(chǎn)品投入市場后達(dá)不到預(yù)期目標(biāo)。在這個過程中如果客戶對項目的沒有足夠的認(rèn)同度,使得客戶在項目研發(fā)過程中參與度不夠,比如在項目需求分析的過程中客戶參與度差甚至沒有參與,從而導(dǎo)致客戶不能清晰認(rèn)識產(chǎn)品,亦或者是客戶的需求不斷發(fā)生變化等都屬于與客戶有關(guān)的需求風(fēng)險因素。
1.3 ?相關(guān)性風(fēng)險
在軟件開發(fā)過程中有很多種風(fēng)險,但是從本質(zhì)上進行分析,風(fēng)險都是由于內(nèi)部或外部因素導(dǎo)致的,與之有關(guān)的因素有:團隊成員之間的依賴性、項目復(fù)用性、客戶供應(yīng)信息、分包轉(zhuǎn)包商的關(guān)系等。所以做風(fēng)險應(yīng)對預(yù)案的時候需要做可行性計劃,在發(fā)生問題時及時的獲取資源,解決問題[2]。
1.4 ?技術(shù)風(fēng)險
在軟件開發(fā)行業(yè)技術(shù)的更替速度快,工作人員缺乏從業(yè)經(jīng)驗都會對項目的開發(fā)造成影響。早期準(zhǔn)確的風(fēng)險識別是解決風(fēng)險的關(guān)鍵,因此在項目技術(shù)團隊組建前需要提前招聘培訓(xùn)師,顧問和適合的人才,盡早避免一些技術(shù)風(fēng)險。與技術(shù)有關(guān)的風(fēng)險有:員工缺乏培訓(xùn)、員工對技術(shù)的理解不到位、從業(yè)經(jīng)驗不足,對新技術(shù)不了解、不熟悉等。
1.5 ?管理風(fēng)險
管理的問題有時會掣肘項目的發(fā)展,因為寫風(fēng)險管理的人有時會缺乏自檢的品行,導(dǎo)致風(fēng)險管理計劃并未包含所有的管理活動,這個問題會對項目造成很大的影響。對于這個問題可以通過劃分每個成員的任務(wù)和責(zé)任進行解決,實際操作過程中與之相關(guān)的風(fēng)險因素有:計劃和任務(wù)定義不夠充分,項目成員溝通不清楚,項目干系人識別不清晰等。
1.6 ?安全風(fēng)險
軟件開發(fā)過程就是一個創(chuàng)造過程,因此在這過程中,生產(chǎn)資料即產(chǎn)品核心技術(shù)或者設(shè)計思路,對這些核心技術(shù)的保密就顯得十分重要。但是我國對知識產(chǎn)權(quán)的保護意識還比較淡薄,許多團隊對項目的開發(fā)重視大于對知識產(chǎn)權(quán)的保護。由于軟件行業(yè)的人員流動性大,項目有關(guān)信息被泄露,讓項目的核心信息被其他公司竊取,導(dǎo)致項目失敗,這對項目開發(fā)具有很大的威脅。
2 ?軟件項目風(fēng)險管理的過程
2.1 ?風(fēng)險識別
現(xiàn)階段風(fēng)險識別是指對軟件開發(fā)項目過程中可能造成影響的因素進行判斷識別,并對可能對項目造成影響的因素特征進行記錄,對已發(fā)現(xiàn)并解決或者已發(fā)現(xiàn)未解決的問題記錄整理,這個過程需要對風(fēng)險來源進行追溯,對風(fēng)險產(chǎn)生條件進行確定,然后對風(fēng)險特征做出完整描述。通過這種風(fēng)險識別和風(fēng)險歸檔的方法可以為項目積累知識和技能提供強有力的理論和經(jīng)驗支撐。
在整個風(fēng)險識別活動過程中需要項目參與者參加識別,比如就項目團隊而言其團隊負(fù)責(zé)人、團隊技術(shù)骨干,其他單位參與者有專業(yè)項目風(fēng)險管理團隊、專家、最終用戶等參與者。在此過程中應(yīng)倡導(dǎo)呼吁全體與項目核心相關(guān)人員參與到潛在風(fēng)險的識別工作中,因為風(fēng)險的產(chǎn)生有不確定性,在項目的推進過程中,隨時可能產(chǎn)生新的風(fēng)險[3]因此風(fēng)險識別工作是一個反復(fù)進行的過程,需要所有骨干人員的參與并且應(yīng)該伴隨項目的整個生命周期。識別風(fēng)險常用方法有:頭腦風(fēng)暴、德爾菲技術(shù)、訪談、根本原因分析、假設(shè)分析、圖解分析技術(shù)等。
2.2 ?風(fēng)險分析
風(fēng)險分析包括實施定性和實施定量風(fēng)險分析兩部分。實施定性風(fēng)險分析是對已識別的風(fēng)險發(fā)生的可能性、影響程度等因素對風(fēng)險的優(yōu)先級進行評估。但是這種方法容易受項目參與者主觀因素的影響。因此,需要建立科學(xué)的評定標(biāo)準(zhǔn),有助于降低評定者的主觀因素的影響。定性分析主要方法有風(fēng)險概率和影響評估、風(fēng)險數(shù)據(jù)質(zhì)量評估、風(fēng)險分類、風(fēng)險緊迫性評估等。
在定性風(fēng)險分析過程中被確定為對項目的競爭性需求存在潛在重大影響的風(fēng)險需要使用定量風(fēng)險分析風(fēng)險對項目目標(biāo)的影響,評估所有風(fēng)險對項目的總體影響。主要分析方法有:訪談、概率分布、敏感性分析、預(yù)期貨幣價值分析、建模和模擬技術(shù)等。實施定量風(fēng)險分析一般是在定性分析之后開展,由項目經(jīng)理運用專家判斷來確定定量風(fēng)險分析的必要性和有效性。
在軟件項目風(fēng)險分析過程中,采用哪種方法進行風(fēng)險分析,取決于可用的時間和預(yù)算,以及風(fēng)險分析的需求[4]。但是為了風(fēng)險更好的管控,建議反復(fù)開展風(fēng)險定量分析,以確定項目發(fā)展過程中風(fēng)險的降低程度是否令人滿意。
2.3 ?風(fēng)險應(yīng)對和控制
風(fēng)險應(yīng)對措施是建立在風(fēng)險評估基礎(chǔ)上的,項目組需要根據(jù)風(fēng)險評估結(jié)果,選擇可靠的技術(shù),高效的辦法從而制定出可以降低風(fēng)險影響方案的過程,風(fēng)險應(yīng)對措施是軟件項目過程中風(fēng)險處理順序、規(guī)避風(fēng)險、消除風(fēng)險的指南[5-6]。
風(fēng)險應(yīng)對措施是通過風(fēng)險控制實現(xiàn)的,風(fēng)險控制包括兩大板塊,風(fēng)險預(yù)防,風(fēng)險處理,在發(fā)生風(fēng)險前對風(fēng)險進行預(yù)防,盡量降低、避免甚至消除風(fēng)險發(fā)生的幾率,在發(fā)生風(fēng)險之后最大限度的降低風(fēng)險對項目造成的影響,常見有風(fēng)險控制、風(fēng)險自留、風(fēng)險轉(zhuǎn)移等方法。
3 ?軟件項目風(fēng)險管理的控制策略匯總
3.1 ?風(fēng)險管理方法科學(xué)化
通過長時間的實踐,CRM、MSF、RISKIT三種方法是受到國內(nèi)外認(rèn)可的軟件項目風(fēng)險管理方法。
3.1.1 ?CRM法的應(yīng)用
SEI作為世界上著名的旨在改善軟件工程管理實踐的組織,也對風(fēng)險管理投入了大量的研究。SEI提出了持續(xù)風(fēng)險管理管理模型CRM[7]。
CRM模型要求在項目生命期的所有階段都關(guān)注風(fēng)險識別和管理,它將風(fēng)險管理劃分為5個步驟:風(fēng)險識別、分析、計劃、跟蹤、控制。CRM模型強調(diào)在項目開發(fā)過程中反復(fù)持續(xù)進行的這些風(fēng)險管理步驟。每個風(fēng)險因素一般都需要按順序經(jīng)過這些步驟,但是對不同風(fēng)險因素開展的不同活動可以是并發(fā)的或者交替的。
3.1.2 ?MSF法的應(yīng)用
MSF方法來自于微軟,微軟通過對長時間的軟件開發(fā)經(jīng)驗進行總結(jié)優(yōu)化。將其完善成一套可行的項目管理規(guī)范,這種方法是以管理項目中的工作人員、研發(fā)過程和知識管理為主,將風(fēng)險管理做為項目管理的核心,主張在項目完成后及時總結(jié)教訓(xùn)并列出主風(fēng)險列表、頂級風(fēng)險列表、過時風(fēng)險列表三個表格幫助完成經(jīng)驗積累[8]。
3.1.3 ?RISKIT法的應(yīng)用
Riskit方法是一種提高系統(tǒng)化的風(fēng)險管理過程和技術(shù),它是由Maryland大學(xué)提出,旨在對風(fēng)險的起因、觸發(fā)時間及其影響等進行完成的提醒和管理,并使用合理的步驟評估風(fēng)險。對于風(fēng)險管理中的每個活動,Riskit都提供了詳細(xì)的活動執(zhí)行模板,包括活動描述、進入標(biāo)準(zhǔn)、輸入、輸出、采用的方法和工具、責(zé)任、資源、退出標(biāo)準(zhǔn)。
Riskit方法的特點:提供風(fēng)險的明確定義;明確定義目標(biāo)、限制和其他影響項目成功的因素;采用圖形化的工具,Riskit分析圖對風(fēng)險建模,定性地記錄風(fēng)險;使用應(yīng)用性損失的概念排列風(fēng)險的損失;不同相關(guān)者的觀點被明確建模。
3.2 ?風(fēng)險管理檔案的建立和完善
對每個軟件項目進行及時的經(jīng)驗總結(jié),然后建立風(fēng)險管理檔案是有積極作用的。完整詳實的風(fēng)險管理文檔可以幫助團隊更好的進行風(fēng)險管理,幫助團隊在以后的項目建設(shè)中更好的規(guī)避項目需求、進度、質(zhì)量上的風(fēng)險問題。而且可以通過文檔記錄項目工作績效的信息,包括偏差分析結(jié)果、掙值數(shù)據(jù)和預(yù)測數(shù)據(jù)等,這些數(shù)據(jù)可以用于控制與績效有關(guān)的風(fēng)險,盡量讓風(fēng)險最小化[9]。
3.3 ?加強風(fēng)險管理培訓(xùn)
3.3.1 ?加強管理者綜合能力培養(yǎng)
軟件項目的負(fù)責(zé)人是項目經(jīng)理,所以需要對項目經(jīng)理提出更高的要求,把專業(yè)技術(shù)的水平高低作為選拔項目經(jīng)理的重要依據(jù)之一。但是技術(shù)型的項目經(jīng)理往往缺乏溝通、管理方面的知識和能力。
因此有計劃的對項目管理人員進行綜合性的培訓(xùn)是有必要的,將項目管理人員培養(yǎng)成為專業(yè)扎實,溝通效率高,業(yè)務(wù)能力強,管理水平高的人才可以促進團隊的發(fā)展,降低項目的不確定性風(fēng)險。
3.3.2 ?加強團隊風(fēng)險管理知識培訓(xùn)
管理者需要具有相當(dāng)?shù)木C合素質(zhì)能力,團隊成員也需要加強自身素質(zhì)建設(shè),因此對團隊成員進行有針對性的整體技術(shù)構(gòu)架、項目關(guān)鍵點等內(nèi)容的培訓(xùn),提升項目成員對技術(shù)方法、技術(shù)規(guī)范、技術(shù)標(biāo)準(zhǔn)的認(rèn)識水平可以消除技術(shù)障礙,提升溝通效率,消除因團隊成員缺乏對項目的整體認(rèn)識等因素造成的風(fēng)險[10]。
4 ?總結(jié)
風(fēng)險管理的意義在于將風(fēng)險消除在發(fā)生之前,減少風(fēng)險發(fā)生的幾率,降低風(fēng)險對項目造成的影響。筆者認(rèn)為在實際工作過程中風(fēng)險管控處理方法很多,其中預(yù)見性風(fēng)險管理是最有效的風(fēng)險管理方法之一。在項目進行過程中,如果發(fā)生風(fēng)險管理人員應(yīng)當(dāng)積極應(yīng)對,及時識別風(fēng)險并采取相應(yīng)措施。在日常工作時,企業(yè)需要加強對項目管理者、團隊成員的風(fēng)險管理培訓(xùn)。在項目完結(jié)后及時進行經(jīng)驗總結(jié)并存檔,以便于為后續(xù)的項目研發(fā)起到借鑒作用,盡量減小或者消除軟件項目管理中的風(fēng)險。
參考文獻
[1] 張培良, 王見偉, 崔錫霖, 等. 軟件項目管理中的風(fēng)險識別與管理分析[J]. 數(shù)字通信世界, 2018(09): 276+284.
[2] 羅畏. 科信公司定制軟件項目關(guān)鍵風(fēng)險識別與控制策略研究[D]. 湖南大學(xué), 2017.
[3] 楊會蘭. 軟件項目管理中的風(fēng)險識別與管理分析[J]. 無線互聯(lián)科技, 2016(04): 53-54+75.?毛明志,葛曉煒. 軟件項目風(fēng)險管理模型的分析與研究[J]. 科技管理研究,2005(06): 148-151.
[4] 張珞玲, 李師賢. 軟件項目風(fēng)險管理方法比較和研究[J]. 計算機工程, 2003, 29(3): 91-94.
[5] 林時蘊. 軟件項目風(fēng)險管理研究[D]. 合肥工業(yè)大學(xué), 2007.
[6] 朱斐. 面向工程教育專業(yè)認(rèn)證的《軟件項目管理》實驗教學(xué)探索[J]. 軟件, 2018, 39(12): 187-190.
[7] 丁劍潔, 郝克剛, 侯紅, 等. 基于粗糙集的軟件項目風(fēng)險管理研究[J]. 計算機科學(xué), 2010, 37(4): 117-119.
[8] 王光治. 軟件外包企業(yè)的風(fēng)險控制研究[D]. 天津大學(xué), 2014.
[9] 吳宗東. 軟件項目風(fēng)險管理理論和方法探究[J]. 電腦知識與技術(shù), 2013(2X): 1198-1199.