# 關鍵路徑法 (CPM)：定義、步驟與計算範例

> 關鍵路徑法 (CPM) 是什麼？本文說明六步驟流程、前推後推計算範例、浮時公式，以及 CPM 與 PERT 和甘特圖的比較。立即掌握專案排程關鍵。

Source: https://asana.com/zh-tw/resources/critical-path-method

## 關鍵路徑法 (CPM)：定義、步驟與計算範例

#### 摘要

關鍵路徑法 (CPM) 可讓您確認專案完成所需的必備任務有哪些，並找出最長的任務串連路徑。本文將說明關鍵路徑法的關鍵術語 (ES、EF、LS、LF、浮時)、六步驟實施流程 (含數值計算範例)、排程壓縮技巧，以及 CPM 與 PERT 和甘特圖的比較。制定專案藍圖有助您以可視化的圖像呈現哪些事必須完成，才能達成最終的目標。關鍵路徑法 (Critical Path Method, CPM，又稱要徑法) 正可協助您辦到這一點。這種[專案管理](https://asana.com/zh-tw/resources/benefits-project-management)技巧確立完成專案前，必須完成的重要任務，讓您掌握哪些活動直接影響專案期限。

善用此技巧，您就能管理任務相依性並設定實際的時間排程。請繼續閱讀，瞭解關鍵路徑法如何運作，以及您可以如何應用於團隊，從而最佳化[專案時間軸](https://asana.com/zh-tw/resources/create-project-management-timeline-template)。

## 什麼是關鍵路徑法 (CPM)？

關鍵路徑法 (CPM) 是一種專案排程技巧，可讓您確認專案完成所需的必備任務有哪些，並且可據此判斷排程所容許的彈性。專案管理中的關鍵路徑，是由一連串活動組成的最長串連貫任務，若要完成整個專案就必須準時完成這串任務。關鍵任務若有任何延誤，就會延誤整個專案的其餘部分。

CPM 的重點是找出專案時間軸裡最重要的任務、確立任務的相依性以及計算任務的持續時間。

[1950 年代末，](https://www.pmi.org/learning/library/origins-cpm-personal-history-3762)杜邦公司 (DuPont) 與蘭德公司 (Remington Rand) 聯合開發了 CPM，目的是解決因排程效率不彰所造成的成本上升。自此之後，CPM 就成為規劃專案和安排任務優先順序的常用方法。它有助將複雜的專案拆解成個別任務，進而對專案可容許的彈性有更佳的掌握度。

### 為什麼要使用關鍵路徑法？

CPM 可提供珍貴的深入解析，讓您瞭解如何規劃專案、配置資源以及安排任務的排程。

以下這些原因說明您為什麼應該使用這個方法：
- **改善未來的規劃：** CPM 可用來比較預期進度與實際進度。目前專案所提供的使用資料，可以做為未來專案的前導資訊。
- **輔助提高**[資源管理](https://asana.com/zh-tw/resources/resource-management-plan)的成效**：** CPM 有助專案經理明辨任務的輕重緩急，因而得以對如何部署資源及哪裡應配置資源更有概念。
- **有助預防瓶頸之發生：** 失去寶貴時間可能會導致專案面臨瓶頸。使用網路圖羅列專案的相依性，可讓您更精確地掌握哪些活動可以同時並行，哪些則不行，進而仰賴此資訊來安排排程。
- [藉助 Asana 規劃專案](/uses/project-planning)

## 關鍵路徑法的關鍵術語

在使用關鍵路徑法之前，建議先瞭解以下常見的 CPM 術語。這些術語在後續的計算步驟中會反覆出現。

**術語**

**英文縮寫**

**說明**

提前開始

ES (Earliest Start)

某任務在不影響前置任務的情況下，能夠開始的最早時間點

提前完成

EF (Earliest Finish)

某任務能夠完成的最早時間點。EF = ES + 持續時間

最晚開始

LS (Latest Start)

某任務在不延誤專案完成日期的前提下，能夠開始的最晚時間點

最晚完成

LF (Latest Finish)

某任務在不延誤專案完成日期的前提下，能夠完成的最晚時間點

總浮時

Total Float

任務可延遲而不影響專案完成日期的時間量。總浮時 = LS - ES (或 LF - EF)

自由浮時

Free Float

任務可延遲而不影響下一個任務開始時間的時間量。自由浮時 = ES (下一個任務) - EF (目前任務)

關鍵路徑

Critical Path

專案中持續時間最長的任務串連路徑，決定了專案的最短完成時間

## 如何找到關鍵路徑

想找到關鍵路徑，則必須著眼於關鍵任務和非關鍵任務的持續時間。關鍵路徑法包含以下六個步驟：
- 列出活動清單
- 明辨相依性
- 建立網路圖
- 預估任務的持續時間
- 計算關鍵路徑 (前推與後推)
- 計算浮時

以下透過拆解步驟及範例進一步說明。

### 1. 列出活動清單

使用[工作細目結構](https://asana.com/zh-tw/resources/work-breakdown-structure)將產出交付項目所需的所有專案活動列為清單。以工作細目結構形式呈現的活動清單，是整個 CPM 的基礎。

舉例來說，假設行銷團隊正在創作一則新的互動式部落格貼文，工作細目結構就可能會包含這些任務：

您一旦能以宏觀的角度檢視必須完成的一切，就能開始明辨任務相依性。

### 2. 明辨相依性

根據工作細目結構，您就能判斷哪些任務依存於其他任務。這也有助您明辨可以與其他任務同時並行的所有工作。

根據以上範例可獲得以下的任務相依性：
- 任務 B 依存於任務 A
- 任務 C 依存於任務 B
- 任務 C 與任務 D 可以同時並行
- 任務 E 依存於任務 D
- 任務 F 依存於任務 C、任務 D、任務 E

相依任務清單稱為活動串，可用它來算出關鍵路徑。

### 3. 建立網路圖

下一步是將工作細目結構變成網路圖，亦即依時間先後順序顯示活動的流程圖。針對每個任務建立一個方塊，並用箭頭表示任務的相依性。

您應新增其他有時間範圍的元件至網路圖，直到大致的專案排程成形。

### 4. 預估任務的持續時間

若要計算關鍵路徑 (亦即關鍵任務組成的最長串任務)，您首先必須預估每個活動的持續時間。

您可以參考各種[估算方法](https://asana.com/zh-tw/resources/estimation-methods)來決定合適的預估方式。常見的做法包含：
- 以經驗和知識為基礎，做出有根據的猜測
- 根據之前的專案資料來預估
- 根據業界標準來預估

或者，也可試試前推及後推技巧：
- **前推：** 此法使用之前指定的開始日期來計算工作的提前開始 (ES) 日期和提前完成 (EF) 日期。ES 是距離緊鄰前導事項中最靠後的 EF 值，而工作的 EF 等於 ES + 持續時間。計算始於第一個活動的 ES，值為 0，然後隨著排程繼續計算下去。決定 ES 和 EF 日期後，就可提早配置專案的資源。
- **後推：** 此法用來計算工作最晚開始 (LS) 日期和最晚完成 (LF) 日期。LS 等於 LF - 持續時間，而工作的 LF 則是距離緊鄰後繼事項中最靠前的 LS 值。計算始於最後排程的活動，然後反向回溯整個流程。

接著，就可用提前開始/完成日期以及最晚開始/完成日期來計算浮時，或每個任務的排程彈性。

### 5. 計算關鍵路徑

您可透過手動方式計算關鍵路徑，但也可改用關鍵路徑演算法來節省時間。

#### 以下說明手動計算關鍵路徑的步驟：

**步驟 1：** 寫下每個活動的開始及結束時間。
- 第一個活動的開始時間為 0，結束時間則是該活動的持續時間。
- 下一個活動的開始時間是前一個活動的結束時間，結束時間則是開始時間加上持續時間。
- 為所有活動進行上述計算。

**步驟 2：** 查看活動串中最後一個活動的結束時間，以便得出整個活動串的持續時間。

**步驟 3：** 持續時間最長的活動串就是關鍵路徑。

若沿用上述相同的範例，則關鍵路徑圖可能會如下所示：

#### 關鍵路徑法範例：數值計算

以下透過一個簡化的範例，示範如何利用前推和後推計算關鍵路徑。假設專案包含以下任務：

**任務**

**持續時間 (天)**

**前置任務**

A

3

無

B

5

A

C

2

A

D

4

B

E

3

C

F

2

D, E

前推 (計算 ES 和 EF)：

**任務**

**ES**

**EF (= ES + 持續時間)**

A

0

3

B

3

8

C

3

5

D

8

12

E

5

8

F

12

14

專案最早完成時間為第 14 天。

後推 (計算 LS 和 LF)：

**任務**

**LS (= LF - 持續時間)**

**LF**

**總浮時 (= LS - ES)**

F

12

14

0

D

8

12

0

E

9

12

4

B

3

8

0

C

7

9

4

A

0

3

0

總浮時為 0 的任務 (A、B、D、F) 構成關鍵路徑：A → B → D → F，總時長 14 天。任務 C 和 E 的浮時為 4 天，代表可以延遲最多 4 天而不影響專案完成日期。

一旦找出關鍵路徑，您就能以它為中心建立實際的專案排程。

### 6. 計算浮時

浮時 (或稱寬裕時間) 是指某任務的彈性時間量，表示該任務可以延遲多久而不至於衝擊接續的任務或專案結束日期。

對於衡量專案有多大彈性而言，找出浮時非常有用。應將浮時視為用來因應專案風險或過程中出現意外問題的資源。

關鍵任務沒有任何浮時 (零浮時)，也就是說，這類任務的日期是固定不變的。浮時數字為正數的任務歸屬在非關鍵路徑，也就是說，這些任務可以延遲而不會影響專案完成日期。若您時間或資源不足，可以跳過非關鍵任務。

浮時之計算可以透過演算法，也可手動計算。計算公式如下：
- **總浮時 = LS - ES** (或 LF - EF)：任務可延遲而不影響專案完成日期的時間量。
- **自由浮時 = ES (下一個任務) - EF (目前任務)：** 任務可延遲而不影響下一個任務開始時間的時間量。

#### 總浮時與自由浮時

以下詳細說明兩種浮時類別：
- **總浮時：** 這是一個活動從提早開始日期起算可以延遲而不會延誤專案完成日期或違反排程約束的時間量。
- **自由浮時：** 這是指活動可以延遲多久而不會衝擊到接下來的活動。兩個 (或更多) 活動的後繼事項相同時，則只能有自由浮時，這就是網路圖上活動交會之處。

專案經理將受益於對浮時的充分瞭解，原因是：
- **浮時可確保專案準時執行：** 您若監控專案的總浮時，就能判斷專案是否進度正常。浮時的值愈大，您就愈有可能提早或準時完成。
- **浮時可讓您**[依輕重緩急安排優先順序](https://asana.com/zh-tw/resources/how-prioritize-tasks-work)**：** 辨認出具有自由浮時的活動，您就可更妥善掌握哪些任務應該優先執行，而哪些則有較多延後的彈性。
- **浮時是實用的資源：** 浮時是額外的時間，可用來因應專案風險或過程中出現的非預期問題。瞭解自己有多少浮時，就能選擇以最有效的方法使用它。

## 如何使用關鍵路徑法

CPM 讓您對專案進度一目了然，因而得以監控任務和任務的完成時間。以下是關鍵路徑法在工作中的一些實際應用。

### 壓縮排程

儘管這麼做的結果或許不盡理想，有時候難免還是得緊縮專案期限。在這種情況下，有兩種[排程壓縮技巧](https://asana.com/zh-tw/resources/fast-tracking-vs-crashing)可使用：同步跟進和趕工。
- **同步跟進 (Fast-tracking)：** 檢視關鍵路徑來決定可同時執行的活動。同步執行數個流程，將加速整體的時程。此方法適用於活動之間存在部分重疊的可能性時。
- **趕工 (Crashing)：** 此流程下，會配置較多資源來加快活動。取得更多資源前，務必確認這麼做仍能涵蓋於[專案範疇](https://asana.com/zh-tw/resources/project-scope)內，並且讓專案關係人得知所有變動。

規劃出關鍵路徑有助您選擇適當的策略，來達成更新後的新期限。利用 Asana 的時間軸檢視功能和任務相依性設定，您可以輕鬆識別關鍵路徑上的瓶頸，並快速調整排程。
- [閱讀：建立專案排程，讓工作更輕鬆的方法](/resources/project-timeline-schedules)

### 解決資源短缺

請記得 CPM 不會將資源可用與否納入考量。若有資源短缺 (例如團隊成員被賦予過多任務或缺乏設備)，您可以使用[資源調配](https://asana.com/zh-tw/resources/resource-leveling)技巧來解決問題。

此類技能旨在解決資源過度配置的問題，並確保能以當下可用的資源完成專案。

要讓資源調配運作順利，必須調整專案的開始和結束日期，因此您可能必須重新調整關鍵路徑，或對具有浮時的活動應用此技巧。
- [閱讀：若您渴望最大化團隊的影響力，您會愛上資源配置的魔力](/resources/resource-allocation)

### 編纂資料供未來使用

從 CPM 所建立的排程可能會改變，因為您的作業是基於對活動持續時間的有依據預估。您可以在專案執行的過程中，隨時比較原來的關鍵路徑和實際的關鍵路徑。

此等資料可用來當作參考資訊，以便在將來的專案執行時，取得更準確的預估任務持續時間。

## 關鍵路徑法與計畫評核術 (PERT)

CPM 和計畫評核術 (PERT) 都是在 1950 年代發展出來的。PERT 運用樂觀與悲觀的加權平均值，來預估專案活動的不確定性。它評估完成活動所需要的時間。

**PERT 使用三個預估值來找到活動持續時間的範圍：**
- 最可能的預估值 (M)
- 樂觀值 (O)
- 悲觀值 (P)

PERT 的計算方式為：預估時間 = (O + 4M + P) / 6

PERT 和 CPM 的主要差異在於活動持續時間的不確定性程度。PERT 用來預估完成活動需要的時間，而 CPM 的使用則是在已預估活動持續時間的基礎上。

**比較項目**

**關鍵路徑法 (CPM)**

**計畫評核術 (PERT)**

模式類型

確定性模式 (定律模式)

機率性模式

時間預估

單一預估值

三個預估值 (O, M, P)

適用情境

可預測的專案活動

不確定的專案活動

重點

時間與成本的權衡

達成或最小化專案持續時間

不確定性處理

不處理 (假設持續時間已知)

透過加權平均處理

可結合使用兩種技巧來提高成效。您可以使用 PERT 獲取較實際的預估任務持續時間，再接著計算關鍵路徑和浮時。

## 關鍵路徑法與甘特圖

[甘特圖](https://asana.com/zh-tw/resources/gantt-chart-basics)是以水平長條圖羅列出專案活動，可對應設定好的時間軸來追蹤這些活動。CPM 和甘特圖都會顯示任務之間的相依性，但呈現方式和用途有所不同。

**比較項目**

**關鍵路徑法 (CPM)**

**甘特圖**

視覺化方式

網路圖 (方塊與箭頭)

水平長條圖

時間尺度

不提供時間尺度

以時間軸為基礎

資源顯示

不顯示所需資源

可顯示每個活動所需資源

主要用途

計算專案持續時間，區分關鍵與非關鍵路徑

追蹤專案活動的時程進度

可將甘特圖搭配 CPM 使用，以便追蹤一段時間的關鍵路徑，確保專案按照排程順利執行。Asana 的時間軸功能同時結合了兩者的優點，讓您在甘特圖檢視中識別任務相依性和關鍵路徑。

## 關鍵路徑法常見問題

## 使用關鍵路徑，讓專案管理更出色

關鍵路徑法是專案管理中的實用資產，尤其是在執行規劃任務及管理資源這類工作時。從掌握 ES、EF、LS、LF 等關鍵術語，到執行前推和後推計算，再到分析浮時以識別排程彈性，CPM 為複雜專案提供了一套系統化的排程方法。有了專案規劃工具的協助，您就能輕鬆建立排程以及追蹤專案。若要進一步提高工作效率，請今天就參閱 [提高生產力的 12 個提示](https://asana.com/zh-tw/resources/how-to-be-more-productive)。
- [閱讀：如何提高生產力：13 個可立即實踐的提示](/resources/how-to-be-more-productive)

- [專案管理](/resources/project-management)

- [工作細目結構 (WBS)：WBS 是什麼，要如何使用？](/zh-tw/resources/work-breakdown-structure)

專案管理

#### 內容撰稿人

工作分解結構 (Work Breakdown Structure，簡稱 WBS) 是專案管理中最實用的可視化工具之一。當專案範疇複雜、交付項目眾多時，工作細目結構能將整個專案從最高層級逐步分解為可執行的具體任務，確保每項工作都有明確的負責人和完成日期。由於工作細目結構以可視化方式展示，因此可組合使用工作流程管理軟體與專案管理架構來建立。建立方法包括時間軸、 ...

- [制定應變計劃以預防業務風險的 8 個步驟](/zh-tw/resources/contingency-plan)

商業策略

專案規劃

#### 作者

沒有人希望 A 計劃失效，但準備一份強大的 B 計劃是應對任何情況發生的最佳方式。有了可靠的後援計劃，您就可以有效應對非預期事件，並且盡快讓事情重回正軌。應變計劃是一種主動策略，能夠協助您處理事態惡化並確保業務持續進行。在本文中，深入瞭解如何針對非預期事件制定應變計劃，並且制定恢復策略，以確保您的業務維持健康狀態。什麼是業務應變計劃？業務應變計劃是一種策略 ...

- [建立成功變更管理流程的 6 個步驟](/zh-tw/resources/change-management-process)

商業策略

靈感與影響力百寶箱

#### 作者

改變是幫助組織成功的必要元素。隨著企業成長，您不可避免地會需要實施新工具、嘗試新策略，或打入新市場，還有更多改變不勝枚舉。小規模的變更或不會衝擊很多人的變更，很容易實施，但若您需要實施徹底性的組織變革，又該怎麼做呢？若無妥善的規劃，而試圖實施組織變革可能導致混亂、困惑並降低公司的成長速度。您反倒是需要小心推出變革 (在正式變革之前就有制定好的計劃和支援)， ...

- [15 個秘訣助您建立真正有用的待辦清單](/zh-tw/resources/make-better-to-do-lists)

專案管理

#### 作者

Everyone loves checking things off a to-do list, but when done wrong, lists can cause more harm than good. Disorganized lists lead to missed deadlines and unnecessary stress.The g ...

- [關鍵路徑法 (CPM)：如何將 CPM 應用於專案管理](/zh-tw/resources/critical-path-method)

專案管理

- [內容撰稿人](/author/team-asana)

制定專案藍圖有助您以可視化的圖像呈現哪些事必須完成，才能達成最終的目標。關鍵路徑法 (Critical Path Method, CPM，又稱要徑法) 正可協助您辦到這一點。這種專案管理技巧確立完成專案前，必須完成的重要任務，讓您掌握哪些活動直接影響專案期限。善用此技巧，您就能管理任務相依性並設定實際的時間排程。請繼續閱讀，瞭解關鍵路徑法如何運作，以及您可 ...
