翟蘭杰 劉子豪 程艷紅 李恩昊
(中國電子科技集團公司第十五研究所,北京100083)
風(fēng)險管理是否可以完成改善軟件項目成果的任務(wù)?軟件項目是高風(fēng)險活動,會產(chǎn)生可變的績效結(jié)果。行業(yè)調(diào)查表明,只有大約四分之一的軟件項目能夠完全成功(即按計劃、預(yù)算和規(guī)定完成),并且由于項目失敗或無法帶來承諾收益的項目,每年損失數(shù)十億美元。有證據(jù)表明,這是一個全球性問題,對私營和公共部門組織均造成影響。與軟件項目有關(guān)的風(fēng)險管理引起了研究人員基于實踐的方法和標(biāo)準(zhǔn)的持續(xù)關(guān)注。行業(yè)調(diào)查數(shù)據(jù)表明,盡管項目成功率有所提高,但軟件項目在某些關(guān)鍵績效標(biāo)準(zhǔn)上的失敗比完全成功的可能性更大。此外,實例研究發(fā)現(xiàn),風(fēng)險管理實踐通常不同于文獻中提出的解決方案。
本文的結(jié)構(gòu)如下:在下一節(jié)中,將對相關(guān)文獻進行審查和重新評估。在此之后,先描述實例研究并介紹主要發(fā)現(xiàn),再對實踐與研究文獻中的方法進行比較得出結(jié)論。最后,對研究的局限性進行討論,以及對研究和實踐的意義進行闡述。
在本節(jié)中,首先,簡要介紹風(fēng)險和風(fēng)險管理的重要性。其次,分析在項目管理中的風(fēng)險概念,并與實踐需求相比較總結(jié)出了四個局限性。最后,審查風(fēng)險管理和相關(guān)的實踐規(guī)定,得出文獻中的結(jié)論。
從概念上講,從組織的角度來看,當(dāng)組織面對不確定性而受到能力和成本的約束時,這種不確定性從項目分析方面就是一種風(fēng)險。面臨的挑戰(zhàn)是要在所有不確定性的方面中找到一個可以修復(fù)與處理風(fēng)險的位置,這些位置相結(jié)合來代表適合于該計劃并為內(nèi)部和外部利益相關(guān)者所接受的風(fēng)險狀況。因此,風(fēng)險和風(fēng)險管理通常涉及妥協(xié)的戰(zhàn)略和治理問題。然而,風(fēng)險規(guī)避策略會增加項目損失,因此在追求理想的項目目標(biāo)時,對于風(fēng)險分析的考慮常常被低估或忽視。
在項目層面,軟件項目早已被認(rèn)為是容易失敗的、具有高風(fēng)險的項目。軟件項目風(fēng)險分為兩類:所有項目共有的通用風(fēng)險和特定于項目的風(fēng)險。其中一些風(fēng)險很容易識別和管理,其他方面則不太明顯,或者更難預(yù)測其可能性和影響。項目規(guī)模、結(jié)構(gòu)、復(fù)雜性、組成、背景、新穎性、長期的計劃和執(zhí)行范圍以及變化多端的項目規(guī)模使這些問題變得復(fù)雜。因此,軟件項目中的風(fēng)險管理對以下方面很重要:幫助避免災(zāi)難;避免返工;集中精力并保持平衡;避免刺激雙贏局面。盡管并非所有風(fēng)險都來自軟件實踐,但它們都有可能通過交付項目的機制來影響軟件過程的結(jié)果。
風(fēng)險和風(fēng)險管理也很重要,因為IT項目(包括軟件項目)的交付可能涉及多方合作者的交付,因此,實現(xiàn)業(yè)務(wù)目標(biāo)可能在很大程度上取決于是否可以滿足各方的需求,是否實現(xiàn)共贏。那么,如何構(gòu)想風(fēng)險以及文獻中規(guī)定了哪些管理措施來改善項目成果呢?
軟件項目中最常見的風(fēng)險定義是暴露于對實現(xiàn)項目預(yù)期成果構(gòu)成威脅的特定因素。在此基礎(chǔ)上,軟件項目中的風(fēng)險通常被定義為事件對項目的概率加權(quán)影響。簡而言之,R=P*I,其中R是可歸因于特定風(fēng)險因素的風(fēng)險敞口,P是不希望的事件將被實現(xiàn)的概率,I是事件發(fā)生時損失的影響或程度。在商業(yè)項目中,風(fēng)險敞口通常以成本或時間來衡量。
這種風(fēng)險觀點是根據(jù)1980年代的管理理論改編的。在經(jīng)典決策理論中,風(fēng)險被視為在開發(fā)過程中可能產(chǎn)生的結(jié)果是有變化的,不是恒定不變的,因此,不同結(jié)果的(負(fù)向或正向)概率分布的變化。但是,研究發(fā)現(xiàn)80%的管理者僅將負(fù)面結(jié)果視為“風(fēng)險”。他們發(fā)現(xiàn),風(fēng)險管理可能需要不同的流程來進行威脅或協(xié)議管理,從而意識到項目中風(fēng)險管理的重要性。因此,盡管一些研究人員仍將風(fēng)險定義為既包含威脅又包含機會,但風(fēng)險被認(rèn)為是危險的或不良結(jié)果的威脅。
從理論上講,傳統(tǒng)的風(fēng)險管理與其他重要的控制流程(例如,問題和危機管理)密切相關(guān),它們具有共同的影響結(jié)構(gòu)。但是,這種相互關(guān)系通常在風(fēng)險相關(guān)的研究或基于實踐的方法論中并未得到認(rèn)可或明確說明??傊?,基于對風(fēng)險的簡要回顧,可以得出結(jié)論,研究文獻中“風(fēng)險”的概念化可能比實際問題的性質(zhì)更容易理解。
如上所述,軟件項目風(fēng)險管理通常被定義為一組旨在識別、分析和處理風(fēng)險因素以提高獲得成功項目成果和/或避免項目失敗的機會的原則和實踐。最常見的是,在文獻和實踐中發(fā)現(xiàn)了四種相互關(guān)聯(lián)的風(fēng)險管理方法,下面進行詳細(xì)分析方法中涉及的四部分關(guān)鍵因素。
3.1 風(fēng)險因素清單
根據(jù)研究結(jié)果,軟件項目風(fēng)險因素清單不太可能普遍適用,在實踐中使用發(fā)布清單作為風(fēng)險管理工具時應(yīng)格外小心。風(fēng)險/成功因素檢查表的最佳用途是作為初學(xué)者清單,逐步從組織中隨時間的變化上進行考慮,在項目進行過程中的不同時間段制定出風(fēng)險因素,整個過程中的風(fēng)險因素構(gòu)成內(nèi)部風(fēng)險因素集。通用列表中與組織的項目不相關(guān)的因素可以用被識別為風(fēng)險的因素來代替。但是,至關(guān)重要的是在風(fēng)險識別和審查過程中,不僅要考慮項目計劃期間的風(fēng)險,還要考慮所有主要利益相關(guān)者群體的風(fēng)險。
3.2 風(fēng)險分析框架
給定適當(dāng)?shù)目蚣埽朔椒ǖ闹饕窒扌耘c其主要收益密切相關(guān)??蚣鼙旧頍o法改善風(fēng)險管理,與任何工具一樣,其價值(或其他價值)完全取決于其使用的程度。例如,風(fēng)險識別和分析的質(zhì)量取決于風(fēng)險頭腦風(fēng)暴研討會中利益相關(guān)者的態(tài)度,他們通過分析工具提供的各種指針進行思考。如果分析是粗略的或膚淺的,則風(fēng)險管理的收益可能很低。
3.3 風(fēng)險流程模型
風(fēng)險流程模型的主要貢獻在于它們指導(dǎo)了風(fēng)險管理行動,而不僅僅是分析性思維。但是,過程模型沒有為軟件項目風(fēng)險管理提供“千篇一律”的解決方案。他們需要技能、判斷力和毅力,才能在實踐中有效地應(yīng)用它們及其關(guān)聯(lián)的工具和技術(shù)。例如,在“識別”并“分析”了風(fēng)險之后,有必要確定可以對這些風(fēng)險采取哪些措施,以及應(yīng)該采取哪些措施。這需要指定合理的、與上下文應(yīng)用相關(guān)的操作。在過程模型的風(fēng)險響應(yīng)和風(fēng)險控制步驟中,文獻為通過制定幾種通用響應(yīng)策略(此處考慮的最終風(fēng)險管理方法)制定行動方案提供了一些支持。
3.4 風(fēng)險應(yīng)對策略
風(fēng)險應(yīng)對策略可有效地提供一般選項以考慮對預(yù)期的項目威脅制定應(yīng)對措施。隨著風(fēng)險的性質(zhì)不斷發(fā)展或發(fā)生顯著變化,每個項目都需要在整個項目中制定、執(zhí)行和重新評估特定的響應(yīng)。但是與狹義的風(fēng)險定義一致,它們沒有針對不可預(yù)見的威脅提供通用的響應(yīng)選項。
因此,基于這次對相關(guān)文獻的研究,作者得出以下結(jié)論:第一,風(fēng)險的含義與軟件項目相關(guān),并且風(fēng)險管理有必要和潛力來促進項目成果;第二,在研究和實踐文獻中,風(fēng)險和風(fēng)險管理的發(fā)展落后于實踐中需要應(yīng)用的需求;第三,在實踐中采用風(fēng)險和風(fēng)險管理的概念和方法落后于文獻中的理解和規(guī)定??傊谘芯亢蛯嵺`中需要更好的風(fēng)險管理。
這些發(fā)現(xiàn)沒有暗示因果關(guān)系。就是說,沒有人說風(fēng)險管理的實踐水平低,因為風(fēng)險管理沒有完全滿足實踐的需要。相反,結(jié)論強調(diào)需要進行研究以擴展風(fēng)險概念和風(fēng)險管理的相關(guān)性,以改善軟件項目的成果。以下實例研究支持,加強和擴展了這些結(jié)論。
該研究調(diào)查了政府機構(gòu)中的軟件項目和風(fēng)險管理實踐。該研究的主要目的不是私營部門與公共部門之間的比較,而是要調(diào)查一個公共部門的做法,該公共部門近年來在軟件項目中經(jīng)歷了顯著的成功和失敗。與信息提供者進行了結(jié)構(gòu)化的訪談,并根據(jù)線人對項目的看法編寫了案例研究。訪談包含150個問題,涉及9個主題領(lǐng)域:信息提供者、組織、項目、治理、風(fēng)險和風(fēng)險管理、開發(fā)、實施、第三方等。這些問題是通過對項目管理和風(fēng)險管理研究文獻中的風(fēng)險和成功因素進行回顧而得出的,對問題的回答反映了線人對項目的看法。在大多數(shù)情況下,要求參與者通過選擇1到10之間的一個值來回答,其中1是回答該問題表示“否”或最低值,而10表示“是”或最高值。然后,他們有機會解釋他們的答案。例如,“項目是否在預(yù)算范圍內(nèi)完成?”有人可能用8回答了該問題,并給出了費用略有超支的解釋,但超出了該機構(gòu)認(rèn)為可以接受的范圍。訪談持續(xù)一到兩個小時,并被記錄下來。研究人員隨后使用訪談記錄來生成描述性統(tǒng)計數(shù)據(jù),并準(zhǔn)備對項目描述進行描述性的案例研究。案例研究說明已由相應(yīng)的信息提供者確認(rèn)。
對每個案例研究進行了定性分析,以確定出在促進或抑制項目的績效和/或成果方面,哪些工件的影響是最重要的。兩名研究人員從個案研究中獨立鑒定出300多件文物,作為證據(jù)數(shù)據(jù)。關(guān)注的重點是與所研究項目及其背景直接相關(guān)的新穎特征和事件(即針對特定項目而不是一般因素)。然后,研究人員按主題對工件進行排序,得出10類會影響相關(guān)軟件的風(fēng)險因素。對類別的進一步分析為文獻提供了支持,并在所研究的案例中產(chǎn)生了對軟件項目風(fēng)險和風(fēng)險管理實踐的新穎見解。
本節(jié)總結(jié)了這項研究的三個主要發(fā)現(xiàn)。首先,概述了關(guān)鍵實踐領(lǐng)域的發(fā)現(xiàn);其次,描述了在研究中發(fā)現(xiàn)的主要危險因素;最后,描述和討論了多個項目類型的意外發(fā)現(xiàn),每個項目類型對風(fēng)險和項目管理都有不同的含義。
本文研究了相關(guān)文獻中的風(fēng)險和風(fēng)險管理以及對政府機構(gòu)中軟件項目的研究,得出三個總體結(jié)論:首先,風(fēng)險管理能力可以在管理軟件項目中發(fā)揮重要作用;其次,文獻中的風(fēng)險和風(fēng)險管理理論的概念化和發(fā)展落后于處理與軟件項目所面臨的各種不確定性相關(guān)的威脅的實踐要求;最后,風(fēng)險管理的實踐落后于研究文獻中對風(fēng)險和風(fēng)險管理的理解和規(guī)定。
該研究僅關(guān)注軟件類項目,其他種類的項目(硬件類或集成類)在政府機構(gòu)或事業(yè)單位中也很常見,需要根據(jù)實際項目提出相對應(yīng)的項目風(fēng)險和風(fēng)險管理見解。
本文中的分析提供了與該領(lǐng)域未來研究相關(guān)的見解,在項目控制中找到合適的嚴(yán)格度或過程量是一個管理問題。意外和無法預(yù)見的威脅在項目管理中無法預(yù)料,需要對風(fēng)險管理進行分析,提出遇到風(fēng)險的解決辦法,快速對風(fēng)險進行響應(yīng)和解決。這些管理能力是通過長期從內(nèi)部學(xué)習(xí)并通過將累積的項目和風(fēng)險管理能力制度化為組織的結(jié)構(gòu),貫穿在整個項目生命周期中。從業(yè)者將從進一步的研究中受益,這些研究的重點是風(fēng)險管理的執(zhí)行端以及前端風(fēng)險評估和監(jiān)視過程。
代理機構(gòu)研究以文獻中的風(fēng)險管理研究現(xiàn)狀作為當(dāng)前基準(zhǔn),發(fā)現(xiàn)組織在實踐中充分利用這些知識往往會滯后。例如,在最初的風(fēng)險識別之后,風(fēng)險管理往往被委派給項目經(jīng)理,而項目經(jīng)理通常所做的只是在每次指導(dǎo)委員會會議之前非正式地更新風(fēng)險登記冊。此外,檢查表往往被天真地使用,并且風(fēng)險管理實踐常常在整個項目中都沒有得到維持或在項目結(jié)束時進行評估。如果這一發(fā)現(xiàn)可以推廣到其他組織,則對項目經(jīng)理和利益相關(guān)者會產(chǎn)生一些實踐意義。
本文回顧并重新評估了公共部門機構(gòu)樣本中的風(fēng)險管理研究在文獻和實踐中的地位。在任何情況下,軟件項目都是復(fù)雜的多維性工作,無論是在私有環(huán)境還是公共環(huán)境中,都特別容易導(dǎo)致失敗。通過調(diào)查也發(fā)現(xiàn),將風(fēng)險視為負(fù)面影響的威脅與軟件項目有關(guān),而且文獻中風(fēng)險和風(fēng)險管理的發(fā)展落后于實踐中的現(xiàn)象需求,而實踐中采用風(fēng)險概念和風(fēng)險管理方法則落后于文獻中的理解和規(guī)定。
鑒于失敗的軟件項目可能帶來的成本和損失,研究人員和從業(yè)人員必須繼續(xù)相互學(xué)習(xí),以減少項目失敗,在有限的時間控制下開發(fā)出可以按時交付滿足項目需求的產(chǎn)品。作為項目和組織能力者,更好的風(fēng)險管理對于實現(xiàn)這些目標(biāo)至關(guān)重要。