|
[原创]关键链方法的多项目监控技术为了充分利用重要的资源,降低成本,多数公司通常都会有多个同时进行项目共享资源。但多项目环境会带来其他的问题,在同一时刻多个项目可能会抢夺同一个共享资源,如果安排不当,可能会导致某些项目延期、以及工作效率严重下降等问题。在计划阶段,关键链方法可以通过编制资源约束计划、容量缓冲区(Capacity Buffer)、同步化等技术,使共享资源在任何一个时间内,只为一个项目工作,并在不同项目之间设置缓冲区,避免因为一个项目的延迟而影响另外一个项目的交付时间。 项目执行阶段,如果每个项目的进度和计划的偏差都不大,那么关键链方法可以保证不会出现同时竞争共享资源的情况,只需要按照计划的时间先后次序执行任务就可以,每个共享资源每个时刻都只专注于一个项目,共享资源的工作效率可以得到保证。 但是如果某些项目的执行和计划偏差很大,或者计划的时候对风险估计不足,没有设置足够长的容量缓冲区,就会打乱计划的安排,使共享资源在某些时候不能只专注于单一项目,出现多个项目抢夺共享资源的情况。 多个项目抢夺资源的情况很容易发生,因为容量缓冲区可能会导致资源闲置,增加成本,所以管理层总是希望压缩容量缓冲区,让公司完成更多的项目。这样,容量缓冲区耗尽,导致共享资源进入多任务状态的可能性就会很大。 因此,如果出现多个项目抢夺共享资源的情况,不仅工作效率会降低,如果安排不当,还有可能导致某些项目延期。因此多个项目同时要求一个资源的时候,就需要解决一个问题:应该让资源优先完成哪个项目的哪个工作? 例如有两个简单的项目:“软件项目20070831”和“软件项目20070920”,这两个项目使用相同一组资源,包括项目经理、架构师、程序员、文员和测试员等等。由于前面的项目延期比较严重,架构师和程序员需要同时完成两个项目的任务,这时候架构师和程序员需要知道应该先做哪个任务,才能使两个项目都不延期。 首先,缓冲区管理(Buffer Management)根据每个任务的完成率,可以计算出每个项目的项目缓冲区的消耗率和关键链的完成率,然后给每个项目缓冲区分配一个颜色,红色表示延期严重,需要采取措施追赶进度;绿色表示进展良好,不需要采取措施;黄色介于二者之间,表示需要考虑如何追赶进度,但还不需要马上采取措施。 缓冲区管理直观展现每个项目延期的风险大小,多项目环境下,可以利用缓冲区管理的结果决定项目获得共享资源的优先级。如果一个项目缓冲区状态进入红色区域,它应该比处于黄色和绿色的项目优先获得资源。 如上图,“软件项目20070831”的项目缓冲区处于红色区域,必须立即采取行动追赶进度。而“软件项目20070920”的项目缓冲区处于黄色区域,还不需要立即采取行动追赶进度。因此,资源应该优先分配给“软件项目20070831”。 但是这里还有一个问题,即使是处于红色区域的项目,也不是所有任务都是瓶颈,加快非瓶颈任务的不能使项目提前。因此,只有瓶颈任务才需要优先获得资源。根据关键链方法的基本概念,项目的瓶颈是关键链上的任务。这样,只要项目执行和计划偏差不大,在监控阶段项目经理只需要给处于红色区域项目的关键链上的任务优先分配资源,就可以平衡各个项目延期的风险。 但是如果项目偏差比较大,关键链已经迁移,那么就需要重新计算当前状态下的项目关键链,也就是动态关键链,动态关键链上的任务才是项目的真正瓶颈,需要优先获得共享资源。 上图中,标记为红色的任务是红色区域项目的动态关键链上的任务,在争夺共享资源的时候拥有最高优先级;标记为紫色的任务则是红色区域项目的非动态关键链任务,但他们的结束时间已经超过最晚结束时间,也拥有比较高的优先级。 标记为橙色和黄色的任务优先级比较低,分别表示黄色项目的动态关键链上的任务,和黄色项目超过最晚结束时间的任务。 标记为绿色的任务拥有最低优先级,他们的进展良好,在任何情况下都应该让出共享资源。 在只有少数项目处于红色区域的时候,上面的方法已经足够判断分配共享资源的优先级。但如果大量项目处于红色区域,那么我们仍然无法区分同是红色区域项目的不同任务的优先级。 关键链方法提供了另一个技术,任务优先级排序,可以解决这个问题。如果一个任务延迟,就会侵蚀喂料缓冲区(Feeding Buffer),如果延迟时间超过喂料缓冲区长度,就会侵蚀项目缓冲区。这样就可以计算出每个任务对项目缓冲区的侵蚀,来确定任务的优先级。一个任务项目缓冲区侵蚀越多,提前这个任务就可以更多减少项目缓冲区的侵蚀,所以在获得共享资源方面优先权更高。 结合考虑关键链上任务完成情况、项目缓冲区长度的其他指标,对任务进行排序,最后得到一个任务顺序表,排在前面的任务比排在后面的任务获得共享资源的优先级更高。 责编:李华星 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 |
|
|