風(fēng)險是遭受損失的一種可能性,發(fā)生在20 世紀(jì)70 年代初期的軟件危機徹底讓人們認(rèn)識到軟件開發(fā)過程中存在的風(fēng)險。1989 年Boehm 首次提出了軟件開發(fā)過程中風(fēng)險管理這一概念,如今隨著計算機技術(shù)的發(fā)展,軟件的復(fù)雜度越來越高,而且針對具體行業(yè)的項目日益增多,對軟件項目系統(tǒng)化、規(guī)范化管理的需求越來越迫切。
風(fēng)險管理是項目管理中不可缺少的一部分,而軟件項目的風(fēng)險管理更是軟件項目管理中的重要內(nèi)容。大量的統(tǒng)計表明,實行有效的風(fēng)險管理是軟件項目開發(fā)過程中減少損失的一種重要手段。風(fēng)險管理不僅僅存在于項目可行性研究階段,是貫穿在軟件項目開發(fā)周期的全過程中。
風(fēng)險管理是指辨識、分析和控制風(fēng)險的活動,這組活動不是孤立的,而是一組系統(tǒng)化、持續(xù)化的過程。根據(jù)美國項目管理學(xué)會的報告,風(fēng)險管理有三個定義: (1)風(fēng)險管理是系統(tǒng)識別和評估風(fēng)險因素的形式化過程。(2)風(fēng)險管理是識別和控制能夠引起不希望變化的潛在領(lǐng)域和事件的形式、系統(tǒng)的方法。風(fēng)險管理是在項目期間識別、分析風(fēng)險因素,采取必要對策的決策科學(xué)與藝術(shù)的結(jié)合。軟件項目風(fēng)險管理出現(xiàn)在上世紀(jì)80 年代末,到現(xiàn)在只有三十多年的歷程,在軟件項目風(fēng)險管理領(lǐng)域中,人們多是借鑒于工程項目的管理方法來解決軟件項目開發(fā)中出現(xiàn)的風(fēng)險問題,并且對于軟件項目的風(fēng)險管理概念的理解是來自于其他工程項目的風(fēng)險管理,并在其基礎(chǔ)上有所討論和改進(jìn)。
因此,軟件項目風(fēng)險管理是指項目管理團(tuán)隊通過風(fēng)險識別、風(fēng)險量化和風(fēng)險控制,采用多種管理方法、技術(shù)和工具,對軟件項目所涉及的各種風(fēng)險實施有效的控制和管理,采取主動行動,盡量使風(fēng)險事件的有利后果(帶來的機會)最大,而使風(fēng)險事件所帶來的不利后果(威脅)降到最低,以最少的成本保證項目安全、可靠的實施,從而實現(xiàn)項目的總目標(biāo)。
軟件項目風(fēng)險管理過程一般包括風(fēng)險識別、風(fēng)險分析、風(fēng)險應(yīng)對三個過程元素。
Boehm 將軟件項目風(fēng)險管理過程分為兩個基本步驟:風(fēng)險評估和風(fēng)險控制。其中第一步風(fēng)險評估包括風(fēng)險識別、風(fēng)險分析和風(fēng)險優(yōu)先級;就是說首先提出一個風(fēng)險列表,評估列表中各項風(fēng)險出現(xiàn)的概率和影響,從而判定風(fēng)險的級別即風(fēng)險考慮的優(yōu)先順序,這個風(fēng)險列表是風(fēng)險控制的基礎(chǔ);當(dāng)風(fēng)險因素的優(yōu)先級判定出來后,第二步就是風(fēng)險控制,包括風(fēng)險管理計劃、風(fēng)險化解和風(fēng)險監(jiān)控。這一步中,首先要制定一個應(yīng)對每項重大風(fēng)險的方案,并按照方案實際執(zhí)行化解風(fēng)險的活動,并在過程中進(jìn)行監(jiān)控。
項目風(fēng)險識別是確定何種風(fēng)險事件可能會影響項目,并將這些風(fēng)險的特性整理成文檔。而軟件項目的風(fēng)險由于軟件項目的復(fù)雜性、特殊性,可以歸納為以下三個主要方面:
(1)需求風(fēng)險,就是需求不確定的風(fēng)險,軟件產(chǎn)品是非直觀的,是一種一次性獨一無二的努力,具有不可重復(fù)性,包含了許多不確定性的因素。比如軟件系統(tǒng)使用者對于系統(tǒng)將要現(xiàn)的目標(biāo)即具體需求不能準(zhǔn)確地描述。此外,軟件項目開發(fā)鏈長,用戶的需求不斷地在變化。
(2)技術(shù)風(fēng)險,軟件開發(fā)過程中很多做法沒有現(xiàn)成的行業(yè)規(guī)范和標(biāo)準(zhǔn),而且軟件技術(shù)發(fā)展飛速,各種新技術(shù)層出不窮,潛在的設(shè)計、實現(xiàn)、維護(hù)等方面的問題,會威脅到軟件產(chǎn)品的質(zhì)量和交互時間。
(3)管理風(fēng)險,軟件項目對協(xié)調(diào)性的管理工作要求更高,管理和控制更困難更復(fù)雜,使得管理者任務(wù)承擔(dān)者很難達(dá)成雙方一致的目標(biāo)。項目內(nèi)部人員溝通不充分,導(dǎo)致開發(fā)人員不能徹底了解用戶對系統(tǒng)的具體需求,對系統(tǒng)設(shè)計的理解存在偏差。
Boehm 博士開發(fā)了一套風(fēng)險分析模式,其中核心是前10 位的風(fēng)險識別列表,它有助于識別高優(yōu)先級的對需求、技術(shù)和管理方面有影響的風(fēng)險項目,該