如何度量项目的总体进展?
在跟踪项目的总体进展时,传统的方法是采用挣值图进行跟踪,敏捷的方法是采用燃尽图或燃起图进行跟踪,精益的方法是采用累积流量图跟踪总体进展。
在一家公司内有采用短周期迭代模式开发的,有采用传统瀑布模式开发的,有新品开发的项目,也有软件维护的项目,那么有无一种适合于所有类型跟踪项目总体进展的统一方法呢?
下面就介绍一种计算简单、易于理解的方法,它可以跟踪总体进展,也适合跟踪局部进展。
两个度量元
01 时间流逝百分比
TLP:Time lapse percentage
时间流逝百分比=已经流逝的时间/项目计划总工期
例如项目计划工期为100天,到目前为止已经过去了20天,则时间流逝百分比为20%。
问题1:工期,流逝的时间是否包含节假日呢?
答:理想的情况是要扣除节假日,但是人们习惯上所说的工期都是包含节假日的,而且如果要扣除节假日就会带来计算的复杂性。所以实际计算时,如果项目工期很长,可以包含节假日在里面,如果项目工期很短比如不超过3个月,可以很容易的扣除节假日,那么就扣除节假日。
所以,这个度量元可以有2个公式:
① 时间流逝百分比=已经流逝的自然天数/(项目计划结束日期-项目计划开始日期)
② 时间流逝百分比=(已经流逝的自然天数-节假日天数)/(项目计划结束日期-项目计划开始日期-节假日天数)
问题2:如果需求不明确,没有项目计划总工期,怎么办?
答:此时是否有阶段工期呢?如果有,就让分母为已知的阶段总工期!
问题3:工期的计量单位是否可以是周?
答:可以。如果以周为单位进行跟踪,分子与分母的计量单位可以都是周!
02 任务完成百分比
TCP:Task completion percentage
任务完成百分比=已经完成的任务/项目计划总任务数
如项目WBS分解完成后,计划的明细任务总数为100个,到当前位置已经完成了30个任务,则TCP为30%。
问题1:任务有大有小,怎么办?
答:限定任务分解的颗粒度,使任务具有可比性。比如每个任务的分解颗粒度在0.5人天到5人天之间,或者1人天到10人天之内,尽量不要让最大任务的工作量:最小任务的工作量超过10。把任务拆分到可比较的颗粒度是本方法的前提。
问题2:一开始任务识别不完备,后期有增加任务怎么办?
答:对于未完成的任务可以进行增加、减少、拆分任务。此时对公式中的项目计划总任务数进行调整即可。
如果需求不明确,TLP的分布为阶段总工期,此时的计划总任务数也是当前阶段的计划总任务数。
问题3:何谓“已经完成”?
答:项目组定义规则,判断每个任务是否已经完成即可。
问题4:何谓“任务”?
任务可以是需求,可以是缺陷修复,可以是一个会议,可以是其他一个活动等等,项目组可以根据自己的习惯来定义。
比如在迭代开发中,所有的任务可以都是一个用户故事;在瀑布开发中,任务可以是需求开发活动、评审活动、文档编写活动、编码活动、测试活动等等。
问题5: 如果是已完成任务的返工,如何处理?
对于费时较少的任务,可以不单独计数为任务。如果返工的任务费时较多,超过当前已识别任务的最小工时,可以单独计数为任务。
趋势图示例
对于TLP与TCP可以在一种图上进行展示。
例如:某项目持续15周的项目总体进展原始数据如下:

基于上述数据,画总体进展趋势图如下:

横坐标为时间,可以日期或周次,纵坐标为TLP与TCP,TLP为基准线。
当TCP在TLP之下时,说明存在进度风险,二者距离越远,风险越大。
当TCP在TLP之上,项目进展顺利或估算太悲观。
本文作者:任甲林 CMMI高成熟度主任评估师、讲师