什么是关键路径?

时间:2009-07-24 09:38:29

标签: project-management

作为开发人员,我有时会在开发执行的上下文中遇到“关键路径”这个术语。 来自wikipedia我知道这与确定必须在项目中完成的必要任务有关。

我的理解是否正确?

您遇到的关键路径的最佳定义是什么? 在规划项目时如何识别关键路径?

10 个答案:

答案 0 :(得分:8)

申请

关键路径是活动序列(在应用程序中的所有可能序列中),它们总计持续时间最长,因此是优化的第一个目标。

对于项目

关键路径是项目活动的顺序,总计持续时间最长。这决定了完成项目的最短时间。

答案 1 :(得分:4)

项目分为编码,测试等任务。大多数任务都相互依赖。例如,测试取决于要完成的编码。其他一些任务可以并行运行。

假设您有一个编写客户管理系统的迷你项目。您可以将其大致分为三个任务:

  1. 编码用户界面 - 5天
  2. 编码后端 - 7天
  3. UI和后端的集成 - 2天
  4. 如果按顺序完成所有任务,项目将花费5 + 7 + 2 = 14天。

    现在我们假设UI和后端编码可以并行完成,因此您可以指定两个开发人员同时工作。但是,集成取决于任务完成。

    该项目需要多长时间?

    1. UI编码从第1天开始,到第5天结束
    2. 后端编码从第1天开始,到第7天结束
    3. 集成只能在第8天开始,当UI和后端都完成时,将在第10天结束。
    4. 现在,您可以看到,如果UI编码在第3天开始,而不是第一天,它实际上不会影响整个项目的截止日期,因为它将在第7天完成,以便开始集成。这称为松弛,UI编码有2天的松弛。

      相反,如果后端编码延迟,则会将整个时间表延迟相同的天数。该任务没有任何松弛。

      后端编码和集成一起形成项目的关键路径:如果任何任务延迟,项目交付也将延迟。

      项目关键路径可以定义为完成项目所需的一系列依赖任务,从而产生最大持续时间,或者替代定义,完成项目所需的依赖任务序列,没有松弛。

      毋庸置疑,如果一项任务落在关键路径上,那么按时交付是至关重要的,否则,时间表将会漂移,增加成本。

      不允许关键路径上的任务在持续时间或开始时间方面有变化,只要它不超过松弛,否则它们本身就会成为关键路径的一部分。

答案 2 :(得分:3)

关键路径是依赖任务的行,如果其中一个任务有时间转移,则会推迟整个项目。

我的意思是:

  

如果你有任务a,b,c,d。 A和b   必须在c开始之前完成。 d   不依赖于任何其他任务。一个   需要更长时间才能完成然后b,和a   和c一起需要更长时间才能完成   然后d,[a,c]是关键路径。

优化此路径将缩短您的项目。

将关键路径上的活动紧密结合起来是一种很好的做法。

答案 3 :(得分:2)

我不确定它是否是最佳定义,但它肯定是最简洁的之一:

  

依赖步骤的顺序   确定所需的最短时间   执行操作

另一个,稍长一点,并且在项目管理的上下文中(类似于您链接到的维基百科文章):

  

通过一系列活动的路径,考虑到   相互依赖,其中最近   完成活动将有一个   对项目结束日期的影响或   推迟一个关键的里程碑(可能会有   不止一条关键路径)

您的理解是正确的,并且确定通过给定项目的关键路径的第一步是首先实际定义完成项目所需的所有单个步骤,然后检查每个“步骤”以确定这个步骤对于项目中的其他步骤以及整个项目的依赖性/重要性。

假设我想画一堵墙。步骤可能是(这是一个有意简化的例子):

  • 买一些油漆
  • 买一些画笔
  • 画墙

嗯,鉴于最终的结果将是一个漂亮的,新涂的墙,这里的第一步(买一些油漆)对整个事情绝对至关重要。如果我无法做到这一点,其他一切都会停止。此外,之后的每个步骤完全取决于先前已完成的步骤1。因此,在这个(公认的设计)例子中,关键路径的第一步是购买一些油漆。

相反,第2步对于良好的油漆工作很重要,但如果我只是把油漆扔在墙上,可能会被省略!

答案 4 :(得分:1)

我想说,如果任务是项目的一部分,那么所有任务都必须完成。

我对“关键路径”的理解更多地与依赖关系有关。这是具有最多依赖性,最大风险的任务,如果未完成则会导致大多数其他任务失败。这可能是最长的提前期任务,因此必须及早进行规划和启动,以保证有足够的时间完成其余任务。

答案 5 :(得分:0)

关键路径是没有松弛的路径。

当项目任务在团队成员之间分配时,将有一个(或两个)人员在任务之间或项目结束时没有任何松弛时间。由于任何这些任务的延迟都会导致整个项目的延迟,这些人被认为是关键路径。

例如(2人4任务项目):

Person A
Task 1-----|
           |-Task 3----|

Person B
Task 2---|
         |-Task 4---|

人A处于关键路径上。任务1或3的延迟将延迟整个项目,而任务2或4的延迟则不会(除非当然是一个重大的延迟!)。

要缓解这种情况:

  • 重新排列任务以允许人们一起完成。由于任务依赖性,这并不总是可行的,并且您并不真的希望将每个主体放在关键路径上。
  • 为项目添加更多意外事件,以便即使是关键路径上的人也有一些余地。

答案 6 :(得分:0)

如果此项活动的任何延迟导致项目整体延迟,项目的活动就在关键路径上。

答案 7 :(得分:0)

想象一个由许多任务组成的项目,它们之间具有依赖关系(例如A必须在B开始之前完成,C必须在D开始之后开始,等等)。关键路径是一组任务,持续时间的任何增加都会影响项目持续时间。因此,如果任务C在CP上并且需要2天太长时间,则项目将延迟2天。在复杂的项目中,确定CP非常困难,并且可能有许多任务不在其上。但请注意,不是CP上的任务,而是随着项目的展开而将其自身移动到CP上 - CP是动态的而不是静态的。

答案 8 :(得分:0)

确定所需时间的关键依赖任务序列。

此术语也广泛用于大型机批处理循环。确定优化批次循环的关键路径。练习是从依赖项中删除非关键批处理作业,以便确定优化的关键路径,从而减少批处理窗口时间。

答案 9 :(得分:0)

项目管理中的关键路径允许您对必须按顺序完成的任务(“零浮动任务”)以及可在项目期间几乎任何时间完成的任务(称为“浮动”)做出反应并进行规划。

伦纳德戴维斯 OnePlan.io