軟件項(xiàng)目的風(fēng)險(xiǎn)主要是涉及阻礙軟件項(xiàng)目的計(jì)劃費(fèi)用、在計(jì)劃時(shí)間內(nèi)達(dá)到計(jì)劃系統(tǒng)功能等項(xiàng)目內(nèi)外各方面的因素。風(fēng)險(xiǎn)管理被認(rèn)為是減少軟件項(xiàng)目失敗的一種重要手段。所謂風(fēng)險(xiǎn),是指未來可能發(fā)生的損失,主要有兩個(gè)方面的屬性:發(fā)生概率和發(fā)生后果。將軟件開發(fā)風(fēng)險(xiǎn)劃分為時(shí)間進(jìn)度風(fēng)險(xiǎn)、功能風(fēng)險(xiǎn)、合同風(fēng)險(xiǎn)、需求管理風(fēng)險(xiǎn)、資源風(fēng)險(xiǎn)和人員管理風(fēng)險(xiǎn)等六大部分。本文討論軟件項(xiàng)目時(shí)間進(jìn)度風(fēng)險(xiǎn)的管理。
傳統(tǒng)的時(shí)間進(jìn)度計(jì)劃是基于工作分解結(jié)構(gòu)之上,通過各工作的時(shí)間估計(jì),構(gòu)建計(jì)劃網(wǎng)絡(luò),尋找時(shí)間關(guān)鍵路徑,進(jìn)行蒙特卡羅模擬等手段,獲得工期的概率分布,以此來估計(jì)進(jìn)度風(fēng)險(xiǎn)。而Goldratt提出的關(guān)鍵鏈管理方法,用關(guān)鍵鏈代替PERT/CPM中的關(guān)鍵路徑,不僅考慮了工作的執(zhí)行時(shí)間和工作間的緊前關(guān)系約束,而且還考慮工作間的資源沖突,關(guān)鍵鏈?zhǔn)侵萍s整個(gè)項(xiàng)目周期的一個(gè)工作序列。因此,本文將關(guān)鍵鏈技術(shù)用于軟件項(xiàng)目風(fēng)險(xiǎn)管理。
1、關(guān)鍵鏈技術(shù)介紹
1997年,Goldratt出版了《關(guān)鍵鏈》一書,將約束集理論(Theory of Constraints, TOC)應(yīng)用于項(xiàng)目管理領(lǐng)域,提出了項(xiàng)目管理的全新方法。Goldratt定義關(guān)鍵鏈?zhǔn)羌瓤紤]工作間的依賴關(guān)系又考慮資源間依賴關(guān)系的最長的工作序列。
Goldratt認(rèn)為在PERT中的工期估計(jì)中包含了大部分的安全時(shí)間,而安全時(shí)間并不能保證項(xiàng)目的按時(shí)完成。因此他將工作50%可能完成的時(shí)間作為工作工期的估計(jì),并以此建立工作網(wǎng)絡(luò)圖。根據(jù)工作間的資源制約關(guān)系,修改網(wǎng)絡(luò)圖,確定關(guān)鍵鏈。然后通過為關(guān)鍵鏈和非關(guān)鍵鏈分別設(shè)置項(xiàng)目緩沖(Project Buffer)和輸入緩沖(Feeding Buffer),來消除項(xiàng)目中不確定因素對項(xiàng)目執(zhí)行計(jì)劃的影響,保證整個(gè)項(xiàng)目按時(shí)完成。項(xiàng)目緩沖設(shè)置在關(guān)鍵鏈的末尾,以關(guān)鍵鏈上所有工作比PERT中少估計(jì)的工期和的50%為緩沖區(qū)的大小。輸入緩沖設(shè)置在非關(guān)鍵鏈與關(guān)鍵鏈的匯合處,以非關(guān)鍵鏈上的所有工作節(jié)省工期之和的50%為緩沖區(qū)的大小。項(xiàng)目緩沖是為了保證項(xiàng)目在計(jì)劃內(nèi)完成。之所以設(shè)置輸入緩沖,是為了保護(hù)關(guān)鍵鏈上的工作計(jì)劃不會(huì)因?yàn)榉顷P(guān)鍵鏈上工作的延遲而受到影響。
關(guān)鍵鏈技術(shù)的主要優(yōu)點(diǎn):
1)既考慮了工作間的緊前關(guān)系約束,還考慮了工作間的資源沖突;
2)標(biāo)識了資源約束和資源瓶頸,有利于項(xiàng)目過程資源的配置,降低因資源而引起的進(jìn)度風(fēng)險(xiǎn);
3)緩沖區(qū)的設(shè)置,為保證項(xiàng)目按時(shí)完成提供了有效的途徑。
針對軟件項(xiàng)目的特點(diǎn)和進(jìn)度風(fēng)險(xiǎn)管理的任務(wù),我們在本文中考慮軟件項(xiàng)目中人力資源的約束。在風(fēng)險(xiǎn)分析的基礎(chǔ)上,設(shè)置項(xiàng)目緩沖區(qū)和輸入緩沖區(qū),以應(yīng)對項(xiàng)目過程中的不確定性因素,控制進(jìn)度風(fēng)險(xiǎn),確保項(xiàng)目整體的按時(shí)完工。文中提出了基于關(guān)鍵鏈技術(shù)的軟件項(xiàng)目進(jìn)度風(fēng)險(xiǎn)管理方法。首先對項(xiàng)目進(jìn)行工作分解,估計(jì)理想工作條件下各工作的執(zhí)行時(shí)間以及人力資源分配,建立工作節(jié)點(diǎn)網(wǎng)絡(luò)圖(Active on Node,AON);然后考慮人力資源的約束,確定工作節(jié)點(diǎn)網(wǎng)絡(luò)圖中的關(guān)鍵鏈;接著采用風(fēng)險(xiǎn)量=風(fēng)險(xiǎn)概率×風(fēng)險(xiǎn)時(shí)間這樣的技術(shù)風(fēng)險(xiǎn)評估技術(shù),對每項(xiàng)工作進(jìn)行風(fēng)險(xiǎn)分析,在此基礎(chǔ)上,為關(guān)鍵鏈配置項(xiàng)目緩沖,為非關(guān)鍵鏈配置輸入緩沖;最后,在項(xiàng)目進(jìn)行過程中,通過對緩沖區(qū)的監(jiān)控,進(jìn)行計(jì)劃風(fēng)險(xiǎn)的管理。
2、關(guān)鍵鏈的確定
對項(xiàng)目進(jìn)行工作分解之后,我們以工作在理想工作條件下的完成時(shí)間來估計(jì)該工作的執(zhí)行時(shí)間。所謂理想工作條件是指既不考慮風(fēng)險(xiǎn)因素,也不考慮資源約束的“理想”狀況。這樣的理想工作條件實(shí)際是不存在的,