1、什么是PDM/前导图法?
前导图法也叫做单代号网络图(PDM),都是一个东西,只是名称不同而已。主要用于关键路径法,描述项目进度网络图的一种常用方法。
可以看到,我们的矩形就是一个节点,节点由上中下三层,上层有三个数字,中层表示活动的编号,下层也是三个数字。中间的箭头用于连接这些节点(活动),表示了节点之间的依赖关系。
- 上层
- 左侧数字: ES,表示最早开始时间,比如A属于第一个活动,持续时间5天,所以最早开始时间为0
- 中间数字
- 表示活动持续时间。我们对活动进行定义,然后对资源进行了估算,就能够得到活动的持续时间。
- A的持续时间为5,B为2,C为8,D为10,E为5,F为10,G为15,H为10.这些都是根据活动定义和资源估算来的。
- 右侧数字:EF,表示最早完成时间, 比如A属于第一个活动,持续时间5天,最早开始时间为0,那么最早完成时间就为5.
- 中层
- 表示活动的编号
- 下层(下层的最迟开始时间,最迟结束时间和总时长是通过总的最早完成时间往前逆推回来的,后面会讲)
- 左侧数字: LS,表示最迟开始时间
- 中间数字:总时差 = 最迟开始时间 – 最早开始时间 或者 = 最迟完成时间 – 最早完成时间
- 右侧数字:LF,表示最迟完成时间
2、什么是最短工期?
比如A的持续时间5天,B的持续时间2天,C持续时间8天,此时就可以计算最短工期了。我们通过一系列的估算,将这些任务组合在一起,跟着计划走,计划不偏不倚,能够多少天把这个系统开发完,这就是计算最短工期。
最短工期就 对应了关键路径的长度,我们求的是整个项目的最短工期,所以对应的最长的还是最短的关键路径?其实是最长的。
因为很多任务并行,需要时间最长的那个任务完成才算整个项目都完成了,因为时间最长的都完成了,时间比这个项目短的,又是按照计划走,那肯定是完成了的。
3、什么是关键路径?
上面我们知道了最长的路径对应了整个项目的最短工期。所以说我们的关键路径就是指能影响项目整体时间的活动和事件的集合,是项目中耗时最长的那条路径(当然,关键路径可能存在多条,但显然项目经理不希望有多条,因为这代表不好调整和把控)。
所以说最短工期和关键路径可以使用穷举法(全部列出来),找出最短的工期和关键路径。但实际上是有方法的。我们后续来讲,我们还需要了解一个概念,就是松弛时间。
4、什么是松弛时间?
每一个活动都有一个总时差,总时差里的工期延误不会影响整个项目的工期。于是就有了一些自由度的时间,这些自由度的时间就称之为松弛时间(也有人常说叫做摸鱼时间,程序员最喜欢这样的时间了)。
需要求松弛时间,我们就必须使用标准化的方法去求最短工期,关键路径等,然后再计算松弛时间,那么我们来吧!
4、如何计算最短工期?
正向推倒最短工期
- 第一步:A节点是第一个节点,所以最早开始时间ES为0,持续五天,所以A的最早完成时间为5天。
- 第二步:
- B在A执行完后可执行,且B没有其他前置条件。所以B的最早开始时间为5,B需要持续2天,所以B的最早完成时间为7.
- C在A执行完后可执行,且C没有其他前置条件。所以C的最早开始时间为第5,C需要持续8天,所以C的最早结束时间为13.
- 第三步
- D在B,C都执行完之后才能执行。B的最早完成时间是7,C的最早完成时间是13.所以D最早从13开始,持续10天,所以D最早结束时间为23.
- E在C执行完之后可执行,C的最早完成时间是13,所以E最早从13开始,持续5天,所以E最早结束时间为18.
- 第四步
- F在D执行完之后可执行,D的最早完成时间为23,所以F最早从23开始,持续10天,所以最早完成时间为33.
- G在D,E都执行完后才能执行,D的最早完成时间为23,E的最早完成时间为23.所以G的最早开始时间为23,持续15天,所以G的最早完成时间为38.
- 第五步
- H在F,G都执行完后才能执行,F的最早完成时间为33,G的最早完成时间为38.所以H的最早开始时间为38,持续10天,所以H的最早完成时间为48.
所以我们推导出最短工期为48,也就是说,按照计划走,我们最早48天就能完成这个项目。我们通常会把最短工期作为我们的目标工期,也就是我们定的目标就是48天完成。所以我们的最迟完成时间就是48天。
5、如何计算关键路径?
关键路径就是所有总时长为0的节点,连接起来形成的路径,就是我们的关键路径。所以我们需要计算出总时差,但是总时差是通过最迟完成时间往回逆推得到的,所以我们需要计算出所有节点的总时差,步骤如下:
逆向推倒总时差
- 第一步
- H是最后一个节点,我们把最短工期作为目标,所以目标的最迟完成时间是48。H需要持续10天,所以H的最迟开始时间为38.
- 第二步
- H的最迟开始时间为38,F,G完成之后H才能开始,因此F,G的最迟晚完成时间都是38.
- F持续时间10天,最迟完成时间38,所以最早完成时间为28. 那么最早开始时间前面计算出来为23.因此总时差=最迟开始时间-最早开始时间=28-23=5
- G持续时间15天,最迟完成时间38,所以最早完成时间为23. 那么最早开始时间前面计算出来为23.因此总时差=最迟开始时间-最早开始时间=23-23=5
- 第三步
- F的最迟开始时间为28,D完成之后F和G才能开始,F的最迟开始时间为28,G的最迟开始时间为23.所以D最迟23必须开始,不然会影响G的进度,就会坑队友了。
- 所以D的最迟完成时间为23,D需要持续10天,所以D的最迟开始时间为13. 总时差=最迟开始时间-最早开始时间=13-13=0
- E完成之后G才能完成,G的最迟开始时间为23 ,逆推后,E的最迟完成时间就为23。E持续5天,所以E的最迟开始时间为18.E的总时差=最迟开始时间-最早开始时间=18-13=5.
- 第四步
- B完成之后D才能开始,D的最迟开始时间为13,所以B的最迟完成时间为13,B持续2天,所以B的最迟开始时间为11.总时差=最迟开始时间-最早开始时间=11-5=6
- C完成之后,D和E才能开始。D的最迟开始时间为13,E的最迟开始时间为18.所以C的最迟完成时间为13,否则就是坑了D。C持续8天,所以C的最迟开始时间为5,总时差=最迟开始时间-最早开始时间=5-5-0
- 第五步
- A完成知乎,B和C才能开始,B的最迟开始时间为11,C的最迟开始时间为5.所以A最迟结束时间是5,不然会坑了C的进度。A持续时间为5. 所以A的最迟开始时间为0,A的总时差=最迟开始时间-最早开始时间=0-0=0
我们计算出了每一个节点的总时差,那么将总时差为0的这些节点连接起来,就是关键路径的集合。
图中的红色节点,已经红色节点之间的红色连线就是关键路径(可能存在多条),也就是说A->C->D->G->H就是关键路径。
关键路径的松弛时间都是0,因为没有松弛的时间,没有摸鱼的时间,所以这样才是最快实现目标的路径。
而B明显就可以摸鱼,并且还可以摸鱼6天,不影响其他节点,也不影响整个工期,所以程序员做项目时都想有B这样的节点。
6、小结
项目管理中的进度计划是涉及到计算的,因此我们需要知道如何去计算最短工期和总时差,获取关键路径等方法。上面详细讲了如何计算,希望我学习的同时能够给您也带来一些微末的帮助。学无止境,加油!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。