摘 要:在分析軟件項目風險成因的基礎(chǔ)上,對項目管理中的風險分析、風險管理進行了詳細的研究,提出了軟件項目風險的量化管理和降低軟件項目風險性的方法。該方法有助于軟件項目管理者更好地理解潛在的主要風險因素,從而進行更好的風險管理。
關(guān)鍵詞:軟件項目;風險管理;風險分析
1 引言
隨著信息技術(shù)的飛速發(fā)展,軟件產(chǎn)品的規(guī)模也越來越龐大,個人單打獨斗的作坊式開發(fā)方式已經(jīng)越來越不適應發(fā)展的需要。各軟件企業(yè)都在積極將軟件項目管理引入開發(fā)活動中。軟件開發(fā)不同于其他產(chǎn)品的制造,軟件的整個過程都是設(shè)計過程(沒有制造過程);另外,軟件開發(fā)不需要使用大量的物質(zhì)資源,而主要是人力資源;并且,軟件開發(fā)的產(chǎn)品只是程序代碼和技術(shù)文件,并沒有其他的物質(zhì)結(jié)果。基于上述特點,軟件項目管理與其他項目管理相比,有很大的獨特性,包括:抽象性、單件生產(chǎn)、勞動密集,自動化程度低、使用方法繁瑣,維護困難、軟件工作滲透了人的因素等。
軟件項目的特殊性使其開發(fā)難度越來越大,各企業(yè)、團隊面臨的困難和風險也越來越多。近些年來,人們開始重視軟件項目風險的研究,把項目風險納入軟件工程的一個重要研究范疇。研究的目的就是探索風險的概念、特性,風險處理的策略、方法,以降低或克服軟件項目風險的危害性,從而提高軟件產(chǎn)品的質(zhì)量。
2 軟件項目的風險成因
風險因素是指可能引起風險的不確定因素,識別風險因素對于風險管理有非常重要的意義。
2.1 外部因素
影響軟件項目開發(fā)風險的外部因素主要包括:最終客戶的相關(guān)信息、與內(nèi)部或者外部中間承包商之間的關(guān)系、經(jīng)過有效培訓或者有經(jīng)驗的客戶從另外一個項目獲得的相關(guān)經(jīng)驗。外部因素通常很難控制,這就要求更多地協(xié)調(diào)項目之外的關(guān)系,對這些外部因素進行有效監(jiān)控,及時采取應對措施。
2.2 管理因素
管理因素包括:項目的所有權(quán)和決策權(quán)不明確、實際的項目狀態(tài)不清晰、不恰當?shù)娜蝿辗止び媱?、對客戶不切實際地承諾、不切實際的期望、團隊成員間的矛盾沖突等。項目管理的缺陷也會影響到項目成功。由于項目經(jīng)理往往是計劃的制定人,往往不可避免地忽略或者避開自己管理方面的問題,而這恰恰是不可忽視的。
2.3 需求因素
需求問題主要有:缺乏對產(chǎn)品的認識和產(chǎn)品需求的相關(guān)文件、沒有區(qū)分需求的優(yōu)先級、在分析過程中缺乏與客戶的溝通、新的不確定的需求不斷產(chǎn)生、管理過程因無效的需求而變更等。大多數(shù)軟件項目都面臨不確定甚至是較為混亂的需求。如果不及時對需求狀況進行控制,那么以后的項目過程中會產(chǎn)生更大的問題,甚至導致項目失敗。
2.4 技術(shù)知識因素
軟件技術(shù)不斷發(fā)展,意味著項目團隊很可能缺乏足夠的技術(shù)知識以保證項目的成功。這些因素可以歸納為:缺乏必要的培訓、對相關(guān)技術(shù)有不正確的理解、缺乏相關(guān)行業(yè)領(lǐng)域的經(jīng)驗、采用的技術(shù)方法沒有起到作用或沒有滿足這些技術(shù)方法的前提條件、忽視了編寫文檔的過程或文檔不充分。
3 軟件項目的風險研究
3.1 項目風險管理的流程
風險管理包括五個階段:風險管理計劃、風險辨識、風險分析、風險跟蹤、風險控制(見圖1)。
1) 風險管理計劃是敘述軟件項目開發(fā)過程風險管理的目標、范圍、程序的文檔。風險管理計劃明確了風險管理的目的、界定了風險管理的范圍、賦予了風險管理的權(quán)力、描述了風險管理的程序。風險管理計劃由企業(yè)決策者和項目主管共同制定。
2) 風險辨識識別出所有可能影響項目開發(fā)的風險因素和風險事件,確認風險不確定性的客觀存在、區(qū)分風險因素和風險事件、建立風險