项目跟踪控制的目的是保证项目目标的达成。项目周期是重要的项目目标,因此进度控制是重要的监控内容,同时软件产品的质量,成本等也应该根据当初定义的目标进行监控。否则到了时间点,产品完成了但质量和成本都达不到要求,仍然是失败。
有监控但项目仍然延期,或者说仍然达不到当初定义的质量和成本要求,原因何在?只跟踪不控制,只发现问题不找寻根源和解决问题,只应急处理问题而不是提前观察各种征兆是监控中最常见的现象。
进度跟踪中发现进度偏差的根源分析如下:
1.任务本身的估算问题
任务本身的工作量估算是否合理?进度出现偏差首先要考虑的工作量的估算是否合理,是否考虑了工作中存在的技术难 点,是否考虑了项目成员自身的技能,是否考虑了其它应该考虑的风险。任务计划下达给项目成员时候应该获取承诺,但很多时候获取承诺是无用的,是否可以承诺或者是否能完成承诺跟项目成员的个人经验和技能有太大的关系。
当偏差出在估算上,而且后续项目都是采用的相同估算模式的情况,调整项目计划往往是必须的了。对于短期型的项目,如果这个时候才发现是项目成员技能问题,而想通过培训来提高技能以取得立竿见影的效果往往已经是不现实的。
如果项目任务中存在着技术攻关或技术难点需要解决,对于这种任务往往是很难估计工作量的,而且一旦在技术问题上被卡住往往对项目进度产生致命的影响。唯一的方式就是把无法预测和不透明的东西转换为透明,在项目开始之前就应该进行风险分析和应对,提前进行技术问题的预研,开发原型,积累相关的知识和经验。
估算问题的根源又出在历史项目或版本对项目历史数据的采集和分析不够,准确的估算依赖于专家的经验,但专家的经验同样是依赖于历史项目和历史数据。估算问题的根源还在于对项目成员技能和生产率水平没有较清楚的认识,一个软件类任务的完成往往存在着巨大的个人生产率差异和进度差异。
2.任务本身的粒度问题
对于一个软件项目,出现1-2天的偏差很容易得到纠正。而如果出现1-2周的偏差则很难再进行纠正。任务本身的粒度和工作量直接和偏差的大小相关。当任务本身的粒度太大的时候是不适宜进行跟踪的,任务本身是否会偏差不在取决于跟踪者,而是执行者对于大粒度的任务是否 有很好的细分和自我控制能力。