齊愛(ài)朋
(河南工業(yè)貿(mào)易職業(yè)學(xué)院 河南省鄭州市 451100)
每個(gè)IT 公司都必須成功解決軟件開(kāi)發(fā)過(guò)程中的各種挑戰(zhàn)。通過(guò)這種方式,可以減少?gòu)?fù)雜性,并確保在發(fā)展過(guò)程中的可持續(xù)性。由于軟件開(kāi)發(fā)過(guò)程需要遵循系統(tǒng)和定義明確的生命周期,因此開(kāi)發(fā)人員和管理人員可以在部署軟件之前設(shè)計(jì)、構(gòu)建和測(cè)試軟件,然后在部署到客戶現(xiàn)場(chǎng)。按照以上步驟實(shí)施時(shí),任何違反的因素都會(huì)造成無(wú)法想象的意外出現(xiàn),如果處理不及時(shí),就變成了風(fēng)險(xiǎn)。
預(yù)測(cè)項(xiàng)目中不可預(yù)見(jiàn)的情況是一個(gè)挑戰(zhàn),通過(guò)制定適當(dāng)?shù)娘L(fēng)險(xiǎn)管理計(jì)劃,它們?nèi)匀豢梢砸砸环N不受干擾的方式進(jìn)行管理。每一次風(fēng)險(xiǎn)的發(fā)生時(shí),都必須記錄下來(lái),做好管理和處理工作,以避免在此發(fā)生此類事件。然而,在軟件開(kāi)發(fā)的時(shí)候,風(fēng)險(xiǎn)在任何時(shí)候都有可能發(fā)生,也可能由于以下幾個(gè)因素,例如:新的客戶、資源可用性、新技術(shù)、新員工、不恰當(dāng)?shù)挠?jì)劃以及管理等。因此,風(fēng)險(xiǎn)管理計(jì)劃是十分必要的。[1]
因?yàn)轱L(fēng)險(xiǎn)已經(jīng)被證明是軟件開(kāi)發(fā)種最大的風(fēng)險(xiǎn)之一,也是評(píng)估一個(gè)軟件產(chǎn)品質(zhì)量的主要因素之一,因此,研究制定有效降低風(fēng)險(xiǎn)的危害性十分有必要。在軟件開(kāi)發(fā)過(guò)程中,為了在項(xiàng)目生命周期中進(jìn)行決策和風(fēng)險(xiǎn)監(jiān)測(cè),要注意分析適當(dāng)性和實(shí)用性指標(biāo),保持其完整性。
軟件風(fēng)險(xiǎn)評(píng)估可以用概率圖形法(BBN-Bayesian)進(jìn)行。這種方法有助于將重點(diǎn)放在軟件風(fēng)險(xiǎn)指標(biāo),這些指標(biāo)是基于從軟件開(kāi)發(fā)項(xiàng)目中收集的數(shù)據(jù)。這一點(diǎn)可以通過(guò)對(duì)最流行的軟件進(jìn)行調(diào)查來(lái)證明其軟件開(kāi)發(fā)過(guò)程模型。另一種方法采用適當(dāng)?shù)娘L(fēng)險(xiǎn)管理,將軟件風(fēng)險(xiǎn)和軟件安全結(jié)合起來(lái),稱之為循環(huán)模型,它可以幫助開(kāi)發(fā)人員在開(kāi)發(fā)的早期階段識(shí)別和減少風(fēng)險(xiǎn)。有人也提出了一種風(fēng)險(xiǎn)管理模式,叫做面向項(xiàng)目的風(fēng)險(xiǎn)管理,這個(gè)模型解決了軟件開(kāi)發(fā)種協(xié)調(diào)與溝通的挑戰(zhàn)。由于在軟件開(kāi)發(fā)中將面臨諸多的挑戰(zhàn),可以通過(guò)有效的風(fēng)險(xiǎn)管理來(lái)避免問(wèn)題,帶來(lái)成功。[2]
盡管有許多建設(shè)性的策略來(lái)管理風(fēng)險(xiǎn),但是,一個(gè)小小的問(wèn)題就可能對(duì)項(xiàng)目造成災(zāi)難性的結(jié)果。因此,處理風(fēng)險(xiǎn)的不確定性成為項(xiàng)目管理的一個(gè)重要研究領(lǐng)域。盡管進(jìn)行了廣泛的研究,但在處理突發(fā)威脅方面的改進(jìn)的余地還很大。此外,導(dǎo)致這些威脅泄露的原因有很多。有時(shí),一些風(fēng)險(xiǎn)沒(méi)有被發(fā)現(xiàn),其影響只有在項(xiàng)目開(kāi)發(fā)結(jié)束時(shí)才會(huì)被看到,從而影響到組織的更高層面。因此,該由于項(xiàng)目的模糊性,風(fēng)險(xiǎn)持續(xù)存在,可能成為一個(gè)復(fù)雜的過(guò)程。因此,本文的目的是通過(guò)引入"增強(qiáng)型"的風(fēng)險(xiǎn)管理策略來(lái)加強(qiáng)風(fēng)險(xiǎn)管理。風(fēng)險(xiǎn)管理戰(zhàn)略,引入強(qiáng)化的風(fēng)險(xiǎn)分析(ERA)方法,該方法作為在軟件開(kāi)發(fā)的每個(gè)階段檢測(cè)和分析風(fēng)險(xiǎn)一種探測(cè)和分析風(fēng)險(xiǎn)的有效技術(shù)。這種方法將進(jìn)一步使管理人員能夠量化和評(píng)估每個(gè)風(fēng)險(xiǎn)在成本、時(shí)間、人員和流程方面的影響,將有助于在開(kāi)發(fā)過(guò)程中做出決定,了解風(fēng)險(xiǎn)的嚴(yán)重性,從而導(dǎo)致風(fēng)險(xiǎn)的優(yōu)先排序,并因此及時(shí)緩解。
為了了解現(xiàn)有的風(fēng)險(xiǎn)管理的相關(guān)方法,我們用抽樣數(shù)據(jù)進(jìn)行了一次實(shí)驗(yàn),并分析了其對(duì)企業(yè)成功的影響。通過(guò)對(duì)數(shù)據(jù)進(jìn)行實(shí)驗(yàn),分析了其對(duì)軟件項(xiàng)目成功的影響。在軟件開(kāi)發(fā)團(tuán)隊(duì)的幫助下,收集了各組織的項(xiàng)目數(shù)據(jù)。調(diào)查的主要目的是了解現(xiàn)有風(fēng)險(xiǎn)管理策略中尚未解決的威脅,以確定其中的差距,并建議如何解決這些問(wèn)題。識(shí)別其中的差距,并建議如何利用ERA 方法來(lái)填補(bǔ)這些差距。
然而,數(shù)據(jù)類型表示為調(diào)查目的而收集的數(shù)據(jù),它包括來(lái)自開(kāi)發(fā)的數(shù)據(jù),如需求工程、設(shè)計(jì)、協(xié)議,以及代碼、測(cè)試案例和測(cè)試結(jié)果。抽樣類型是在選擇風(fēng)險(xiǎn)時(shí)采用的選擇性抽樣。此外,從抽樣的項(xiàng)目中,選擇了表明不確定性的數(shù)據(jù)被選中(風(fēng)險(xiǎn))。此外,根據(jù)項(xiàng)目開(kāi)發(fā)者、項(xiàng)目經(jīng)理、測(cè)試團(tuán)隊(duì)和利益相關(guān)者提供的信息,風(fēng)險(xiǎn)會(huì)被記錄下來(lái)。
為了縮小對(duì)數(shù)據(jù)的調(diào)查范圍,制定了一些假設(shè),如下所示:
(1)風(fēng)險(xiǎn)樣本僅取自那些項(xiàng)目,這些項(xiàng)目遵循完整的軟件開(kāi)發(fā)生命周期(SDLC)的項(xiàng)目。
(2)選擇的軟件項(xiàng)目類型主要有基于產(chǎn)品、基于服務(wù)、基于改進(jìn)和支持項(xiàng)目。靈活型的項(xiàng)目類型的項(xiàng)目,以及其他像嵌入式或基于網(wǎng)絡(luò)的項(xiàng)目都沒(méi)有被考慮。
(3)屬于SDLC 的所有、任何開(kāi)發(fā)階段的風(fēng)險(xiǎn),不反映生產(chǎn)風(fēng)險(xiǎn)。
因此,從文獻(xiàn)調(diào)查以及從對(duì)各種項(xiàng)目進(jìn)行的實(shí)證調(diào)查來(lái)看,無(wú)論在項(xiàng)目中采用何種風(fēng)險(xiǎn)管理策略,風(fēng)險(xiǎn)都是普遍存在的。這進(jìn)一步表明,有必要改進(jìn)現(xiàn)有的風(fēng)險(xiǎn)管理技術(shù)。因此,風(fēng)險(xiǎn)分析(ERA)技術(shù)得到了應(yīng)用。[3]
風(fēng)險(xiǎn)分析(ERA)是一種方法,幫助決策團(tuán)隊(duì)評(píng)估項(xiàng)目中涉及的錯(cuò)綜復(fù)雜的風(fēng)險(xiǎn)。這種方法包括各種連續(xù)的活動(dòng)模式,最終導(dǎo)致了風(fēng)險(xiǎn)分析的設(shè)計(jì)。
ERA 方法是一種生產(chǎn)前的活動(dòng)。根據(jù)這個(gè)過(guò)程,根據(jù)項(xiàng)目的類型,風(fēng)險(xiǎn)可以分類長(zhǎng)期項(xiàng)目或短期項(xiàng)目。這種項(xiàng)目的分類有助于開(kāi)發(fā)人員以更準(zhǔn)確的方式識(shí)別風(fēng)險(xiǎn),一旦項(xiàng)目分類完成,風(fēng)險(xiǎn)類型就可以被識(shí)別出來(lái),是一個(gè)非常準(zhǔn)確的方式?;谒鶎俚钠脚_(tái),風(fēng)險(xiǎn)分類被進(jìn)一步分析如下。
(1)溝通風(fēng)險(xiǎn)-由于缺乏有效地溝通而產(chǎn)生的風(fēng)險(xiǎn)。
(2)質(zhì)量風(fēng)險(xiǎn)-由于缺乏質(zhì)量維護(hù)而產(chǎn)生的風(fēng)險(xiǎn)。
(3)技術(shù)風(fēng)險(xiǎn)-由于技術(shù)挑戰(zhàn)而產(chǎn)生的風(fēng)險(xiǎn)。
(4)系統(tǒng)配置風(fēng)險(xiǎn)--由于不適當(dāng)、不完整的系統(tǒng)配置而導(dǎo)致的風(fēng)險(xiǎn)。
(5)估算風(fēng)險(xiǎn)-由于錯(cuò)誤的估算或沒(méi)有以正確的方式估計(jì)而產(chǎn)生的風(fēng)險(xiǎn)。
一旦風(fēng)險(xiǎn)類型被分類,就需要根據(jù)其發(fā)生的概率和影響的程度來(lái)衡量。在這種方法中,風(fēng)險(xiǎn)影響的衡量標(biāo)準(zhǔn)是參數(shù)CTP2,即:C-成本、T-時(shí)間、P-人和P-過(guò)程,并以受影響最大的部分為基礎(chǔ)。成本往往是受影響最突出的部分之一。
然而,風(fēng)險(xiǎn)優(yōu)先權(quán)需要在風(fēng)險(xiǎn)概率指數(shù)(RPI)和風(fēng)險(xiǎn)指數(shù)水平(RIL)的幫助下確定。RPI 衡量風(fēng)險(xiǎn)的發(fā)生率為非常頻繁、頻繁、罕見(jiàn)或不可能。RIL 是根據(jù)風(fēng)險(xiǎn)的性質(zhì)來(lái)確定的,即如果風(fēng)險(xiǎn)屬于工作停頓類型,則為非常高的風(fēng)險(xiǎn)。如果它引起部署錯(cuò)誤或語(yǔ)法錯(cuò)誤,在某些條件下是一個(gè)工作障礙,則為高風(fēng)險(xiǎn)。否則,它可以被認(rèn)為是一個(gè)低風(fēng)險(xiǎn)?;赗PI 和RIL 值,對(duì)風(fēng)險(xiǎn)進(jìn)行優(yōu)先排序。[4]
因此,ERA 方法是一種積極主動(dòng)的策略,以確定識(shí)別風(fēng)險(xiǎn)的主動(dòng)策略,可以通過(guò)回顧性策略進(jìn)行后續(xù)的緩解。
本方法的目的是要做一個(gè)風(fēng)險(xiǎn)分析,從而使ERA 方法可以主動(dòng)應(yīng)用,以幫助開(kāi)發(fā)人員評(píng)估其影響,并以有效的方式對(duì)風(fēng)險(xiǎn)進(jìn)行優(yōu)先排序。
圖1 顯示了一個(gè)比較風(fēng)險(xiǎn)在注入階段的比較。圖2 顯示了感知階段的風(fēng)險(xiǎn)數(shù)量比較。
圖1:注入階段風(fēng)險(xiǎn)數(shù)量
圖2:感知階段的風(fēng)險(xiǎn)數(shù)量
如果采用ERA 方法時(shí),要進(jìn)行以下步驟進(jìn)行。
(1)項(xiàng)目的分類。項(xiàng)目被劃分為短期、長(zhǎng)期項(xiàng)目,其依據(jù)是所需的開(kāi)發(fā)時(shí)間和資源所需的項(xiàng)目人員。
(2)識(shí)別風(fēng)險(xiǎn)。風(fēng)險(xiǎn)可以被歸類為以下任何一種,溝通風(fēng)險(xiǎn),質(zhì)量風(fēng)險(xiǎn),技術(shù)風(fēng)險(xiǎn),系統(tǒng)配置風(fēng)險(xiǎn),以及估算風(fēng)險(xiǎn)。
(3)CTP2 進(jìn)行風(fēng)險(xiǎn)測(cè)量。
終端用戶是管理員、客戶、雇員,和經(jīng)理。風(fēng)險(xiǎn)被注入,因?yàn)殚_(kāi)發(fā)人員漏掉了增加了一個(gè)終端用戶,即業(yè)務(wù)流程的外包(BPO)開(kāi)發(fā)人員。由于整套的終端用戶沒(méi)有被定義,當(dāng)一個(gè)未被定義的用戶嘗試使用該程序時(shí),該程序的功能就會(huì)失效。當(dāng)一個(gè)未定義的用戶試圖訪問(wèn)該應(yīng)用程序,這反過(guò)來(lái)又影響了軟件的使用。這是一個(gè)功能上的不足之處,因此,無(wú)論CTP2 中受影響最大的參數(shù)是什么,成本是最終受影響最大的主要部分。
(4)風(fēng)險(xiǎn)概率。
風(fēng)險(xiǎn)1 的RPI--發(fā)生的概率=1。
可能發(fā)生的類型=非常頻繁(一旦在生產(chǎn)中部署)。
此外,風(fēng)險(xiǎn)1 的RIL-風(fēng)險(xiǎn)性質(zhì)=極高風(fēng)險(xiǎn)高風(fēng)險(xiǎn)(RIL>75%)。
性質(zhì)描述=工作停頓器
根據(jù)上述步驟,也就是說(shuō),從1 到4 的風(fēng)險(xiǎn)1,這是在應(yīng)用ERA 方法時(shí)收集的。風(fēng)險(xiǎn)1 現(xiàn)在被認(rèn)為是一個(gè)分析的風(fēng)險(xiǎn)。這種分析風(fēng)險(xiǎn)的模式有助于人們制定戰(zhàn)略來(lái)解決風(fēng)險(xiǎn)對(duì)軟件產(chǎn)品質(zhì)量的影響。[2]
風(fēng)險(xiǎn)管理是軟件開(kāi)發(fā)項(xiàng)目成長(zhǎng)過(guò)程中的一個(gè)有益階段,它有助于開(kāi)發(fā)人員對(duì)軟件開(kāi)發(fā)活動(dòng)的計(jì)劃和過(guò)程進(jìn)行擴(kuò)展,有助于開(kāi)發(fā)人員在軟件行業(yè)中擴(kuò)展開(kāi)發(fā)活動(dòng)的規(guī)劃和進(jìn)程。為了使其更加有利可圖和富有成效,本文提出的ERA 方法,不僅可以幫助開(kāi)發(fā)者識(shí)別階段性的風(fēng)險(xiǎn),而且還展示了潛在風(fēng)險(xiǎn)而受到高度影響的部分。