软件开发项目的进度安排有两种考虑方式,第一种是系统最终交付日期已经确定,软件开发部门必须在规定期限内完成;第二种是系统最终交付日期只确定了大致的年限,最後交付日期由软件开发部门确定。后一种安排能够对软件项目进行细致分析,最好地利用资源,合理地分配工作, 而最后的交付日期可以在对软件进行仔细地分析之后再确定下来。但前一种安排在实际工作中常遇到,如不能按时完成,用户会不满意,甚至还会要求赔偿经济损失,所以必须在规定的期限内合理地分配人力和安排进度。
  项目开发小组的人数不能太多,一般在2~8人左右为宜,否则组员之间彼此通信将占用大量的时间。此外,通常我们不能把一个子系统划分成大量独立的单元模块,如果项目小组人数太多,则每个组员所负责实现的单元模块与其他成员的接口将更复杂,不仅出现接口错误的可能性增加,而且系统测试也会变得既困难又费时。
  当参加同一软件工程项目的人数不止一人的时候,开发工作就会出现并行情形。如图7.3所示,软件开发进程中有很多阶段,每个阶段都为管理人员提供了指示项目进度的可靠依据,当一个任务成功地通过评审并产生了文档之后,一个阶段就完成了。因为并行任务是同时完成的饿,所以进度计划表必须决定任务之间的从属关系,确定各个任务的先后次序和衔接,确定各个任务完成的持续时间。此外,应注意构成关键路径的任务,即若要保证整个项目能按进度要求完成,就必须保证这些任务要按进度要求完成。这样就可以确定在进度安排中应保证的重点。


*: 项目阶段任务的里程碑

图7.3 软件项目的并行性

  进度安排的准确程度可能比成本估算的准确程度更重要,软件产品可以靠重新定价或大量的销售弥补成本的增加,但进度安排的落空会导致市场机会的丧失和用户的不满意,从而导致成本的增加。因此,在考虑进度安排时,要把人员的工作量与花费的时间联系起来,合理分配工作量,利用进度安排有效的分析方法严密监控软件开发的进展情况,使进度不致于拖后。
  软件项目的进度安排与任何一个多任务工作的进度安排基本差不多,因此,只要稍加修改,就可以把用于一般开发项目的进度安排的技术和工具应用于软件项目。软件项目的进度计划和工作的实际进展情况需要采用图示的方法描述,特别是表现各项任务之间进度的相互依赖关系。
  以下介绍几种有效的图示方法,在这几种图示方法中,有几个信息必须明确标明:
   * 各个任务的计划开始时间,完成时间;
   * 各个任务完成的标志(即○文档编写和△评审);
   * 各个任务与参与工作的人数,各个任务与工作量之间的衔接情况;
   * 完成各个任务所需的物理资源和数据资源。