由于考虑到人力资源约束,从图1中可以看出,工作3和工作4资源冲突,工作2、5和工作6也存在资源冲突,我们将它们之间的并行执行关系转化为串行执行,如图1中虚线所示。同时重新按理想工作条件估计每项工作的执行时间,从而得到图2。图2中的工作时间是理想工作时间,粗线标识的是考虑了人力资源约束之后的项目关键链。
3 软件项目缓冲区的设置
为了保护关键链上的工作而不影响到整个项目的计划进度,关键链技术要求为关键链设置项目缓冲区;同时为了防止非关键链上的工作影响到关键链上工作的进度,在非关键链与关键链的汇合处设置输入缓冲。Goldratt是以链上所有工作预测工作时间时节省下来的安全时间的50%作为缓冲区的大小。本文考虑以各项工作的风险量之和作为缓冲区的大小。
采用文献中提出的技术风险分析方法为每项工作进行风险分析。在本文中,只关注时间进度风险暂时不考虑风险费用,因此风险量=风险概率×风险时间。
项目缓冲区的大小等于关键链上所有工作的时间进度风险量之和:
继续第2节中的例子。在经过风险分析之后,得到各工作的风险量见表1。
4 基于关键链的风险管理
缓冲区的设置是为了应对项目过程中可能出现的不确定因素,进行风险的监控和管理。Goldratt对于缓冲区的管理是采用“三色”管理办法,将缓冲区三等分,每个部分分别以绿、黄、红三色表示。在项目进行过程中,检查缓冲区的占用情况。对缓冲区的占用处于绿色区时,认为情况良好;处于黄色区时,一般不采取特别的措施,而是进一步观察并制定风险计划;若缓冲区已被占用到红色区,说明项目已经存在相当严重的进度风险,必须采取相应的补救措施。