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

圖1:注入階段風(fēng)險數(shù)量

圖2:感知階段的風(fēng)險數(shù)量
如果采用ERA 方法時,要進行以下步驟進行。
(1)項目的分類。項目被劃分為短期、長期項目,其依據(jù)是所需的開發(fā)時間和資源所需的項目人員。
(2)識別風(fēng)險。風(fēng)險可以被歸類為以下任何一種,溝通風(fēng)險,質(zhì)量風(fēng)險,技術(shù)風(fēng)險,系統(tǒng)配置風(fēng)險,以及估算風(fēng)險。
(3)CTP2 進行風(fēng)險測量。
終端用戶是管理員、客戶、雇員,和經(jīng)理。風(fēng)險被注入,因為開發(fā)人員漏掉了增加了一個終端用戶,即業(yè)務(wù)流程的外包(BPO)開發(fā)人員。由于整套的終端用戶沒有被定義,當(dāng)一個未被定義的用戶嘗試使用該程序時,該程序的功能就會失效。當(dāng)一個未定義的用戶試圖訪問該應(yīng)用程序,這反過來又影響了軟件的使用。這是一個功能上的不足之處,因此,無論CTP2 中受影響最大的參數(shù)是什么,成本是最終受影響最大的主要部分。
(4)風(fēng)險概率。
風(fēng)險1 的RPI--發(fā)生的概率=1。
可能發(fā)生的類型=非常頻繁(一旦在生產(chǎn)中部署)。
此外,風(fēng)險1 的RIL-風(fēng)險性質(zhì)=極高風(fēng)險高風(fēng)險(RIL>75%)。
性質(zhì)描述=工作停頓器
根據(jù)上述步驟,也就是說,從1 到4 的風(fēng)險1,這是在應(yīng)用ERA 方法時收集的。風(fēng)險1 現(xiàn)在被認為是一個分析的風(fēng)險。這種分析風(fēng)險的模式有助于人們制定戰(zhàn)略來解決風(fēng)險對軟件產(chǎn)品質(zhì)量的影響。[2]
風(fēng)險管理是軟件開發(fā)項目成長過程中的一個有益階段,它有助于開發(fā)人員對軟件開發(fā)活動的計劃和過程進行擴展,有助于開發(fā)人員在軟件行業(yè)中擴展開發(fā)活動的規(guī)劃和進程。為了使其更加有利可圖和富有成效,本文提出的ERA 方法,不僅可以幫助開發(fā)者識別階段性的風(fēng)險,而且還展示了潛在風(fēng)險而受到高度影響的部分。