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