很明显,这是标题党~刚从老罗那取的经就要用上~只是扯扯项目管理与时间管理!
扯这个话题的原因是,之前部门有一个关于「关键路径」的分享,个人觉得「关键路径」这玩样用处不大!只能做个前期估算!这里做个复盘,确认一下是否确实是个鸡肋~
这里通过魔兽争霸里的人族来展开!
为什么是魔兽争霸呢?因为我好久不玩游戏了,现在游戏都是90后、00后的天下了,我这种80后的老人就不掺和了!魔兽争霸是我在大学里玩得最多的游戏,也是80后很熟悉的一款游戏了!至少能引起80后的共鸣!
那为什么是人族呢?因为在魔兽争霸里的四个种族里,人族有两项其它种族都不具备的技能!第一、农民可以变民兵!第二、多个农民可以同时建造一个建筑物。这更贴合我们的现实生活!
什么是关键路径
我们先来说说什么是「关键路径」!一堆无聊的概念,没兴趣的可直接忽略~
这是BusinessDictionary里的一段解释:
Longest sequence of activities in a project plan which must be completed on time for the project to complete on due date. An activity on the critical path cannot be started until its predecessor activity is complete; if it is delayed for a day, the entire project will be delayed for a day unless the activity following the delayed activity is completed a day earlier.
简单翻译一下:
对于一个需要在特定时间内完成的项目,针对这个项目所制定的计划里,耗时最长的那个「活动序列」就称为是关键路径。在关键路径中的「活动」不能在它的前导「活动」结束前开始;如果一个活动延误了一天,则整个项目将会延误一天,除非后续的活动提前一天完成,来抵消这一天的延误
一个项目可以有多个,并行的关键路径。另一个总工期比关键路径的总工期略少的一条并行路径被称为次关键路径。
关键路线是一个动态系统,它会随着项目的进展不断更新,其采用单一时间估计法,其中时间被视为一定的或确定的。
在关键路径中,一般有以下一些时间参数:
- 最早开始时间(Early Start):活动最早开始时间由所有前置活动中最后一个最早结束时间确定。
- 最早结束时间(Early Finish):活动的最早结束时间由活动的最早开始时间加上其工期确定。
- 最迟结束时间(Late Finish):一个活动在不耽误整个项目的结束时间的情况下能够最迟结束的时间。它等于所有紧后工作中最早的一个最迟开始时间。
- 最迟开始时间(Late Start):一个活动在不耽误整个项目的结束时间的情况下能够最迟开始的时间。它等于活动的最迟结束时间减去活动的工期。
- **总时差(Total Float) **:指一项活动在不影响整体计划工期的情况下最大的浮动时间。
- 自由时差(Free Float):指活动在不影响其紧后工作的最早开始时间的情况下可以浮动的时间。
其实举个简单的例子就可以解释上面的概念了!
统筹方法
以前学过一篇叫统筹方法的文章,我印象非常深刻!因为我当时算错了!!!
大概问题是这样的:“烧水泡茶"有五道工序:
- 洗水壶
- 烧开水
- 洗茶壶
- 洗茶杯
- 拿茶叶
- 泡茶
洗水壶是烧开水的前提;烧开水、洗茶壶、洗茶杯,拿茶叶是泡茶的前提。
各道工序用时表: 洗水壶1分钟,烧开水15分钟,洗茶壶2分钟,洗茶杯1钟分,拿茶叶1分钟, 泡茶1分钟,如何以最快的速度烧水泡茶?
正常人都知道:
- 先洗水壶
- 烧开水
- 烧水过程中,洗刷茶具,拿茶叶
- 水烧开后沏茶
以这个流程来看,如果我们想中午12点开始烧水泡茶,那么洗水壶的「最早开始时间」需要是12点,「最早结束时间」是12点1分;烧水的「最早开始时间」需要是12点1分,「最早结束时间」是12点16分!另一条线上,洗茶壶的「最早开始时间」是12点1分,「最早结束时间」是12点2分;洗茶杯的「最早开始时间」是12点2分,「最早结束时间」是12点3分;拿茶叶的「最早开始时间」是12点3分,「最早结束时间」是12点4分!而泡茶的「最早开始时间」是12点16分(必须要等水烧好),「最早结束时间」是12点17分;喝到茶的「最早开始时间」是12点17分!
再反过来推,如果要在12点17分能喝到茶!也就是说喝茶的「最晚开始时间」是12点17分!那么泡茶的「最晚开始时间」是12点16分,「最晚结束时间」是12点17分;烧水「最晚开始时间」是12点1分,「最晚结束烧水」时间是12点16分;洗水壶的「最晚开始时间」需要是12点,「最晚结束时间」是12点1分;拿茶叶的「最晚开始时间」是12点15分,拿茶叶「最晚结束时间」是12点16分;洗茶杯的「最晚开始时间」是12点14分,洗茶杯「最晚结束时间」是12点15分;洗茶壶的「最晚开始时间」是12点13分,洗茶壶「最晚结束时间」是12点14分;
是不是看懵了?没关系,下面还有更懵的!!!
可以看出,洗水壶、烧水和泡茶的「最早开始时间与最晚开始时间、最早结束时间与最晚结束时间是相同的」,也就是说洗水壶、烧水和泡茶是不能有偏差的!这条路径确定了泡茶的最终所耗时间,这条路径就是「关键路径」!
而洗茶壶、洗茶杯,拿茶叶的「最早开始时间与最晚开始时间、最早结束时间与最晚结束时间是不同的」!这条路径不决定最终的泡茶时间,所以是非关键路径!其中的12分钟的偏差就是「总时差」!而如果洗茶杯的最早开始时间变为12点5分,则洗茶壶的「自由误差」就是3分钟!
到这里都没什么问题,问题在下面,我们再举个复杂的例子!
人族「万金油」
魔兽争霸的人族里有个著名的「万金油」组合,大致组合如下:
- 大法
- 山丘之王
- 三个步兵
- 五个火枪
- 三个女巫
- 一个男巫
我们假设有5个农民,金钱和木材无限,如何能最快的训练出万金油阵型!
首先我们来看下限制条件:
- 初始有5个农民、一个农场和城镇大厅。虽然金钱和木材无限,但是农民不能超过5个!
- 要出英雄需要造祭坛,祭坛建造时间为60秒,训练英雄时间为55秒
- 在城镇大厅升级到主城之前,不能出第二英雄「山丘之王」,城镇大厅升级到主城需要140秒
- 要训练步兵需要建造兵营,兵营建造时间为60秒,步兵训练时间为20秒
- 要训练火枪手,除了兵营还需要铁匠铺,建造铁匠铺需要70秒,训练火枪手为26秒
- 要出女巫和男巫需要神秘圣地,而建造神秘圣地需要先升级到主城,神秘圣地需要70秒的建造时间,女巫需要30秒的训练时间,男巫需要28秒的训练时间
- 要造人,需要建造农场,一个农场可以支持训练十个人口。其中英雄占5个人口,士兵2个人口,火枪手3个人口,女巫2个人口,男巫2个人口,农民一个人口!所以总人口为:5 * 1 + 2 * 5 + 3 * 2 + 5 * 3 + 3 * 2 + 1 * 2 = 44人口,除去初始的那个农场,需要再建造4个农场。建造一个农场需要35秒
- 所有建造时间均为单个农民建造时间,n个农民建造时间为t/n
又看晕了?这次我很贴心的画了一张图:
- 实线表示先后顺序
- 虚线为必要条件,表示所指向的目标需要执行时,除了要在实线初始端的目标之后执行外,还需要在虚线初始端的目标之后执行
如果做过项目管理,这个情况是不是很熟悉?其实就是五个人力,如何高效的完成项目?
统筹方法打造「万金油」
上面的烧水泡茶是个很简单的例子,一眼就能看出如何优化执行!这个例子你能一眼就看出最优执行方案吗?我们来看看使用统筹方法来打造「万金油」!
细化任务
不论有没有做过项目经理,应该都知道,一个任务的时间越长,误差就越大!回想一下你考四六级的时候,你提前一年准备,计划三个月背单词、三个月看选择与阅读、三个月看写作,轻松搞定四六级。呸!别做梦了!最后可能单词书都翻不到C,最熟悉的单词就是abandon,别问我是怎么知道的!
一般情况下一个任务应该控制在3天之内,最长不超过5天,这才能把控!对于上面的任务,我们来看,哪些步骤是可以拆的!
其实所有的建造过程都可以拆!前面说了,人族里有个特殊技能,可以合作建造,时间是原来的1/n!其实就是变相的把任务拆了!目前我们的建造任务有:
- 造祭坛60s
- 造兵营60s
- 造铁匠铺70s
- 造神秘圣地70s
- 造农场35s
实际上可以拆成:
- 造祭坛 12s * 5
- 造兵营 12s * 5
- 造铁匠铺 14s * 5
- 造神秘圣地 14s * 5
- 造农场 7s * 5
找出最长路径
现在所有的任务都拆到不能再拆了!从这些任务中找出耗时最长的任务!通过其前置任务和后置任务,构建出一条任务路径!为什么这里不叫关键路径呢?因为只是一个初步选择,并不是特别准确!
很明显,这里最耗时的任务是升级主城,耗时140s!它没有前置任务,有两个后置任务:训练山丘之王和造神秘圣地!训练山丘之王55s,造神秘圣地70秒,好像造神秘圣地比训练山丘之王耗时长。
但是,请注意,神秘圣地可不是70秒哦,是14s * 5 哦!而训练山丘之王是实打实的55s!这里该如何选择呢?从上图可以看出,训练山丘之王之后就没有后置任务了,而建造神秘圣地后,还有后置任务!所以我们先选择神秘圣地作为后置任务,训练山丘之王作为备选项!那么现在的任务时间是140s + 70s = 210s!
神秘圣地的后置任务是训练一个男巫+三个女巫!看起来也是只能一个一个的建造!28s + (30s * 3) = 118s!但是,你可以多造几个神秘圣地啊!比如造4个神秘圣地,那训练男巫女巫的时间就变成了30s了!但是相对的,建造神秘圣地又多了,最长要消耗14s * 5 * 3 = 210s了,最短要消耗14s * 3 = 42s!怎么选择?
我们先不管这么多,依然直接选择最耗时且最明显的任务,即一个一个的训练男巫和女巫,耗时118s!目前总共耗时140s + 70s + 118s = 328s!目前这就是我们的「万金油」任务的最长路径,但这不是个聪明的路径!
进行组合
我们已经有了一条最长路径!我们将其它的任务,构成另一条或多条路径,使得任务时间和最长路径中的任务相接近,越接近说明人员使用越饱和,这样才能使得每个人力得到充分的发挥!万恶的资本主义啊!
为了方便说明,我们给五个农民分别标号A,B,C,D,E!
首先在升级主城的140s时间里!由于时间跨度很大,我们的组合方式就很灵活!比如说我们可以让A造祭坛60s,B和C造兵营30s,D造铁匠铺70s,E造两个农场70s!30s后兵营完成,训练两个士兵和一个火枪手,20s * 2 + 26s * 2 = 92s!为什么要这么分配呢?因为火枪手要等铁匠铺,而造好两个士兵后,正好铁匠铺完成!同时B和C再造一个兵营30s!完成后训练三个火枪手,26s * 3 = 78s!B和C再造一个兵营30s!完成后训练最后一个士兵20s!祭坛完成后,立即训练大法师,同时A去造农场!D和E造完农场后,再一起造一个农场17.5s!
我们算一下,一共耗时多少秒!
- A:60s + 35s = 95s
- B:30s + 30s + 30s = 90s
- C:30s + 30s + 30s = 90s
- D:70s + 17.5s = 87.5s
- E:35s + 35s + 17.5s = 87.5s
- 大法师:55s
- 兵营1:30s + 20s * 2 + 26s * 2 = 122s
- 兵营2:60s + 26s * 3 = 138s
- 兵营3:90s + 20s = 110s
可以看出,农民的工作时间大约是90秒上下,分工还是比较平均的!士兵和火枪手在140s内全部训练完成!一般项目也是这样,前期把控较好,压力也不是很大!到了后期冲刺阶段,就开始忙了!
主城升级完成后,立即训练山丘之王55s,同时五个农民一起去造神秘圣地14s!造完了就开始造第二个神秘圣地!同时训练两个女巫30s * 2 = 60s!造完第二个神秘圣地后,再造一个神秘圣地!同时第二个神秘圣地训练一个女巫30s!第三个神秘圣地造完后,训练男巫28s!至此「万金油」组合完成!我们再看下时间!
- 此时五个农民耗时相同,都是14s * 3 = 42s
- 山丘之王:55s
- 神秘圣地1:14s + 30s * 2 = 74s
- 神秘圣地2:28s + 30s = 58s
- 神秘圣地3:42s + 28s = 70s
至此,整个任务的流程已经大致确定了!大致的甘特图如下!
「万金油」中的关键路径
我们看下,这个任务的关键路径是什么!以及非关键活动所对应的最早开始时间、最早结束时间、最晚开始时间和最晚结束时间!
从上图应该很明显就能看出来,关键路径是
- 升级主城140s
- 造神秘圣地14s
- 训练女巫30s
- 训练女巫30s
见下图红色部分
总共210s!与上面初步估算的最长时间328s相比,缩短了三分之一的时间,整整118s!从这里可以看出,好的规划是可以极大的缩短执行时间的,相对的也就是提高了效率!不只是对项目而言,对个人时间管理也是一样的!
找出了关键路径,我们来计算一下所有活动所对应的最早开始时间、最早结束时间、最晚开始时间和最晚结束时间!简单起见,我直接在图中标示出来:
- 左上角:最早开始时间
- 右上角:最早结束时间
- 左下角:最晚开始时间
- 右下角:最晚结束时间
如下图所示(友情提示,请看原图,否则可能会瞎~):
有几点需要注意的:
- 神秘圣地是需要5个农民一起建造的,而建造神秘圣地是在关键路径上的,所以建造神秘圣地之前的所有其它建造任务都需要完成。也就是说其它建造任务的最晚结束时间,不能晚于建造神秘圣地的最晚开始时间
- 有的建造是有先后顺序的,因为农民(资源)是有限的,所以这两个建造过程的相对时间是有限制的。比如对A来说,必须要先建造好祭坛才能去早农场!
- 淡绿色的标注即表示有先后限制
关键路径的作用
扯了这么多,关键路径有什么作用呢?在分享里,说关注「关键路径」可以有效的把控项目进度!
我比较赞同PMP教程里对「关键路径」作用的描述:「关键路径」是评判一个项目的灵活程度的!即根据上面所说的「总时差」、「自由时差」,可以判断非关键路径的可调节度!通过此灵活度,来合理的调配,以期在限定时间里完成项目!
两者有什么区别?看重点!!!「关键路径」的作用是评判项目灵活度,限定时间里完成项目是副产品!而不是通过「关键路径」就能够把控项目进度了!
先说为什么单纯的关注「关键路径」不能把控项目进度:
首先,所有活动的时间都是「估算」的!前面说了,对一个任务来说,时间最好控制在3天左右,超过5天就很容易失控了!而对整个项目的估算少则个把月、多则按年计算,估算偏差如何保证?以上面的「万金油」来说,你保证你微操够快,执行跟得上你的计划?你保证对手不来骚扰你,你不要抵抗一下?你保证你牛逼,农民都不会被干死?光关注个「关键路径」就能弥补了?!
其次,前面也说了,「关键路径」是会变的,可能一个任务延期了,导致这条路径变成了关键路径,而原来的关键路径变成了非关键路径!照这么看,你关注的路径可能随时会变。换句话说你还是要关注所有的路径啊!
最后,「关键路径」就是个悖论!我们做项目计划的目的是什么?是为了更好的利用资源,减少项目周期!既然要更好的利用资源,我们就需要榨干资源的每一秒时间(万恶的资本主义×2)!也就是说,要榨干资源,就要保证所有的资源路径都是所谓的「关键路径」!以上面的例子来说,5个农民在210s内,不能有1s的休息时间!用「关键路径」的概念来说就是不能有「自由时差」!如果没有「自由时差」那说明这个项目里的所有路径都是关键路径!对于资源利用来说,这才是最完美的!此时你就需要关注所有路径了吧?好,既然所有的路径都叫「关键路径」,那干吗还叫「关键路径」呢?就好比是,以前看到漂亮姑娘叫「美女」,现在见到个女的就叫「美女」,这个「美女」和「女士」还有什么区别呢?都叫「路径」好了,还省两字!
再来说下我对「关键路径」是评判一个项目的灵活程度这句话的观点:
虽然企业的本质是赚钱,但是人是需要休息的,「会休息的人才会工作」嘛!
项目经理的职责就是保证资源能够在项目中发挥充分的职能!个人时间管理也一样,「合理的安排作息」应该都听出老茧来了吧?
而「关键路径」的作用就在这里,通过初步估算的「关键路径」,确定项目的大致周期!通过「自由误差」来把控非关键路径的进度,以及人员的调配、对突发情况的应对以及给予人员休息时间!同时,有了这个「自由误差」,当「关键路径」出现问题的时候,我们可以尝试用非关键路径上的资源来协助以弥补可能出现的延期!以期能在规定时间内完成任务!
「万金油」里,每个农民不都有几十秒的休息时间嘛!有的休息时间长一点,有的休息时间短一点!万一哪个农民被残忍的杀害了,其它闲着的农民可以立即去替补啊,不至于太影响工期(万恶的资本主义×3)!且休息完后,才有充足的精力投入到后面紧张的神秘圣地的建造当中去嘛(万恶的资本主义×4)!
总结
虽然这是从一个关于项目管理的分享引发出的思考,不过其实对个人的时间管理也是一样的。
重要事情作为「关键路径任务」,非重要事情作为「非关键路径任务」,任务细化最长不超过5天,最好3天之内,通过合理的分配,可以高效的完成制定的计划!当然了,计划做得再漂亮,重要的还是执行!
网友评论