质量与进度关系
通常,项目管理的前提是保证在预算内、满足质量的前提下,按进度完成项目。因此,可以看到,保证质量是前提。那么,如何在满足质量的前提下管理进度呢?单纯从项目管理理论知识中并没有一种有效的方式。笔者通过实践,推荐一种较实用的方法。具体步骤为:
首先,尽量利用历史数据。在本案例中,Henry应该调查之前的项目情况,将会发现可以类比的情况,事先可以知道需要管理质量和进度的关系。
其次,由于此项目是软件外包项目,Henry不能完全掌握项目的资源调度情况,因此缺乏对质量的控制。这也是大多数外包工程中令人难以掌握的地方。在这里,可以采用对进度管理计划添加质量参数的方法,也是通过参数调整进度和质量的关系。
这一做法的前提是要有一定的历史数据。比如,从历史数据中得知,完成子项目的时间是5天,测试后有15个问题;完成同样子项目的时间是7天,测试后有10个问题;完成同样子项目的时间是8天,测试后有5个问题,……以此类推。
随着数据的不断增多的,采用两维坐标图,会得到一些离散的点(不考虑资源的差异),并形成一条曲线,见图1。考虑项目允许的质量范围,对照图中的数据,找出相应的参数。根据得到的参数,确定一个合适的进度计划。
进度与成本的关系
在本案例中,Henry发现东方公司进度一直拖后,成本却居高不下。这里需要了解软件外包项目中进度与成本的关系。很多时候,此类工程大多采用固定总价合同。但由于软件项目的修改比较多,实际上此类合同很像是固定总价加奖励费用,其中奖励费用一般会采用单价合同,即若干元/人天的合同,也是说,承包商的成本是建立在人力成本估算上的。这样,一些承包商会倾向于拖延进度(或者减少实际投入,造成质量下降)。因此,项目经理需要了解整个合同的情况,好参与合同的制定。在此案例中,Henry试图通过引入竞争来提高整个项目的效率,满足项目目标,也是出于同样的原因。尤其值得注意的是,有时候,出于竞争的需要,承包商会提供低廉的价格,此时对于进度管理更应该谨慎和完善。
还要指出的一点是,要对学习曲线有深刻地认识。在软件开发工程中,学习曲线(learning curve)有很大的用途。通常情况,承包商在接到同样类型的软件项目后,第二次会比第一次节省15%-20%的时间。项目经理好要了解一下以前类似项目的情况。