关键链项目管理中的缓冲管理新方法李洪庆陆力陈光宇电子科技大学经济与管理学院成都(610054)E-mail:fslihongqing2004@摘要:约束理论在项目管理中的运用被称为关键链项目管理,它强调以系统的观点来进行项目管理,不同于以往的是关键链成为了项目管理的重点。
它通过对缓冲区的管理来减少延误,提高项目的执行效率,从而解决传统项目管理方法所不能解决的问题。
文中详细介绍了关键链项目管理缓冲区的常用计算方法,对缓冲区计算方法进行了改进并且提出了新的管理方法。
经验证新方法是有效的缓冲区计算方法。
关键词:项目管理关键链约束理论缓冲区1.引言约束理论(Theory of Constraints,简称TOC)的创始人高德拉特(Eliyahu M. Goldratt)博士在1997 年出版了一本管理小说《关键链(Critical Chain)》,将TOC 理论引入项目管理领域,形成了关键链项目管理(Critical Chain Project Management,简称CCPM),它强调以系统的观点来进行项目管理。
关键链项目管理的基本思想是根据统计学原理和组织行为学理论,它以为在学生综合症、帕金森定律等人的行为因素的影响下,导致原本时间足够的项目脱期完工、项目成本超支或者牺牲项目设计规模和内容。
为了解决这一问题,关键链项目管理方法提出了以50%的概率估计工期, 将单个工序的不确定因素统一放在项目的缓冲区考虑[1]。
将关键链作为项目管理的重点,通过对缓冲区的管理来减少延误,提高项目的执行效率,从而解决传统项目管理方法所不能解决的问题。
CCPM在一些欧美发达国家已有非常的成功应用:以色列的政府明文规定,想接国防研发合约或订单的企业,必须受过关键链的正式训练,否则没有资格竞逐;一些著名的软件公司已经开始将关键链管理方法嵌入到其项目管理软件中,例如PS8。
国际上已有不少组织和学者对CCPM进行研究,高德拉特学会、PMI 和IPMA 就是其中的几个较有影响的组织。
Lawrance P.Leach 在Critical Chain Project Management一书中对TOC、CCPM进行了详细的阐述[2]。
Taylor提出了一种用蒙特卡罗模拟技术确定项目缓冲区大小的方法,并认为自由时差可充当输送缓冲区的角色[3] [4]。
在我国,有少数学者在研究CCPM[5] [6]。
蔡晨和万伟提出了一种基于三点估计的关键链管理方法[7] [8];刘士新等对关键链项目管理理论进行了系统的介绍[9] [10] [11];单汨源提出利用三点时间估计中的最可能时间确定关键链,并通过位置权数α和弹性系数β来估算时间缓冲量的新方法和一种新的缓冲突破与行动决策机制。
本文在总结前人的基础上,提出一种新的缓冲管理方法[12]。
2.设置缓冲区的原理和目的缓冲区的设置就好像买保险,如果没有保险公司,我们每个人都得准备一些钱来应对各种意外情况的发生。
不一定每个人都遇到意外情况但是遇到意外情况的人钱是不够的;而没有遇到意外情况的人会把这部分钱花掉。
类似地,对于项目这种一次性的活动来说这就是浪费。
有了保险公司,我们只需要每个人拿出很少的钱,我们都能得到更大的保护。
根据这种原理,我们可以把项目网络中的每个活动看成是保险对象;各活动的时差——最晚开始(结束)时间与最早开始(结束)时间之间的差值,我们可以看成是保险费;把缓冲区看作保险公司。
我们从每个活动里抽出较少的安全时间加到缓冲区里,整个项目就得到了一个有效的保护。
通过设置项目缓冲区和汇入缓冲区可以达到以下目的:图1缩短安全时间示意图Fig1 Shorten the time of safety 1.缩短安全时间如上图1中的工作链C1,一系列活动组成一条工作链,假设链长为L ,每个活动的执行时间估计都包含一定的安全时间,假设工作链C1上所有活动在L 这么长的时间内完成的概率是P 。
其中矩形1、2、3的长度代表活动的执行时间估计, S1、S2、S3 分别表示活动1、2、3的安全时间,S 为缓冲区长度。
如果把每个活动的安全时间都分离出来,全部置于工作链之后,形成“聚合的”安全时间,这个“聚合的”安全时间等于工作链上每个活动的安全时间的总和,如图中的工作链C2。
但由风险聚合(Aggregation of Risk )原理知,工作链C2上所有工作在L 这么长的时间内完成的概率将大于P ,此时可以用更少的安全时间达到相同的保护效果,上图中工作链C1与工作链C3的效果一样。
2.提高了项目按期完工的概率图2 汇入点完工概率的计算Fig2 Completion probability calculation of the import point 如图2所示,工作A 、B 、C 都汇入工作D ,假设工作A 、B 、C 按时完成的概率均为70%,那么,工作D 能按时开始的概率为:0.73=0.343;如果将工作A 和工作B 按时完成的概率提高,那么,工作D 按时开始的概率将大大提高。
如果认为工作A 是非关键链Ⅰ,工作B 是非关键链Ⅱ,工作C 和工作D 构成一条关键链,在非关键链Ⅰ和非关键链Ⅱ之后都设置输入缓冲区FB ,也就是使非关键链Ⅰ和非关键链Ⅱ以较早的时间开始,从而提高非关键链Ⅰ和非关键工作链C1 工作链C2 工作链C3链Ⅱ按时完成的概率,那么就能减少非关键链Ⅰ和非关键链Ⅱ对关键链上工作D 的干扰,从而达到提高整个项目完工概率的目的。
3.确定缓冲大小的常用方法下面列举了三种常用的缓冲大小计算方法,式中符号的含义如下:Tb ——缓冲大小;i ——缓冲前链路上的任务;i t %90——活动持续时间90%置信度估计;cc ——关键链;i t %50——活动持续时间的50%置信度估计;I ——非关键链。
方法1[13]:路径上活动持续时间的90%估计与50%估计的差异之和的一半,即:()∑-=i i i t t Tb %50%9021 (1)方法2①:路径上活动持续时间的50%估计的一半,即: ∑=i i t Tb %5021 (2)方法3②:首先用两种方法估计各项工作的执行时间,记采用传统方法估计工作i 的执行时间是i s ,采用CCPM 方法估计的工作i 的执行时间是i a ,两者之差为i i i a s -=δ,则缓冲区的大小为:()[]2/12∑=i i Tb δ (3)对于这三种方法,当cc i ∈时,Tb PB =;当I i ∈时,Tb FB I =。
4.缓冲区设置的新方法前文提到的三种方法操作简单,方便易行,但对所有的工序都进行相同的处理,没有考虑工序的实际情况和特点,缺乏合理的推断,过于简单草率。
本文结合专家评分法提出基于经验的缓冲区设置方法。
首先根据专家的预测估计计算风险指数;然后对各工作的缓冲需求量进行等级划分,不同的等级对应不同的缓冲需求量与安全时间的比值ij D ;最后将各工作的安全时间ij δ乘以该工作所在等级的ij D 得到各工作的缓冲需求量ij T ,项目缓冲的大小等于关键链上所有工作的缓冲需求量之和,非关键链的输入缓冲等于该链上所有工作的缓冲需求量之和。
实施流程如下:1.首先聘请经验丰富的专家专家可预测各活动发生资源短缺的概率,记为ij P 。
其中:i ——各工作链的序号;j ——各工作链上活动的工序号。
2.令各工序对整个项目的重要程度为ij S ,可以采取的有效措施的成本代价为ij E 。
组织专家分别对其打分,得出风险指数:ij ij ij ij E P S R ⨯⨯= (4)①该方法就是Goldratt 法,又叫“剪切——粘贴法”是Goldratt 在《关键链》中提出的算法,许多学者认为该方法由于是一种线性方法而过于保守,往往会导致缓冲区过大或过小使方案缺乏竞争力而错失商机。
②根方差法,该方法由Luncent 科技公司最早提出,优点是项目管理者不必随意削减单个项目工作的预估时间,从某种程度上避免管理者与执行者之间的矛盾,而且可以避免时间缓冲量过短或过长的现象发生。
3.根据ij R 的值划分缓冲需求量的等级:将ij R 按从大到小进行排序,再根据表1划分等级,其中:ij D ——缓冲需求量与安全时间ij δ的比值。
表1 缓冲需求量的等级表Tab.1 Buffer demand levels4.计算缓冲区的大小。
各工作的缓冲需求量:ijij ij(5)5.判断是否属于关键链[14]。
如果属于关键链,关键链上项目缓冲区的大小为:cci T PB n j ij ∈=∑=,1 (6)(cc 为关键链,j 是关键链上的工序号,n 是关键链上工作的总数);如果属于非关键链,转入第6步。
6.计算自由时差。
由于我们取活动持续时间的50%时间估计作为关键链的执行时间,如果直接插入缓冲区,就有可能使活动之间不能满足关系约束或者使关键链出现间隙。
所谓的“关键链出现间隙”是指关键链上的工作不是连续执行的。
为了避免关键链出现间隙,我们还要计算各非关键链的自由时差(Free Slack )。
自由时差FSij =最晚开始时间LSij- 最早开始时间ESij=最晚完成时间LFij- 最早完成时间EFij第i 条非关键链的自由时差(i FSI )等于该非关键链上各工序自由时差的最小值即: ij i FS FSI min = 7.确定输入缓冲的大小。
第i 条非关键链的输入缓冲区的大小为:I i T FB n j ij i ∈=∑=,1 (7) (I 为非关键链的集合,n 等于第i 条非关键链上工作的总数) 最后选取i i FB FSI ,中较小的值作为输入缓冲需求量。
则此时输入缓冲区的大小为:),min(i i i FB FSI FB =' (8)以上流程如图3所示。
本方法可根据实际情况和经验调整各等级的活动数占总活动数的比例,ij D 的值也可根据项目和活动的特征进行适当调整。
当然,此方法也有不足:主观因素影响大,在进度制定过程中可能出现意见的分歧,以至在实施过程中带来矛盾。
5.缓冲管理方法50%的概率工期估计是很容易出现延误的,因此对缓冲区的管理成为项目团队进行项目控制的重要手段。
通常将缓冲分为三等分:绿色,黄色,红色进行项目监控,如表2所示[12]。
图3 缓冲长度计算新方法流程图Fig3 A new method of buffer length calculation chart表2 常用缓冲管理方法表Tab.2 Commonly used buffer management methods段,如果工作已经接近完工,那么项目的执行进度并没有出现问题,我们不必采取行动。
本文基于以上方法,结合项目执行的进度,将各链上工作也均分为三等分,于是得到以下缓冲管理决策方格,如图4。