關鍵鏈專案管理的規劃與執行兩大部分的成果,可由『建構關鍵鏈網路圖』與『接力賽跑的執行方式』這兩大項,來評鑑關鍵鏈應用的成效。而這兩大項又可收斂到一個決策原則,即是當在建構網路及執行任務過程中,如有爭議發生時,必須下秉持『以終為始( Beginning with the end in mind )』的目標下,採取能達成風險最小化與價值最大化的雙贏方案。以下為 TOC 關鍵鏈資深專家 F ran cis S. Patrick ,對這兩部分之經驗分享與提點。感謝他多年不斷透過網頁,分享許多難得之理論結合實務的論述。
有效用的專案管理能將不確定事件處理的 有條不紊,確保實踐專案的價值。因而在專案生命週期中,管理專案的焦點該是風險管理的程序( the process of risk management )。而規格、時程、經費之規劃及執行能否有效搭配風險管理,會影響專案的成效和專案價值的展現。關鍵鏈專案管理超越傳統關鍵要徑方法的顯著之處,就在於掌控專案之不確定性與風險上,具有特殊的聚焦力和應變力。
在形成關鍵鏈計畫表( critical chain schedule )的初始階段,核心工作是確認專案所涉及之不確定性與風險( uncertainty and risk )。除了通常處理任務依賴性( task dependency )的作法之外,資源依賴性( resource dependency )和路徑間及專案間的互相影響會造成的變動,都需事先有所規劃,並在執行時以緩衝管理( buffer management )來反映整體專案之實際進度,提高預見程度,使能對不利情勢有足夠之對應處理時間。
關鍵鏈專案管理不僅是關鍵鏈計畫表和緩衝管理,基於限制理論( Theory of Constraints )的中心哲理,必然是一套全盤的專案管理方式,從開始的內容界定、時程規劃、資源的作業模式及各種相互影響的作用等,皆得多面向的考量與估計。
依賴性網路( Dependency networks )
在關鍵鏈環境中,規劃工作的主要範疇是一套稱為網路(圖)建構的程序( the process of network building ),是種多次調整逐次修改的設計工作,以確保處理到所有的關鍵依賴性。如同其他有效的專案規劃程序,如史蒂芬 柯維 博士所說『以終為始( Begin with the end in mind )』,從最終的目標開始思想,以此為整體專案的基調。設計過程將最終目的放在腦海裡,以此為發揮整體專案價值的指南針。仔細地考量到底什麼是某專案的本質,什麼執行某專案能實現的真正價值。藉由建構網路圖的過程釐清專案中,任務與資源的必然依賴關係,及執行上必要的同步機制,建立清晰的介面銜接與可能的替代作法等,以能如實達到該專案的目標並得到期待的價值。總之,透過如此深度之分析與建構過程,專案團隊清處理解專案之目標,並認同其價值,確認專案最終的驗收項目,及確保專案成功的執行準則等。確定每位專案參與者都充分瞭解專案的全貌,並協力成功地完成專案。
一旦全貌與目的清楚了,網路建構的重點則轉到任務依賴性的議題。定義清楚的驗收項目作為高層次的 WBS ( work breakdown structure ,工作分解結構 ) ,但不繼續展開 WBS 上某 WBS 的個別等級支線( hierarchical b ran ches ),而是建立相關的依賴性能。從最後目的到專案開頭,確認出主要的依賴關係,接著定義出最少資源功能的需求。往往強調『最少資源功能』有助於指出任務工作所需的資源考量及可能的依賴性,像是 揭露 關於聘用專家或短期工或學徒等議題。一旦資源需求之確認工作完成後,假如所需資源在專案執行階段還無法獲得的話,那麼接著的網路建構就得由這類資源的專家代表來檢視任務結構,找出進一步的依賴性,及澄清預期之任務執行的結果。
網路建構與風險確認( Network Building and Risk identification )
在關鍵鏈環境之網路建構上,強調清晰的任務輸入訊息有其必要性,以能落實任務的成果。而在輸入訊息之要求的討論,大都直接與執行任務的能力是否能成功完成工作的風險相關。『倒推式網路建構( backward building of the network )』保障在定義輸入訊息之前,預期之產出結果會被充分理解。事實上焦點是在風險,而專注於依賴性,因為往往未能發覺計畫與時程表上的依賴關係,是造成風險的嚴重根源。重複提出反覆思考『為了達到某個標的,需要先具備什麼呢?』,接著『還需要具備其他什麼嗎?』的問題,來引起對可能出錯之事的深入考量,確立在落實任務標的之潛在風險,及因應的必要解決方案。
如此反覆的過程(任務之輸入訊息與輸出結果的初始確立,透過資源確認和網路檢視,進而反覆檢討與估計所需之執行時間),提供一連串的『安全網( safety nets )』,提高抓出更多未發覺的依賴關係和風險。
風險迴避或緩和( Risk avoidance or Mitigation )
有效的專案規劃程序還包含必要的傳遞操作( handoffs ),傳遞是從一個任務將工作傳給另一個工作,是任務鏈的連結之處,如將輸入事物交給某任務,如將某任務執行結果輸出,即是交給下一個其他的任務。在一條具有依賴性質的網路上,從頭到尾的全部的傳遞作業,也是達成專案目標前必須克服的障礙,需要盡可能降低會造成連結點無法符合期待進行遞交的風險。對此之規劃考量含,必要輸入事物的完整性,是否能迴避被確認之風險,或在專案網路中增加額外任務以緩和風險。
在網路建構上,強調輸入事物的確認工作,而非任務的流動線或某 WBS 的獨立路徑,則有助於迴避未發覺之具依賴性的風險。在被要求的結果確定後,再提出全部的必要輸入事物,比試圖猜想接下來的需要是什麼簡單多了,尤其當後續的工作位於 WBS 的另一個路徑上。
常見到專案計畫中,有某必要之輸入事物已存在的假設,還是得不斷注意所有假設已存在的輸入事物,是否真能使該網路在未來執行中迴避與緩和風險,而事實不被這些假設掩埋。
網路建構的最後步驟是任務時段與循環範圍的估計工作( the ran ge estimates of task durations and iterations )。關鍵鏈時程計畫表對於時段與循環使用一種兩點式的估計( a 2-point estimate )。避免使用矛盾的『準確估計( accurate estimate )』方式,關鍵鏈的作法是接受及務實地考量專案的變化( variation )與不確定性 (uncertainty) 。由於具有專長的資源參與,知道如有莫非定律( Murphy Law )的事出現時,什麼情況可能會發生,及執行任務得靠運氣時,可能會發生什麼情況等重要評估。常見於特殊任務的時間估計,與無法一開始就確定之任務所需重覆工作的次數(循環)等情境。
支撐 CCPM 之專案規劃,網路建構含兩部分:
- 由資源代表檢討任務架構,並指出未發覺的依賴關係;
- 估計任務的循環與時段範圍,指出相關變化性能以利於計畫時間,也可發覺額外的依賴關係。
首先檢討任務時間的安全估計( safe estimate ),以兩點式來看,一個時間點是具有高度信心,願意視為承諾的估計時間。第二個時間點是『積極可行( aggressive but achievable )』的估計,即是反映接近『最佳事態』的情況,或是說在專案進行中可能造成問題的任務,卻有良好表現、沒造成問題的情況。

兩點估計與風險評估 / 迴避 / 緩和
在關鍵鏈的時段與循環估計含有時程與成本風險評估。於網路建構過程中,先確認基本的依賴關係,而個別任務及任務群組相連繫的不確定性與潛在變化,是下個影響專案承諾的風險。即使是網路上已確認、已緩和或藉由額外任務迴避的風險,還是可能發生技術或表現上的風險。
此外為了作為將依賴性網路轉成關鍵鏈計畫表的基礎,該兩點估計程序是一套良好方式,能進一步瞭解並處理風險。首先是承諾程度的估計( commitment-level estimate ),應該反映出與專案受質疑的部分有關之內在任務或循環的風險。估計值較大或較小,不同之處直接與任務的必要安全評估有關。相較於積極可行估計之必要的安全總數,提出與該任務相關的風險程度。需要該安全的理由能提供機會,去找出額外的輸入事物及任務,以能合理的降低所需的估計數字,或有助於能如期完成。
專案時程計畫
關鍵鏈方式的一些有利效果來自於,將內容範籌和時間管理連結到風險管理,主要的連結在於時程緩衝及緩衝管理程序的開發與應用。專案時程表利用兩點估計程序,將依賴性網路轉成可靠的專案承諾。可靠性首先來自能保障的可行性,藉由在決定專案之關鍵鏈時,清楚地包含資源依賴關係,及傳遞依賴關係的作用。
接著,在規劃過程中產生的估計時間,將安全時間聚集並投入於最能好好保護專案承諾及價值之處。時程表本身(任務與資源組成的網路用於確定關鍵鏈)使用兩個估計中較少的一個。對於關鍵鏈任務而言,『安全』預估與『積極可行』預估的差別,能發展出關鍵鏈時程的主要機能,即是緩衝( buffers )。一個專案緩衝( project buffers )用於保護最後專案交期,免於受到某些關鍵鏈上任務表現變化的影響。匯流緩衝( feeding buffers )用於隔離匯入路徑對關鍵鏈直接影響,主要在協助與維持關鍵鏈的進度。
建立整個專案時程估計,專案前置時間( project lead-time )包含緩衝時間,為該專案提供清晰可見的潛在時程上的風險資訊。在非關鍵鏈的環境,意外情況常是隱藏在管理上的保留訊息,或在內部及外部環境中。一般作法隱藏這些元件的實際作用與牽連,而緩衝的開放與明白溝通的作法(對於專案控管也很重要),能夠清楚地評估什麼可能是『最好的情況』,或是如在各別考量的相互作用下,對整個專案表現可能造成什麼結果。
一個專案的最終風險是無法如期實踐承諾的價值。如果專案前置時間無法符合專案業務上的時效需求的話,關鍵鏈時程表提供兩個主要縮短時間之處:關鍵鏈及專案緩衝。再探討關鍵活動的假設,評估是否加入額外的行動或活動能減少變化和專案緩衝的大小,或者是否任務傳遞作業能重新安排,以能有更多平行進行的活動,因而縮短關鍵鏈的長度。到了某個程度,達到修正行動的限制,反映出一個含被接受的風險的專案前置時間與承諾的執行時程。
在十分重視專案緩衝及防護關鍵鏈的易變性能之下,匯流緩衝也很重要,用於防護常見於每個專案中的普遍的風險源頭,就是平行活動( parallel activities )一起對專案目標造成的問題。例如,整合風險( integration risk ),平行路徑整合成一的風險,如果一組在平行路徑上的活動,每個都相當有把握,有 85% 的完成可能性,如有四個這樣的路徑整合時,既使任務準時開工,可能最後如期的可能性剩下 52% ,跟丟銅板的機率差不多。這是造成傳統關鍵要徑經常改變的主要地方。
於傳統關鍵要徑的專案排程工作,常見使 用 蒙地卡羅模擬法來評估風險特質,提供整合工作對如期達到專案目標的或然率。關鍵鏈排程則將整合工作的風險明白納入匯流緩衝,以處理匯入路徑的變化性(而非依靠隨意的 寬鬆或游動時間 [slack or float] )。蒙地卡羅模擬法建議保持承諾的機率,有緩衝的關鍵鏈排程則有避免整合風險的設計,以保持高承諾成率。
資源行為模式
非關鍵鏈基礎的專案經常依靠任務內含的安全時間與任務期限(里程碑時程表 [milestone schedules] ),來安排與控制專案的進度。這樣作法的風險是,普遍資源呈現之行為模式是能力最小化,以爭取時程表上的時間。所謂帕金森定律( Parkinson's Law )是『拉長工作以填滿被允許的時間( Work expands to fill the time allowed )』,就是這種行為的反映結果。由於最終適當的行為模式,會決定專案表現結果,關鍵鏈方法的基本目的在於提供政策與程序來支持渴望的行為模式。
一種接力賽跑,不是火車時刻表
大多數管理專案的作法是仔細觀看行事曆,比較今日與某些基準時間表。典型的時間表包含一連串連續任務的開始與結束日期,前個任務的結束日期與下個任務的開始日期一樣。像火車時刻表,假如一個任務在結束日期抵達或提前,這部分的專案被視為『按時刻表進行( on track )』。如果前個任務提前完成,下個任務的資源可能尚不可得,無法接下工作。即使在資然可得的情形,一般很少或不會急於讓下個任務開工,因為超前( ahead of schedule ),這時資源一般在開始日期前會去忙其他工作。
這樣作法的問題是,火車必須在指定的時間抵達與離開。而專案的價值常與絕對的速度綁在一起,從開始到結束,整個專案越早完成,專案利益能越快產生。用另一種更合適的比喻來引導專案是接力賽跑( a relay race ),其中鼓勵資源盡快開始傳來的工作,全力投入並保持一定表現水平直到完成,盡快完成盡快交給下個任務。
令火車時刻表的行為模式惡化的環境,當估計的時間被視為是資源承諾的時間,因而每個任務都含有大量的安全保護時間來防衛承諾。假如一個專案被視為按表進行,可能的情形是其中任務有充足的安全時間來完成工作,所以沒有緊急的感覺,結果資源習慣上也做些其他任務或處理其他事情,拉長實際執行該任務的時間,在接力賽跑行為模式則能提早交給下個任務。
里程碑時程表,就像是火車時刻表頂多是種自我誇大的說詞,至少在於預期的速度上是如此。許多時候由於莫非定律的作用,可能還需要更長的時間,本可提早完成卻成為延遲完成。
關鍵鏈時程表,資源行為與風險緩和
關鍵鏈時程表從兩方面來處理流失安全保護時間的問題,第一是取消任務的期限,僅有的時間是關鍵鏈時程表的所有路徑上第一個任務的啟動日期,與交出專案結果的結束日期,是受到專案緩衝保護的日期。任務的開始日期直接與前個任務連結,透過專案之緩衝控制與管理來進行溝通。
第二是將任務所含的安全時間移到緩衝,藉此消除需要安全時間卻無法有效保護的矛盾。基本的假設是不管時程表怎樣呈現,任務就是使用工作所需的時間,指示資源不分心、全力投入手邊的任務,直到完成交出。如此任務至少不受外界因素影響而延遲。
更重要的是管理層必須支持這樣的能力,避免不必要的注意力分散因素或優先順序衝突的情形。只要資源按接力賽跑的模式有效能有效率的操作,某些任務會比預期時程慢一些,有些會快一些,重要之處是專案能得到提早完成的好處。這樣的作法,將與交期行為有關的風險,交由滲透與補充緩衝的機制取代之。 |