作为一名开发人员,我有时会在开发执行的上下文中遇到“关键路径”这个术语。从维基百科中,我知道这与确定必须在项目中完成的必要任务有关。
我的理解正确吗?
您所遇到的关键路径的最佳定义是什么?在规划项目时,如何确定关键的路径?
发布于 2009-07-24 09:55:53
我不确定这是否是最好的定义,但这无疑是最简洁的定义之一:
确定执行操作所需的最小时间的依赖步骤的顺序
另一个,略长一点的项目管理上下文(类似于您链接到的Wikipedia文章):
通过一系列活动的路径,同时考虑到相互依赖关系,其中活动的迟完成将对项目结束日期产生影响或延迟一个关键里程碑(可能有多个关键路径)。
您的理解是正确的,确定通过特定项目的关键路径的第一步是首先实际定义完成项目所需的所有单独步骤,然后检查每个“步骤”,以确定该步骤对项目中其他步骤以及整个项目的依赖/重要程度。
假设我想画一堵墙。这些步骤可能是(这是一个有意简化的示例):
嗯,考虑到最终的结果将是一堵漂亮的,新油漆的墙,这里的第一步(购买一些油漆)是绝对关键的事情。如果我不能做到这一点,其他一切都会停止。而且,这之后的每一步都完全依赖于先前已经完成的步骤1。因此,在这个(诚然是人为的)示例中,关键路径的第一步是购买一些油漆。
相反,第2步对于一个好的油漆工作是很重要的,但是如果我把油漆扔到墙上,可能会被忽略!
发布于 2009-07-24 09:49:11
用于应用程序的
关键路径是活动序列(在应用程序中的所有可能序列中),它们加起来是最长的总体持续时间,因此是优化的第一个目标。
用于项目
关键路径是项目活动的顺序,这些活动加在一起的时间是最长的。这决定了完成项目的最短时间。
发布于 2009-07-24 09:58:10
项目分为编码、测试等任务。大多数任务是相互依赖的。例如,测试取决于要完成的编码。其他一些任务可以并行运行。
假设您有一个小型项目来编写客户管理系统。你可以大致把它划分为三个任务:
如果您按顺序完成所有任务,则项目将需要5+7+2= 14天。
现在让我们假设UI和后端编码可以并行完成,因此您可以指定两个开发人员同时工作。但是,集成取决于完成的这两个任务。
这个项目需要多长时间?
现在,您可以看到,如果UI编码从第3天开始,而不是第一天,它实际上不会影响整个项目的截止日期,因为它将在第7天完成,以便开始集成。这就是所谓的松弛,UI编码有一个2天的松弛。
相反,如果后端编码延迟,则会将整个计划延迟相同的天数。这个任务在计划中没有任何松懈。
后端编码和集成共同构成了项目的关键路径:如果任何任务被延迟,项目交付也将被延迟。
可以定义项目关键路径是完成项目所需的一系列依赖任务,导致项目持续时间最大,或者可选定义,是完成项目所需的不松懈的依赖任务序列。
不用说,如果一项任务在关键的道路上,最重要的是按时交付,否则,日程就会漂移,增加成本。
不处于关键路径上的任务允许在持续时间或启动时间上发生变化,只要它不超过空闲时间,否则它们本身就成为关键路径的一部分。
https://stackoverflow.com/questions/1176634
复制相似问题