- 相關(guān)推薦
關(guān)于軟件項目管理中的風(fēng)險分析與管理
論文摘要:介紹了軟件項目風(fēng)險的重要性,探討了軟件項目風(fēng)險管理的主要過程和步驟以及常用的工具和方法,詳細(xì)分析了軟件項目中常見的風(fēng)險類型和風(fēng)險成因,最后給出了經(jīng)典的風(fēng)險管理模型和常用的風(fēng)險應(yīng)對措施.
論文關(guān)鍵詞:項目管理;風(fēng)險分析;風(fēng)險管理;風(fēng)險應(yīng)對;模型
0引言
隨著信息技術(shù)的飛速發(fā)展,軟件產(chǎn)品的規(guī)模也越來越大,各軟件企業(yè)在開發(fā)活動中都為了使軟件項目能夠按照預(yù)定的、進(jìn)度和質(zhì)量順利完成而進(jìn)行有效的分析和管理.但因軟件是純知識產(chǎn)品,其開發(fā)進(jìn)度和質(zhì)量很難估計和度量,生產(chǎn)效率也難以預(yù)測和保證,加之軟件系統(tǒng)本身的結(jié)構(gòu)和技術(shù)復(fù)雜性等原因,造成了開發(fā)過程中存在某些“未知量”或“不確定因素”,這必然給項目的開發(fā)帶來一定程度的風(fēng)險,可能會使項目計劃失敗或不能完全達(dá)到預(yù)期的目標(biāo).
軟件項目都存在著這樣那樣的風(fēng)險,軟件項目風(fēng)險管理是指對在軟件開發(fā)過程中所遇到的預(yù)算和進(jìn)度等方面的問題以及這些問題對軟件項目的影響進(jìn)行分析,積極尋求風(fēng)險應(yīng)對方法,做好風(fēng)險管理計劃.
軟件項目風(fēng)險會影響項目計劃的實現(xiàn),如果項目風(fēng)險變成現(xiàn)實,就有可能影響項目的進(jìn)度,增加項目的成本,甚至使軟件項目不能實現(xiàn).如果在進(jìn)行軟件項目開發(fā)時,注重風(fēng)險分析,實施風(fēng)險管理,就可以最大限度的減少風(fēng)險地發(fā)生,從而提高項目成功的機會.
目前,國內(nèi)的軟件企業(yè)不太關(guān)心軟件項目的風(fēng)險管理,結(jié)果造成軟件項目經(jīng)常性的延期、超過預(yù)算,甚至失敗.成功的項目管理一般都對項目風(fēng)險進(jìn)行了良好的管理.因此,任何一個系統(tǒng)開發(fā)項目都應(yīng)將風(fēng)險管理作為軟件項目管理的重要內(nèi)容.總之,對項目風(fēng)險進(jìn)行科學(xué)、準(zhǔn)確的判別,為項目決策層和管理人員提供科學(xué)的評估方法,是十分必要的.
1項目風(fēng)險管理
項目是一系列獨特的、復(fù)雜的并相互關(guān)聯(lián)的活動,這些活動具有一個明確的目標(biāo)并且必須在特定的時間和預(yù)算內(nèi)依據(jù)規(guī)范完成.項目風(fēng)險管理是指為了最好的達(dá)到項目的目標(biāo)而去識別、分配以及應(yīng)對項目生命周期內(nèi)所產(chǎn)生風(fēng)險的科學(xué)與.項目風(fēng)險管理的主要目的是系統(tǒng)識別與項目有關(guān)的風(fēng)險,評價、管理和改善項目的執(zhí)行效果.項目風(fēng)險管理的目標(biāo)是使?jié)撛跈C會或回報最大化,使?jié)撛陲L(fēng)險最小化.它有影響項目設(shè)計和項目基準(zhǔn)計劃的潛力.
風(fēng)險管理涉及的主要過程和步驟包括:風(fēng)險識別、風(fēng)險量化、風(fēng)險應(yīng)對計劃制定和風(fēng)險監(jiān)控,如圖1所示.
[1]
(1)風(fēng)險識別.風(fēng)險識別在項目的開始時就要進(jìn)行,并在項目執(zhí)行中不斷進(jìn)行.也就是說,在項目的整個生命周期內(nèi),風(fēng)險識別是一個連續(xù)的過程.軟件項目由于其本身的創(chuàng)造性,注定了其風(fēng)險的復(fù)雜性.風(fēng)險識別包括確定風(fēng)險的來源,風(fēng)險產(chǎn)生的條件,描述其風(fēng)險特征和確定哪些風(fēng)險事件有可能影響本項目.風(fēng)險識別不是一次就可以完成的事,應(yīng)當(dāng)在項目的自始至終定期進(jìn)行.
風(fēng)險識別的過程如圖2所示,風(fēng)險識別的輸入可能是項目的WBS、SOW以及項目相關(guān)信息等數(shù)據(jù);風(fēng)險識別的常用方法是建立“風(fēng)險條目檢查表”,利用一組提問來幫助項目風(fēng)險者了解在項目和技術(shù)方面有哪些風(fēng)險,風(fēng)險識別的輸出則是風(fēng)險列表.此外,還有風(fēng)險識別問詢法(座談法、專家法)、報表法、流程圖法、現(xiàn)場觀察法、相關(guān)部門配合法和分析法等其他方法.
(2)風(fēng)險量化.對已識別的風(fēng)險要進(jìn)行估計和評價,風(fēng)險量化的主要任務(wù)是確定風(fēng)險發(fā)生的概率與后果,風(fēng)險評價則是確定該風(fēng)險的意義及處理的費用/效果分析,常用的方法有:概率分布、外推法和多目標(biāo)分析法等.它涉及對風(fēng)險及風(fēng)險的相互作用的評估,是衡量風(fēng)險概率和風(fēng)險對項目目標(biāo)影響程度的過程.風(fēng)險量化的基本內(nèi)容是確定哪些事件需要制定應(yīng)對措施.
(3)風(fēng)險應(yīng)對計劃制定.針對風(fēng)險量化的結(jié)果,風(fēng)險應(yīng)對計劃根據(jù)風(fēng)險管理計劃、風(fēng)險排序和風(fēng)險認(rèn)知等依據(jù),采取風(fēng)險控制、風(fēng)險自留和風(fēng)險轉(zhuǎn)移等方法,從而為降低項目風(fēng)險的負(fù)面效應(yīng)制定風(fēng)險應(yīng)對策略,得出風(fēng)險應(yīng)對計劃.
(4)風(fēng)險監(jiān)控.風(fēng)險監(jiān)控,包括對風(fēng)險發(fā)生的監(jiān)督和對風(fēng)險管理的監(jiān)督,前者是對已識別的風(fēng)險源進(jìn)行監(jiān)視和控制,后者是在項目實施過程中監(jiān)督人們認(rèn)真執(zhí)行風(fēng)險管理的組織和技術(shù)措施.對涉及整個項目管理過程中的風(fēng)險進(jìn)行應(yīng)對.該過程的輸出包括應(yīng)對風(fēng)險的糾正措施以及風(fēng)險管理計劃的更新.
總之,風(fēng)險管理的每個步驟所使用的工具和方法詳見表l:
2軟件項目中的風(fēng)險管理
2.1軟件項目中的風(fēng)險分類及成因分析
軟件項目的風(fēng)險主要體現(xiàn)在以下四個方面:需求、技術(shù)、和進(jìn)度.軟件項目開發(fā)中常見的風(fēng)險有:
(1)需求風(fēng)險.需求風(fēng)險的形成,可以從三方面進(jìn)行分析:首先是由于應(yīng)用部門的介人與參與程度不夠,考慮需求往往從部門或局部的角度出發(fā);其次是項目組對需求的調(diào)研目標(biāo)不明晰,分析不透徹,缺乏有效的需求變化管理所造成的.這大都是因為從事軟件開發(fā)的都是“高科技人員”,都具有“從專業(yè)或?qū)W術(shù)角度出發(fā)”的特點,而往往忽視了對業(yè)務(wù)知識的深入了解,不能很好解甚至是誤解客戶的需求;第三,是由于缺乏與決策層進(jìn)行深層次的交流,難以掌握企業(yè)的發(fā)展趨勢,對需求的延伸性不明確.這些需求不確定性的風(fēng)險,都可能會造成大量工作“跑題”浪費,甚至是到項目都快要完成時,依然出現(xiàn)應(yīng)用部門對系統(tǒng)提出一些基本的業(yè)務(wù)需求,或是軟件功能實現(xiàn)了,卻發(fā)現(xiàn)實際業(yè)務(wù)已發(fā)生了變化,導(dǎo)致軟件失去了應(yīng)有的價值等,使時間和成本的投入成倍增長,甚至是系統(tǒng)無法正常投入使用.
[2]
(2)計劃編制風(fēng)險.計劃編制風(fēng)險主要體現(xiàn)在:計劃是優(yōu)化的“最佳狀態(tài)”,但計劃不現(xiàn)實,處于“期望狀態(tài)”;計劃、資源和產(chǎn)品定義全憑客戶或上層領(lǐng)導(dǎo)口頭指令,并且不完全一致,缺乏翔實的書面計劃;計劃基于使用特定的小組成員,而那個特定的小組成員其實指望不上;完成目標(biāo)日期提前,但沒有相應(yīng)地調(diào)整產(chǎn)品范圍或可用資源;產(chǎn)品規(guī)模(如代碼行數(shù)、功能點以及與前一產(chǎn)品規(guī)模的百分比等)比估計的要大等.
(3)組織和風(fēng)險.組織和管理風(fēng)險大都是由于項目經(jīng)理或管理人員缺乏項目管理知識,對項目的工作范圍不明確,對總體計劃、階段計劃的作用認(rèn)識不足,對項目的風(fēng)險估計不足,而造成計劃與控制脫節(jié),無法進(jìn)行有效的項目進(jìn)度管理;而且,由于項目管理人員的協(xié)調(diào)管理能力不足,執(zhí)行力度不夠,使得項目協(xié)調(diào)和時間成本大大增加,從而造成工作延誤等.
(4)人員與開發(fā)風(fēng)險.人員風(fēng)險主要體現(xiàn)在缺乏激勵措施,士氣低下,開發(fā)人員和管理層之間關(guān)系不佳,導(dǎo)致決策緩慢,影響全局,從而降低了生產(chǎn)能力;項目后期加入新的開發(fā)人員,需進(jìn)行培訓(xùn)并逐漸與現(xiàn)有成員溝通,從而使現(xiàn)有成員的工作效率降低;不適應(yīng)工作的成員沒有調(diào)離項目組,影響了項目組其他成員的積極性;由于項目組成員之間發(fā)生沖突,導(dǎo)致溝通不暢、設(shè)計欠佳、接口出現(xiàn)錯誤和額外的重復(fù)工作等.開發(fā)環(huán)境風(fēng)險主要有:開發(fā)工具未及時到位或不如期望的那樣有效,開發(fā)人員需要時間創(chuàng)建工作環(huán)境或者切換新的工具;新的開發(fā)工具的學(xué)習(xí)期比預(yù)期的長,內(nèi)容繁多;設(shè)施擁擠、雜亂破損、未及時到位或者雖到位,但不配套(如沒有電話、網(wǎng)線、辦公用品等).
(5)設(shè)計技術(shù)和實現(xiàn)過程風(fēng)險.設(shè)計技術(shù)風(fēng)險可以直接導(dǎo)致項目失敗.選擇沒有成功的案例或不熟悉行業(yè)業(yè)務(wù)的開發(fā)商;項目的目標(biāo)、范圍超過了項目組的實現(xiàn)能力;采用不熟悉或是欠成熟先進(jìn)的開發(fā)工具、不符合行業(yè)特點的數(shù)據(jù)分析模型;設(shè)計質(zhì)量低下,分別開發(fā)的模塊無法有效集成,需要重新設(shè)計或制作;一些必要的功能無法使用現(xiàn)有的代碼和庫實現(xiàn),開發(fā)人員必須使用新的庫或者自行開發(fā)新的功能;代碼和庫質(zhì)量低下,導(dǎo)致需要進(jìn)行額外的測試,修正錯誤,或重新制作等,這都無疑會使項目處于毀滅性的風(fēng)險之中.過程風(fēng)險主要有前期的質(zhì)量保證行為不真實,導(dǎo)致后期的重復(fù)工作;太不正規(guī)(如缺乏對軟件開發(fā)策略和標(biāo)準(zhǔn)的遵循),導(dǎo)致溝通不足,質(zhì)量欠佳,甚至需要重新開發(fā);過于正規(guī)(如教條地堅持軟件開發(fā)策略和標(biāo)準(zhǔn)),導(dǎo)致過多耗時于無用的工作等.
(6)客戶與產(chǎn)品風(fēng)險.客戶風(fēng)險主要表現(xiàn)在:客戶的意見未被采納,造成產(chǎn)品最終無法滿足客戶要求,要求重新設(shè)計或重做;客戶沒有或不能參與規(guī)劃、原型和規(guī)格階段的審核,導(dǎo)致需求不穩(wěn)定和產(chǎn)品生產(chǎn)周期的變更;客戶答復(fù)的時間(如回答或澄清與需求相關(guān)問題的時間)’以及決策周期比預(yù)期長;客戶提供的組件質(zhì)量欠佳,導(dǎo)致額外的測試、設(shè)計和集成工作,以及額外的客戶關(guān)系管理工作.產(chǎn)品的風(fēng)險主要表現(xiàn)在:開發(fā)額外的不需要的功能或依賴正在開發(fā)中的技術(shù),從而延長了計劃進(jìn)度;嚴(yán)格要求與現(xiàn)有系統(tǒng)兼容或與其他系統(tǒng)(不受本項目組控制的系統(tǒng))相連以及矯正質(zhì)量低下的不可接受的產(chǎn)品,從而導(dǎo)致比預(yù)期更多的無法預(yù)料的設(shè)計、實現(xiàn)和測試工作等.
2.2常見的軟件項目風(fēng)險管理模型
針對軟件項目中的風(fēng)險管理問題,不少專家、組織提出了自己的風(fēng)險管理模型.常見的主要風(fēng)險管理模型有:連續(xù)風(fēng)險管理模型(CRM)、Boehm模型和軟件工程風(fēng)險模型(SERIM).
(1)SEI的連續(xù)風(fēng)險管理模型(CRM).SEICRM模型的風(fēng)險管理原則是不斷地評估可能造成惡劣后果的因素;決定最迫切需要處理的風(fēng)險;實現(xiàn)控制風(fēng)險的策略;評測并確保風(fēng)險策略實施的有效性.CRM模型要求在項目生命期的所有階段都關(guān)注風(fēng)險識別和管理,它將風(fēng)險管理劃分為五個步驟:風(fēng)險識別、分析、計劃、跟蹤、控制.
(2)BarryBoehm模型.Boehm模型的思想核心是:10大風(fēng)險因素列表.針對每個風(fēng)險因素,都給出了一系列的風(fēng)險管理策略.在實際操作時,Boehm以lO大風(fēng)險列表為依據(jù),當(dāng)前項目具體的風(fēng)險因素,評估后進(jìn)行計劃和實施,在下一次定期召開的會議上再對這lO大風(fēng)險因素的解決情況進(jìn)行總結(jié),產(chǎn)生新的lO大風(fēng)險因素表,依此類推.
Boehm模型的基本形式可描述為:RE=P(UO),IcL(UO),其中RE表示風(fēng)險或者風(fēng)險所造成的影響;P(uo)表示令人不滿意的結(jié)果所發(fā)生的概率;L(uo)表示糟糕的結(jié)果會產(chǎn)生的破壞性的程度.
(3)軟件工程風(fēng)險模型(SERIM).SERIM模型要求從技術(shù)和商業(yè)兩個角度對軟件風(fēng)險管理進(jìn)行剖析,考慮的問題涉及開銷、進(jìn)度、技術(shù)性能等.它還提供了一些指標(biāo)和模型來估量和預(yù)測風(fēng)險,由于這些數(shù)據(jù)來源于大量的實際經(jīng)驗,因此具有很強的說服力.
[3]
2.3常見的風(fēng)險應(yīng)對措施
風(fēng)險分析活動分析的目的在于建立處理風(fēng)險的策略.而風(fēng)險規(guī)避的最好方式是把風(fēng)險控制在項目啟動階段,把損失減小到最小程度.常見的風(fēng)險應(yīng)對措施有:
(1)建立暢通的溝通渠道和溝通策略.需求的不確定性風(fēng)險很大程度上是由溝通不暢引起的.因此,在需求調(diào)研階段,要多和應(yīng)用部門溝通,了解他們真正的需求,最好能將目標(biāo)系統(tǒng)的模型向應(yīng)用部門演示,并得到反饋意見,直到雙方都達(dá)成共識,形成雙方認(rèn)可的驗收方案和驗收標(biāo)準(zhǔn),并做好變更控制和配置,盡量降低需求不確定性風(fēng)險.
(2)配備高素質(zhì)的項目管理人員.最好是具有豐富的項目管理經(jīng)驗,或是經(jīng)過系統(tǒng)的項目管理知識訓(xùn)練的人員來擔(dān)任項目經(jīng)理,通過制定有效的項目管理計劃,并認(rèn)真執(zhí)行落實,提高項目的可控性.同時,風(fēng)險不是靜止的、一成不變的,它會隨著項目狀況的變化而變化,因此,風(fēng)險管理必須被作為一個日常的正式活動列入項目工作計劃,成為項目管理人員的一個重要工作.
(3)建立一支協(xié)作高效的項目團(tuán)隊.技術(shù)部門有技術(shù),業(yè)務(wù)部門有需求,因此,項目組中不僅要有開發(fā)商和技術(shù)部門的參與,更要有應(yīng)用部門的參與,從而形成一個合作的項目工作團(tuán)隊,共同理解企業(yè)的戰(zhàn)略規(guī)劃和業(yè)務(wù)發(fā)展,從整體全局的角度,提出有效的信息化需求,共同研討項目進(jìn)展中出現(xiàn)的問題,共同控制項目進(jìn)度,共同為項目質(zhì)量把關(guān).
(4)制定科學(xué)的風(fēng)險管理計劃.從風(fēng)險管理的角度對項目規(guī)劃或計劃進(jìn)行審核,建立“風(fēng)險清單”,對每個可能存在風(fēng)險的表現(xiàn)、范圍、時間做出盡量準(zhǔn)確的判斷并對風(fēng)險進(jìn)行監(jiān)控,提前做好應(yīng)對準(zhǔn)備.如針對需求風(fēng)險,要制定相應(yīng)的需求變更控制;針對技術(shù)風(fēng)險,要安排核心技術(shù)人員全程參與開發(fā)等.
(5)選擇合適的開發(fā)技術(shù).雖然在系統(tǒng)設(shè)計時需要考慮新技術(shù)的發(fā)展和技術(shù)的先進(jìn)性問題,但“最好的不一定是最合適的,最合適的才是最好的”,如果項目組的人員對所需開發(fā)的技術(shù)不熟,在滿足業(yè)務(wù)需求的前提下,盡可能采用熟悉的技術(shù)來減輕項目在或進(jìn)度方面的影響,也可以事先進(jìn)行培訓(xùn)來減輕對項目的影響,以避免因技術(shù)瓶頸導(dǎo)致的項目失。
3結(jié)束語
軟件項目管理從某種意義上講,就是風(fēng)險管理.在項目風(fēng)險管理中,存在多種風(fēng)險管理方法與工具,軟件項目管理只有找出最適合自己的方法與工具并應(yīng)用到風(fēng)險管理中,才能更好地適應(yīng)快速而又無序變化的商業(yè),才能盡量減少軟件項目的風(fēng)險,以確保在規(guī)定的預(yù)算和期限內(nèi)更好地完成軟件項目,從而促進(jìn)項目的成功.
[4]
【軟件項目管理中的風(fēng)險分析與管理】相關(guān)文章:
關(guān)于軟件項目管理及風(fēng)險分析03-01
IT項目管理中的風(fēng)險研究03-24
計算機軟件項目管理中的需求分析03-20
關(guān)于軟件項目管理流程分析與設(shè)計03-01
淺析計算機軟件項目管理中的需求分析03-13