摘要:關鍵鏈項目管理方法是約束理論在項目管理上的應用,是近年來項目管理領域的重要創新。與傳統的項目管理方法相比,該方法強調在制定項目計劃時考慮現實存在的資源約束,在項目執行過程中的動態管理,以及整個項目管理流程的持續改進。文中討論基于關鍵鏈的軟件項目管理方法。基于軟件過程工作分解結構,預測各項工作在理想工作條件下的工期,考慮人力資源的約束與沖突,建立項目的關鍵鏈。通過對各項工作的風險分析,為關鍵鏈、非關鍵鏈分別設置項目緩沖、輸入緩沖,通過對緩沖區的監控來進行風險的控制和管理。
關鍵詞:項目管理;風險管理;關鍵鏈
基于關鍵鏈的項目管理不僅僅是關鍵鏈的進度安排及緩沖管理,還為進度安排及控制提供了有效的風險管理方式,也對項目管理起始環節的范圍管理和計劃管理、有效的資源配置行為以及減少項目間的相互影響等方面的風險管理發揮作用。
1 關鍵鏈技術介紹
1997年,Goldratt出版了《關鍵鏈》一書,將約束集理論(Theory of Constraints, TOC)應用于項目管理領域,提出了項目管理的全新方法。Goldratt定義關鍵鏈是既考慮工作間的依賴關系又考慮資源間依賴關系的最長的工作序列。
關鍵鏈項目管理方法自提出以來,就引起了廣泛的反響,被認為是項目管理領域自發明關鍵路線法(CPM)和計劃評審技術(PERT)以來最重要的進展之一[1]。關鍵鏈方法在實際應用中已取得了巨大成功,許多國際知名公司紛紛采用關鍵鏈方法提高項目管理績效。例如,希捷科技公司減少一半的新產品開發時間;埃爾比特系統公司能夠在兩小時內完成全部40件高層管理團隊的項目檢查;洛德公司的IT團隊從100%的項目延遲完成率,變成85%提早或準時完成;美國海軍陸戰隊軍艦補給站使用同樣的資源,卻可完成比原來多出3倍的工作量;宇航系統公司的部門減少 2~4個月的項目時間(節約20~40%),項目收入增加 3700萬美元。[2]
2 關鍵鏈的確定

不管項目進度如何完善或者在項目進度中各種資源如何很好地在任務執行中發揮作用,但是,如果與項目有關的各關鍵依賴因素沒有被考慮在內,那么這些因素將會對項目的交付造成很大風險。采用關鍵鏈進行項目風險管理的第一步是被稱為網絡建設的過程,即項目的依賴網絡的建設過程。這個過程通過一種多途徑的方式,可以確保項目所依賴的所有關鍵因素都不會被遺漏。關鍵鏈環境下的依賴網絡的建設重點在識別支持項目可交付成果所需的輸入上,正如所有有效的項目管理計劃過程一樣,在項目開始時我們就已知道它的終點在哪里。這種逆向的網絡建設方法能夠確保在定義項目輸入之前就已對項目輸出有了良好的理解。任何依賴網絡的建設過程都是關于對必要的傳遞工作的識別和納入。而這些傳遞工作將任務鏈接在一起,形成了關鍵鏈。項目計劃,即項目的依賴網絡,就是將即將發生的項目傳遞工作的簡單匯總,以便在實現項目目標的過程中克服障礙,并在這一過程中將潛在的負面影響減少到最低。這種對項目依賴因素的關注實際上就是對風險的關注,因為在項目計劃和進度安排中,對某些依賴因素的忽略將成為未來項目實施中風險的重要來源。
網絡建設的最后一步是開發對于任務工期和反復的范圍評估。關鍵鏈法避免了追求“精確評估”這一矛盾的想法,而是將每個項目投入的變化和不確定都明確地接受并加以考慮。
針對軟件項目的特點和進度風險管理的任務,我們在本文中考慮軟件項目中人力資源的約束。在風險分析的基礎上,設置項目緩沖區和輸入緩沖區,以應對項目過程中的不確定性因素,控制進度風險,確保項目整體的按時完工。首先對項目進行工作分解,估計理想工作條件下各工作的執行時間以及人力資源分配,建立工作節點網絡圖(Active on Node,AON);然后考慮人力資源的約束,確定工作節點網絡圖中的關鍵鏈;接著采用風險量=風險概率×風險時間這樣的技術風險評估技術,對每項工作進行風險分析,在此基礎上,為關鍵鏈配置項目緩沖,為非關鍵鏈配置輸入緩沖;最后,在項目進行過程中,通過對緩沖區的監控,進行計劃風險的管理。對項目進行工作分解之后,我們以工
作在理想工作條件下的完成時間來估計該工作的執行時間。所謂理想工作條件是指既不考慮風險因素,也不考慮資源約束的“理想”狀況。這樣的理想工作條件實際是不存在的,就如同物理學研究中經常用到的理想氣體一樣。之所以采用理想工作條件下的完成時間(簡稱為理想工作時間),而不是Goldratt的50%完成的時間,是由于在50%的時間內肯定是不能完成工作的,太過緊張的計劃時間會給工作執行人員造成不必要的壓力,從而加大了項目的系統功能風險。而理想工作時間既不會因為有大量安全時間的存在而出現所謂學生綜合癥、帕金森癥等工作積壓現象,又因為其存在按時完成的可能性而對工作執行人員起到激勵的作用。建立工作節點網絡圖。網絡圖中每個工作節點有一個三元組屬性(a/b/c),其中a為理想工作條件下的工作執行時間估計,b是該項工作需要的資源,c是所需資源的數量。與CPM不同的是,關鍵鏈技術不是單純以時間最長的路徑為關鍵路徑,而是在考慮了工作所需資源之后,根據資源約束,對網絡圖中工作的緊前關系進行必要的調整,然后再由工作時間,找出此時的關鍵路徑,也就是關鍵鏈。我們以一個簡單的軟件開發項目為例來說明方法的應用。該項目開發所需要的人力資源有:R1系統設計人員,R2程序開發人員,R3數據庫開發人員,R4系統測試人員。工作節點網絡圖見圖1。其中工作時間a是考慮到不確定因素的非理想工作條件下的工作執行時間。圖中粗線標識的路線是時間關鍵路徑。
由于考慮到人力資源約束,從圖1中可以看出,工作3和工作4資源沖突,工作2、5和工作6也存在資源沖突,我們將它們之間的并行執行關系轉化為串行執行,如圖1中虛線所示。同時重新按理想工作條件估計每項工作的執行時間,從而得到圖2。圖2中的工作時間是理想工作時間,粗線標識的是考慮了人力資源約束之后的項目關鍵鏈。
3 基于關鍵鏈的風險管理
為了保護關鍵鏈上的工作而不影響到整個項目的計劃進度,關鍵鏈技術要求為關鍵鏈設置項目緩沖區;同時為了防止非關鍵鏈上的工作影響到關鍵鏈上工作的進度,在非關鍵鏈與關鍵鏈的匯合處設置輸入緩沖。那些不是基于關鍵鏈的項目往往依賴于任務和任務終止日期(里程碑進程表)所內含的安全性來控制項目進程。而這種方式的風險在于,將使項目遭受共同資源行為的影響,降低提前完成進度的能力。基于關鍵鏈的項目采用接力賽式的管理方法,它鼓勵一旦獲得所需要的資源就立即交接進入下一階段的任務輸入,一旦完成本階段的任務就立即交接該階段的項目輸出。團隊成員開始及完成任務的方式是,盡快執行并將工作傳遞給下一個資源,盡其所能盡早傳下去。基于關鍵鏈技術的軟件項目風險管理是通過對緩沖區的監控進行的。在關鍵鏈管理方式下,任何任務都可以消耗項目緩沖或匯入緩沖。當一項任務實際耗時 超過估計時間時,它將占用相關緩沖。通過對緩沖區的監控,即緩沖區消耗的程度與關鍵鏈完成的程度進行比較,可以部分的判斷出項目執行狀態。因此,我們為緩沖區設置了安全底線,在項目進行過程中,定時觀測緩沖區的大小,若緩沖區處于安全底線以上,認為工作情況正常,低于安全底線,則有必要采取風險措施。
4 結語
本文討論了基于關鍵鏈的軟件項目風險管理方法。以理想工作條件下各個工作的執行時間建立工作節點網絡圖,考慮人力資源的沖突,確定關鍵鏈。在對各個工作進行風險分析的基礎上,配置項目緩沖區和輸入緩沖區,以消除不確定性,保證整個項目的按時完工。項目過程中,通過對緩沖區的監控和管理,實現對軟件項目的風險管理。
參考文獻
[1]Newbold R C. Project Management in the Fast Lane -Applying the of Constraints [M].Boca Raton: St. Lucie Press, 1998.
[2]LeachLP.Criticalchainproject management improves project performance.