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