authors are vetted experts in their fields and write on topics in which they have demonstrated experience. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
科斯塔斯Voliotis
验证专家 在产品管理方面
25 的经验

Costas is a project and product management expert who specializes in sophisticated technology projects for highly competitive markets around the world. Costas holds a doctorate degree from the National Technical University of Athens and has held multiple C-suite positions during his 25-year career.

阅读更多

专业知识

分享

IT行业长期存在的状态 人力资源短缺. 资源紧张,截止日期紧迫,诸如“关键时刻会对团队成员产生毁灭性的影响. 与此同时,大约 12%的钱用于投资 在项目中通常会因为糟糕的计划而丢失. 怎么能 项目经理 在一个时间和劳动力已经达到极限的行业,阻止这种损失?

86%的软件团队 从2021年开始采用敏捷实践,这看起来像是 敏捷的解决方案 是唯一的选择. 但 敏捷 is nothing if not flexible: Applying critical chain project management (CCPM) planning to an 敏捷工作流 is a great way to identify and resolve chokepoints in processes while still keeping the benefits of 敏捷 delivery. 的 use case in this article will show you how to reap the benefits of a hybrid CCPM/敏捷 approach.

项目管理中的关键链方法

CCPM是优化资源的最有效的项目管理工具之一. 第一次描述是在以利亚胡. Goldratt 1997年的书 关键链,并建立在他之前的基础上 约束理论. 简而言之,CCPM提供了一个框架来识别和限制项目约束. You’ve probably heard the saying 那。 a chain is only as strong as its weakest link—CCPM seeks to concentrate efforts on the weak links 那。 threaten the whole project.

CCPM处理这些薄弱环节 六个步骤 那。, 综上所述, improve the efficiency of available resources while making sure they’re assigned where they’re most needed:

  • 识别关键链. 在任何项目中, 要想项目成功,有一系列的任务是绝对必须完成的. 识别关键链时, 项目经理定义最重要和最耗时的任务, 还有给料链, 关键链依赖于它. 例如, “编写文档”可能是关键链上的一个任务, 而“选择文档软件”可能是馈线链上的一个任务.
  • 识别可能的资源限制. 在给员工分配任务时,考虑一下你可能面临的限制.g.、假期或其他计划休假).
  • 通过消除多任务处理来提高注意力. 让团队成员专注于特定的活动将会带来更高的生产力. 多任务是 已知会阻碍性能,消除它可以让你为每项任务分配更少的时间.
  • 通过假设单任务分配来估算时间. CCPM是在这样的假设下运作的:如果一个团队成员专注于一项任务, 分配给那项任务的时间可以减半. 例如, 如果您对给定任务的初始估计是四天, 消除多任务处理后, 这个时间可以缩短到两天.
  • 增加缓冲区. 重新引入减少的部分时间作为关键任务的缓冲. 使用上面提到的相同的估计示例, 如果你把四天的任务减少到两天, 在计划中再增加一天,以防任务比预期的时间长.
  • 重写你的计划. 利用新的时间框架和缓冲,写一份新的项目计划. 在这个阶段,你应该 水平的资源根据需要重新分配时间、劳动力和工具.

的 goal of this process is to add buffers around events and interdependencies 那。 are vital to project outcomes. CCPM使用三种缓冲器来确保及时交付:

  • 项目缓冲区: 在最后一个任务之后和项目完成之前找到的集合时间. 这是大多数关键链活动所具有的偶然性.
  • 喂养缓冲区: 的 time added to tasks on the feeder chain 那。 ensures 那。 delays on those tasks will not affect the most vital activities.
  • 资源缓冲区: 物质资源的储备(例如.e.(工人或设备),如果项目需要,可以根据需要重新分配.

一旦这些步骤都完成了,新计划也写好了,差异应该是显而易见的. 如示例所示 甘特图 下面, 任务分配的时间全面减少, 但缓冲和安全边际已被应用于最重要的任务.

Two sections of a 甘特图 show a sample project plan before and after the application of critical chain project management.

合并路线:敏捷和CCPM

CCPM可以被认为是一个优化 瀑布 方法,所以把它应用到敏捷中可能不是很直观. 但 both CCPM and 敏捷 have the same goal: to ensure project efficiency by improving speed and reliability. CCPM通过时间线规划在前端进行更改,而 敏捷 在每次冲刺后的整个工作过程中进行改进. 这意味着不难想象一个 混合框架 工作评估在CCPM中完成,工作本身在 敏捷.

把它想象成一个许多人每周做多次的小项目:开车去上班. 在这个场景中,您从一个计划和时间估计开始. 有资源(燃料)和限制(交通). 有 also critical steps 那。 have to be accounted for if the commute is going to be successful, 比如找停车位. 你可能会在计划中为你提前知道的约束建立缓冲, 比如在交通高峰期提前15分钟出门. (“工作驱动”项目的这一部分看起来很像CCPM计划.)

Once you’re actually on the road, there are critical milestones 那。 determine your ensuing choices. 也许你听说高速公路上发生了车祸,所以你找了另一个匝道. 也许一个同事打电话让你搭车, 所以你离开高速公路一会儿,然后在超过你的缓冲时间之前回到高速公路上. 这是流程的敏捷部分. 意外事件(i).e., 需求变化)导致另一条路径, 但是你应该努力尽可能地坚持原来的计划.

几点建议 了解敏捷是怎样的 结合CCPM,但是为了我们的目的,我们将检查一个用例,在这个用例中,CCPM被用来计划一个项目,并且 Scrum 是用来执行它的.

CCPM和敏捷:一个混合用例

一家公司开发的产品已经进入了一个受监管的市场. Regulations require 那。 this product meet high standards for reliability (based on code quality), 安全认证, 以及许可证遵从性. 的 company has decided to improve product performance by integrating a new open-source software (OSS) library with a database management system (DBMS).

的 management team estimates 那。 the new DBMS will improve key metrics like client retention cost, 净推荐值, and first-time acceptance rate; with the new DBMS, 这家公司可以胜过竞争对手, 达到计划的收入目标, 并在年底前获得下一轮融资. 开发人员有四个月的时间来完成集成并验证产品一致性. This integration will need to take place alongside the team’s regular maintenance responsibilities.

A row listing the stages of an OSS integration workload followed by a row listing the stages of regular maintenance.

这个问题

的 development team has inferred 那。 the code quality of the OSS library is not sufficient for a highly regulated market. 最初的集成步骤揭示了几个缺陷和漏洞, 比如硬编码令牌和代码复制. 这大大增加了整个产品的技术债务. 由于该产品的庞大客户群, the development and test departments are already struggling to keep up with incoming support requests.

错误修复和漏洞解决的传入请求显著增加. 及时提交支持单, but the development team doesn’t have the capacity to handle the extra requests or adequate experience with the newly integrated DBMS. 额外的挑战进一步加重了本已负担过重的团队的负担.

测试团队 是否正在努力实现一个充分覆盖新集成软件的测试套件, and the release team lacks the capacity to update documentation and the product’s web presentation. 开发团队缺乏仔细处理新发现问题的可用性, 导致补丁工作或延迟, 这两种方法都不是好的解决方案. 两者都破坏了原计划.

测试团队也会在每个sprint中报告越来越多的问题. 它的待办事项越来越多,集成的完成时间也被推迟了. Business pressure leads the project manager to micromanage the completion of each task on the scheduled date, 令人沮丧的人. 团队开始孤立自己,使用 有不好的效果 不得已而为之,结果只会更糟.

解决方案

开发团队现在面临的情况是,他们必须完成一个主要的离散项目, but also address new incoming requests and comply with external regulations; it’s not realistic for them to depend solely on 敏捷还是瀑布 在这种情况下. 因为团队 已经在使用Scrum 功能开发和混合 看板 用于错误修复和客户端定制请求的框架, 他们不愿改变这两种方式. 但, pushed by business stakeholders to align the project with their goals (and urgent fundraising needs), 团队决定使用以下四个步骤将CCPM计划添加到他们的工作流程中:

1. 识别关键链

项目经理确定了由八个任务组成的关键路径:

  • 集成操作系统
  • 调整OSS质量(重构以解决缺陷和漏洞)
  • 消除漏洞
  • 实现测试套件
  • 更新文档
  • 运行测试
  • 释放
  • 修复错误(包括客户支持)

2. 识别可能的资源约束

的 constraints are clear: 的 development team lacks the required bandwidth for the tasks required; the code’s lack of maturity adds complexity; and extreme multitasking is cutting into the developers’ availability. 所有团队成员将在项目期间可用, 但我们没有预算再雇新人了.

的 project manager conducts an initial workload estimation to determine the obligations of the development team. 该团队先前估计了数据库集成所需的工作量, 而是因为直到整合开始,质量问题才显现出来, 估计没有考虑到增加的工作量 重构数据库的代码.

有许多估算工作负载的方法. 例如, the effort needed to align the OSS quality could be assessed using a combination of software composition analysis tools, 代码审查工具, 和安全工具等 修补, SonarQube, Snyk, Coverity扫描, c2m, or Checkmarx. 团队还可以运行技术债务评估套件,如c2m或 CloudZero,或使用 源代码评估套件. 但对于我们的目的来说,实际的方法不如结果重要:

任务

每个Sprint的工作天数

集成操作系统

5

调整OSS质量

5

消除漏洞

5

实现测试套件

2

更新文档

2

运行测试

1

释放

1

修正错误

2

3. 消除多任务处理,估计新的时间框架,增加缓冲

尽管这些任务在概念上是分开的, 在实践中,项目经理可能会一次完成所有这些任务. Operating under CCPM’s assumption 那。 the elimination of multitasking reduces necessary time by half, 项目经理编写新的工作量估算. 他们还为这些关键任务分配缓冲区(通常设置为任务工作量估计的50%), 以防意外延误.

任务

每个Sprint的工作天数

缓冲

集成操作系统

2.5

1.25

调整OSS质量

2.5

1.25

消除漏洞

2.5

1.25

实现测试套件

2

1

编写文档

1

0.5

运行测试

1

0.5

释放

1

0.5

修正错误

1

0.5

4. 重写计划

使用新的工作负载估计和缓冲区, the project duration remains about the same but the pressure on bottlenecks in the critical chain is relaxed, 使计划的目标更有可能实现.

此时此刻, CCPM计划完成, 并且可以计划新的sprint,以反映CCPM计划的优先级. 开发工作仍在进行中 Scrum进行两周的冲刺,其中包括集成和维护任务. 但是在这些sprint中,CCPM计划的目标为sprint计划提供了信息. 工作时间取自CCPM估算值, 并优先考虑集成任务, 只有在sprint的集成任务完成时才处理维护任务. 当团队的sprint计划中考虑到这些ccpm建立的优先级时, 团队成员应该能够在规定的时间内完成DBMS集成.

管理资源以确保交付

是否用作 独立的方法 或者与敏捷相结合, CCPM是平衡管理团队和开发团队之间压力的有效工具, 和帮助 项目经理 在完成目标的同时,不要让团队不堪重负,也不要过度消耗资源. When CCPM is combined with 敏捷’s ability to react in real time to unexpected developments and customer feedback, 其结果是一个强大的框架,可以按时在预算范围内交付项目.


关于总博客的进一步阅读:

了解基本知识

  • 关键链项目管理意味着什么?

    Critical chain project management (CCPM) is a 瀑布 method for optimizing resources in projects by identifying the most essential tasks and likely resource constraints, 消除多任务, 并在项目中添加缓冲区.

  • 为什么关键链项目管理很重要?

    Critical chain project management offers a way to meet delivery deadlines on a tight budget by reducing the pressure on chokepoints in the workflow. This helps 项目经理 meet their goals without overtaxing team members or cutting corners on delivery.

  • 关键路径和关键链的区别是什么?

    Critical path management is another method for project planning 那。 also focuses on identifying the most essential tasks for delivery. 虽然每个方法的执行有几个不同之处, 最明显的是关键链在规划中使用缓冲区.

聘请Toptal这方面的专家.
现在雇佣
科斯塔斯Voliotis

科斯塔斯Voliotis

验证专家 在产品管理方面
25 的经验

希腊雅典

2019年3月22日成为会员

作者简介

Costas is a project and product management expert who specializes in sophisticated technology projects for highly competitive markets around the world. Costas holds a doctorate degree from the National Technical University of Athens and has held multiple C-suite positions during his 25-year career.

阅读更多
authors are vetted experts in their fields and write on topics in which they have demonstrated experience. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.

专业知识

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

欧博体育app下载

加入总冠军® 社区.