目進(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)評(píng)估技術(shù),對(duì)每項(xiàng)工作進(jìn)行風(fēng)險(xiǎn)分析,在此基礎(chǔ)上,為關(guān)鍵鏈配置項(xiàng)目緩沖,為非關(guān)鍵鏈配置輸入緩沖;最后,在項(xiàng)目進(jìn)行過程中,通過對(duì)緩沖區(qū)的監(jiān)控,進(jìn)行計(jì)劃風(fēng)險(xiǎn)的管理。對(duì)項(xiàng)目進(jìn)行工作分解之后,我們以工作在理想工作條件下的完成時(shí)間來估計(jì)該工作的執(zhí)行時(shí)間。所謂理想工作條件是指既不考慮風(fēng)險(xiǎn)因素,也不考慮資源約束的“理想”狀況。這樣的理想工作條件實(shí)際是不存在的,就如同物理學(xué)研究中經(jīng)常用到的理想氣體一樣。之所以采用理想工作條件下的完成時(shí)間(簡稱為理想工作時(shí)間),而不是Goldratt的50%完成的時(shí)間,是由于在50%的時(shí)間內(nèi)肯定是不能完成工作的,太過緊張的計(jì)劃時(shí)間會(huì)給工作執(zhí)行人員造成不必要的壓力,從而加大了項(xiàng)目的系統(tǒng)功能風(fēng)險(xiǎn)。而理想工作時(shí)間既不會(huì)因?yàn)橛写罅堪踩珪r(shí)間的存在而出現(xiàn)所謂學(xué)生綜合癥、帕金森癥等工作積壓現(xiàn)象,又因?yàn)槠浯嬖诎磿r(shí)完成的可能性而對(duì)工作執(zhí)行人員起到激勵(lì)的作用。建立工作節(jié)點(diǎn)網(wǎng)絡(luò)圖。網(wǎng)絡(luò)圖中每個(gè)工作節(jié)點(diǎn)有一個(gè)三元組屬性(a/b/c),其中a為理想工作條件下的工作執(zhí)行時(shí)間估計(jì),b是該項(xiàng)工作需要的資源,c是所需資源的數(shù)量。與CPM不同的是,關(guān)鍵鏈技術(shù)不是單純以時(shí)間最長的路徑為關(guān)鍵路徑,而是在考慮了工作所需資源之后,根據(jù)資源約束,對(duì)網(wǎng)絡(luò)圖中工作的緊前關(guān)系進(jìn)行必要的調(diào)整,然后再由工作時(shí)間,找出此時(shí)的關(guān)鍵路徑,也就是關(guān)鍵鏈。我們以一個(gè)簡單的軟件開發(fā)項(xiàng)目為例來說明方法的應(yīng)用。該項(xiàng)目開發(fā)所需要的人力資源有:R1系統(tǒng)設(shè)計(jì)人員,R2程序開發(fā)人員,R3數(shù)據(jù)庫開發(fā)人員,R4系統(tǒng)測試人員。工作節(jié)點(diǎn)網(wǎng)絡(luò)圖見圖1。其中工作時(shí)間a是考慮到不確定因素的非理想工作條件下的工作執(zhí)行時(shí)間。圖中粗線標(biāo)識(shí)的路線是時(shí)間關(guān)鍵路徑。
由于考慮到人力資源約束,從圖1中可以看出,工作3和工作4資源沖突,工作2、5和工作6也存在資源沖突,我們將它們之間的并行執(zhí)行關(guān)系轉(zhuǎn)化為串行執(zhí)行,如圖1中虛線所示。同時(shí)重新按理想工作條件估計(jì)每項(xiàng)工作的執(zhí)行時(shí)間,從而得到圖2。圖2中的工作時(shí)間是理想工作時(shí)間,粗線標(biāo)識(shí)的是考慮了人力資源約束之后的項(xiàng)目關(guān)鍵鏈。
3 基于關(guān)鍵鏈的風(fēng)險(xiǎn)管理
為了保護(hù)關(guān)鍵鏈上的工作而不影響到整個(gè)項(xiàng)目的計(jì)劃進(jìn)度,關(guān)鍵鏈技術(shù)要求為關(guān)鍵鏈設(shè)置項(xiàng)目緩沖區(qū);同時(shí)為了防止非關(guān)鍵鏈上的工作影響到關(guān)鍵鏈上工作的進(jìn)度,在非關(guān)鍵鏈與關(guān)鍵鏈的匯合處設(shè)置輸入緩沖。那些不是基于關(guān)鍵鏈的項(xiàng)目往往依賴于任務(wù)和任務(wù)終止日期(里程碑進(jìn)程表)所內(nèi)含的安全性來控制項(xiàng)目進(jìn)程。而這種方式的風(fēng)險(xiǎn)在于,將使項(xiàng)目遭受共同資源行為的影響,降低提前完成進(jìn)度的能力?;陉P(guān)鍵鏈的項(xiàng)目采用接力賽式的管理方法,它鼓勵(lì)一旦獲得所需要的資源就立即交接進(jìn)入下一階段的任務(wù)輸入,一旦完成本階段的任務(wù)就立即交接該階段的項(xiàng)目輸出。團(tuán)隊(duì)成員開始及完成任務(wù)的方式是,盡快執(zhí)行并將工作傳遞給下一個(gè)資源,盡其所能盡早傳下去?;陉P(guān)鍵鏈技術(shù)的軟件項(xiàng)目風(fēng)險(xiǎn)管理是通過對(duì)緩沖區(qū)的監(jiān)控進(jìn)行的。在關(guān)鍵鏈管理方式下,任何任務(wù)都可以消耗項(xiàng)目緩沖或匯入緩沖。當(dāng)一項(xiàng)任務(wù)實(shí)際耗時(shí) 超過估計(jì)時(shí)間時(shí),它將占用相關(guān)緩沖。通過對(duì)緩沖區(qū)的監(jiān)控,即緩沖區(qū)消耗的程度與關(guān)鍵鏈完成的程度進(jìn)行比較,可以部分的判斷出項(xiàng)目執(zhí)行狀態(tài)。因此,我們?yōu)榫彌_區(qū)設(shè)置了安全底線,在項(xiàng)目進(jìn)行過程中,定時(shí)觀測緩沖區(qū)的大小,若緩沖區(qū)處于安全底線以上,認(rèn)為工作情況正常,低于安全底線,則有必要采取風(fēng)險(xiǎn)措施。
4 結(jié)語
本文討論了基于關(guān)鍵鏈的軟件項(xiàng)目風(fēng)險(xiǎn)管理方法。以理想工作條件下各個(gè)工作的執(zhí)行時(shí)間建立工作節(jié)點(diǎn)網(wǎng)絡(luò)圖,考慮人力資源的沖突,確定關(guān)鍵鏈。在對(duì)各個(gè)工作進(jìn)行風(fēng)險(xiǎn)分析的基礎(chǔ)上,配置項(xiàng)目緩沖區(qū)和輸入緩沖區(qū),以消除不確定性,保證整個(gè)項(xiàng)目的按時(shí)完工。項(xiàng)目過程中,通過對(duì)緩沖區(qū)的監(jiān)控和管理,實(shí)現(xiàn)對(duì)軟件項(xiàng)目的風(fēng)險(xiǎn)管理。