CCPM(Critical Chain Project Management)中文叫做关键链项目管理方法,是 Eliyahu M. Goldratt 在其著作 Critical Chain 中踢出来的项目管理方法,它侧重于项目执行所需要的资源,通过识别和管理项目关键链的方法来有效的监控项目工期,以及提高项目交付率。

CCPM 对于需要持续交付项目同时优化可用资源的团队来说是一个不错的选择。这个方法最初出现在 20 世纪 90 年代末,被宝洁,NASA 和德州仪器等公司所采用。

什么是 CCPM

CCPM 全称 Critical Chain Project Management,使用关键链方法的项目

  • 在规划时概述项目依赖和资源限制
  • 构建理想的项目工作流
  • 如果有需要向项目添加额外资源

完成操作之后,项目经理就可以根据可用资源是否已经得到利用来跟踪项目进度。

CCPM buffer 管理法是 CCPM 中的一种关键概念,它基于关键路径和资源约束来管理项目的时间和资源。在 CCPM 中,项目的关键路径是指项目中的最长路径,它决定了项目的总体交付时间。资源约束是指在项目执行过程中可能会出现的资源瓶颈或限制,例如关键资源的有限可用性。

CCPM 基于三个主要的原则

  • 打破对每项任务完成日期进行不健康承诺
  • 考虑资源的真实情况来规划项目
  • 将管理重点放在关键的事情上

然后最终决定任务完成日期。

为什么要有 CCPM

  • CCPM 首先要解决的一个问题就是对不确定性的恐惧,项目工具固定任务所需要花费的时间来估算,但是在现实中,每个人都知道任务的消耗世间可能是不明确的,有可能 5 天就能完成,但是也可能延迟到 10 天,但大部分的情况下可以给出一个大概的估算,比如 90% 的可能在 8 天时间内完成
  • 传统的项目管理无法充分利用提前完成的任务,而那些花费了比预计更长事件的任务会对后续的任务产生一系列连锁反应
  • 当很多任务并行时,下游任务可以在计划日期开始的可能性非常低
  • 大多数计划只考虑逻辑依赖,并假设资源立即可用,这通常会导致资源超载,延迟,多任务有压力。
  • 多任务并行处理通常受到追捧,但是却有一定程度会对项目完成产生灾难性影响
  • 越早开始做,就可以越早完成,当只有一件事情的时候,通常确实如此,但是如果同时处理很多事情时,可能现实情况恰恰相反

关键链(critical chain)和关键路径(critical path)的区别

关键路径法

  • 注重于基本项目任务的单一序列
  • 允许项目团队确定理想的工作流程,确保项目在预计时间内成功完成
  • 优先级列表中删除不包含在关键路径上的任何任务

而在关键链方法中

  • 最重要的是完成项目所需要的资源
  • 多余的资源包含在项目中,充当资源缓冲区
  • 如果团队没有利用任何额外的资源或资源缓冲区,则被认为正在成功前进

关键路径侧重于项目调度,而关键链更关注完成项目所需要的资源。

CCPM 的重点

关键

  • 将项目拆分为更小的任务,确定两种任务,对项目至关重要的项目,一种是需要很长时间完成的任务
    • 确定完成任务所需时间,传统项目管理中,通常强调每项小任务必需遵守计划制定的日期,但是在 CCPM 中为了补偿不确定性并兑现承诺,每个参与者都通过增加安全 Buffer 来增加每项任务的持续时间。
  • 考虑项目中的任何资源限制,减少工作延误和中断
    • 每一项任务都被拆分为专注期(Focus Duration)以及 Margin,这两部份共同组成 Task duration
  • 团队中的每个人都专注于个人任务
  • 禁止个人多任务切换
  • 避免浪费时间,只计划完成任务所需要时间的 50%,如果需要更多的时间,可以使用缓冲区完成剩余工作,通过这种方法,团队可以提高工作效率
  • 创建资源缓冲区,当任务需要更多时间才能完成时,资源缓冲区就会发挥作用。

在 CCPM 中,个别项目的延迟并不会影响到整个项目的工期,只是消耗掉一些缓冲而已,在剩余缓冲足够的情况下不需要采取任何措施。

什么是 Buffer

在 CCPM 中,buffer(缓冲, バッファー 消費)被用于管理项目中的不确定性和资源约束。

buffer 消费图包括了危险,警告,安全三个部分,分别是下图中的红色,黄色,绿色部分。

Sd2r

CCPM buffer 主要包括以下几个步骤:

  1. 确定关键路径:通过分析项目的任务依赖关系和持续时间,确定项目的关键路径。
  2. 识别资源约束:识别项目中可能出现的资源约束或瓶颈,例如某个关键资源的有限可用性。
  3. 创建 buffer:在关键路径上确定项目的关键链,然后为其创建 buffer。Buffer 可以分为两种类型:project buffer(项目缓冲)和 feeding buffer(供给缓冲)。
    • Project buffer:位于项目的最后一个关键链任务之后,用于保护整个项目的交付时间。Project buffer 的目的是处理不可预测的任务延误或其他项目风险。
    • Feeding buffer:位于关键链上的每个任务之前,用于保护任务的执行时间,以应对可能的资源约束或其他不确定性。
  4. 监控和管理 buffer:在项目执行过程中,通过监控关键链任务的进度和 buffer 的消耗情况,及时识别和处理潜在的风险和问题。如果 buffer 的消耗超过预期,项目团队需要采取相应的措施来恢复或调整项目进度。

CCPM buffer 管理法的核心思想是将 buffer 安排在项目的关键路径上,以平衡资源约束和不确定性,从而提高项目的交付时间和效率。通过有效地管理 buffer,可以更好地应对项目风险和不确定性,提高项目交付成功的可能性。