进度和资源计划
进度计划的作用是将工作安排反映在日历上。它不仅规定了整个项目和每个阶段的起止日期,还规定了所有活动的开始和结束日期。描述进度计划的常用工具包括甘特图和时间表:
1)又称 甘Gantt Chart”或“Bar Chart时间刻度用横轴表示,活动用纵轴表示,活动的开始和结束时间用横条表示。传统的甘特图不能表示活动之间的关系,但现在有一些工具(如MS Project)活动的依赖关系可以用水平条之间的箭头来表示。甘特图的特点是直观性强,缺点是一旦整个图形的形状发生变化,就必须重新绘制。
2) 时间表通常与网络图一起使用。网络图描述了任务之间的依赖关系,并记录了每个活动的计划开始时间、计划结束时间、实际开始时间和实际结束时间。该方法最大的特点是修改方便,可以直接记录最新状态并重新计算;但缺点是直观性差。在制定进度计划时,一般应考虑以下因素:
1) 活动之间的约束关系。如上述网络图所述,项目中的活动之间存在各种依赖关系,有些活动必须在某些活动完成后才能进行。因此,进度计划应首先根据依赖关系安排工作时间,这就是为什么进度计划应在活动排序后进行。
2) 活动适合的启动时间。对于那些有浮动时间的活动,可以分析一下是适合越早开始越好,还是最迟开始越好。一般我们总感觉越早把事做完越放心,但从成本和质量等角度看问题时未必如此,比如培训,早早完成后过一段时间员工就忘记了,效果并不好。
3) 平衡资源配置。当考虑到资源条件(如资源冲突)时,一些活动可能无法按时完成,因此在制定进度计划时最好同时考虑资源。可以检查是否能满足活动的资源分配。如果足,考虑增加资源或修改进度,并反复调整。
制定进度计划时最常见的问题是计划工期大于客户实际要求的工期。此时,需要调整进度以压缩整个工期。常用的方法如下:
1) 缩短关键路径上的活动周期。当然,增加投资资源或使用经验丰富的人往往会导致成本上升。此外,需要注意的是,增加投资资源不仅会增加沟通协调的工作量,而且会在一定程度上限制物理条件;如果使用经验丰富的人员,寻找和解决资源问题非常重要。
2) 活动并行工作。通过仔细分解一些活动,你可能会发现一些内容可以进行。在软件开发项目中,如果模块划分合理,可以在模块级平行设计和编码;但这将增加管理难度和工作量;
3) 消除活动依赖关系。对于一些特定的活动,依赖关系可以通过重新划分或排序来消除。例如,在应用程序开发之前,公共模块经常在软件设计中开发。如果牺牲了可维护性,应用程序模块也可以单独开发;这可能会导致高成本和高风险,并因重复工作而增加工作量,但可以在某些特定情况下使用。
让我们讨论一下资源配置的基本方法。对资源的需求可以参考甘特图计算。如图1所示,根据估计的总工作量和活动工期分配每项活动,确定活动工期内每周应投入的工作量。所有活动的垂直投影都可以获得资源的方形图。方形图描述了项目单位在时间内对资源的需求。
在制定进度计划的过程中,可以进行资源配置,资源配置应尽可能确保方形图的形状相对光滑,使项目组人员相对稳定,工作量相对满;如果方形图不均匀,可能会导致闲置、差旅费用增加,特别是如果项目组人员不稳定,也可能导致工作效率下降。
平衡资源配置的具体方法有很多,如在浮动时间内调整活动的开始和结束时间;调整活动资源投资模式(可先投资少、中期投资多、首尾投资少);调整投资资源,只保证活动在浮动时间内完成可。
预算
预算是一个非常专业的话题,这里不详细讨论,只介绍一下大概的过程和思路。项目预算过程其实可以分成估算和预算两大部分。估算的目的是估计项目的总成本和误差范围,而预算则是将项目的总成本分配到各工作项中去。
估算内容包括人工成本、费用、设备、原材料、劳务和外包成本等。在 IT项目中,人工成本占相当大比例,可以根据各类人员的成本单价和投入工作量进行计算,但实际上这是最难准确估算的部分。目前常用的估算方法有:专家估算(Delphi法)、类比估算(根据以前类似项目的实际成本作为当前项目的估算依据)、参数模型(根据项目特征,用数学模型来预测项目的成本)。从实际工作情况来看,如果历史数据比较丰富,类比估算法相对比较准确。
成本预算是在确定总体成本后的分解过程。分解主要是做两个方面工作:一是按工作包分摊成本。这样可以对照检查每项工作的成本,出现偏差时可以确定是哪项工作出了问题;二是按工期时段分摊成本,将预算成本分摊到工期的各个时段,可以确定在未来某个时点累计应该花费的成本(可以用S曲线表示),这样做的好处是可以在任何时间检查偏差,并评价成本绩效,避免“只要不超TBC就没问题”的误解。
综上所述,制定进度计划要综合考虑逻辑约束,还要考虑活动适合最早或最迟开始,并平衡资源配置。预算包括估算和预算两个步骤,预算的关键是要知道每个工作包成本和未来具体时点累计成本。
作者: 计算机产品与流通