APP下载

软件开发项目的进度管理

2016-05-05凌劲锋

科技与创新 2016年8期

凌劲锋

摘 要:主要对软件开发项目的进度管理展开了探讨,详细阐述和系统研究了软件开发进度信息的收集、分析以及进度调整等过程,以期为相关单位的需要提供参考和借鉴。

关键词:软件开发项目;工作日志;项目工期;接口设计

中图分类号:TP311.52 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.08.041

软件开发项目的进度管理对于现代化的软件工程而言非常关键。因此,在软件开发项目中,应对相关的进度管理提出严格的要求,并加大软件开发进度管理工作的执行力度。

1 软件开发进度信息的收集

1.1 建立进度统计报告体系

为了及时发现和解决计划执行中存在的各种问题,必须加强对项目的协同工作。协同工作是组织项目计划实现的重要环节之一,可为项目计划的顺利执行创造各种必要的条件。而项目进度报告是项目协同工作的基础,也是项目负责人了解项目实际进度、实施进度控制的基础。设计软件开发过程中的各类进度报告通常包括工作日志、周工作报告、月工作报告、例外报告、阶段分析报告、里程碑总结报告等。项目进度周报样表的主要内容包括以下5点:①描述上一阶段计划的执行情况;②下一阶段的工作计划;③已经解决的问题和未解决的问题;④资源申请、需要协调的项目及人员;⑤其他需要处理的问题。

各级项目组成员应按时将工作情况填写到进度报告中,并及时上报给上级管理人员。项目负责人汇总各项目组的报告后,按照预定的每个阶段点(根据项目的实际情况,可选择每日、每周、每月、每季度或项目里程碑等关键节点等)定期与项目成员及其他相关人员沟通,并向相关管理人员和管理部门提交一份书面项目阶段工作汇报和计划,这些汇报将存档并作为项目考核的重要材料。

1.2 建立项目接口管理和协调会议制度

应积极组织项目进度协调会议,定期组织例会检查项目计划的执行情况,通报项目进度、存在的问题和未来的计划安排。会议形式包括项目例会、应急会议和里程碑总结会议。

1.3 建立进度信息沟通制度

应保证信息渠道畅通。信息的交流可采用书面、口头或电子邮件等形式。

2 开发进度分析

进度分析过程是指项目管理人员在报告期内将收集到的实际进度数据与项目计划相比较,从而判断实际进度是否符合计划要求。常用的跟踪分析方法有跟踪甘特图法和挣值法。比如,当项目实际进度数据与项目计划存在偏差时,管理人员需要进一步分析、判断引发进度偏差的部分是否为关键环节,进度偏差是否大于总时差,进度偏差是否大于自由时差,并判断偏差是否会影响项目的总工期,进而决定是否采取相应的措施调整项目进度。

2.1 跟踪甘特图分析

项目负责人将收集到的项目实际进度数据填入项目计划甘特图,编制成项目跟踪甘特图,如图1所示。通过跟踪甘特图,可直观地观察项目中每项具体任务的完成情况以及是否存在偏差。

由图1可见,2012-08-19—24期间,按计划作业“设计系统结构”应完成100%,但实际只完成了90%.

2.2 挣值分析

将项目预算成本和资源成本预先输入至Microsoft Project项目中,并根据项目进度报告,将实际进度数据输入软件,可得到该报告期内的计划工作量预算费用(BCWS)、已完成工作量的实际费用(ACWP)和已完成工作量的预算费用(BCWP),如图2所示。

由图2可见,该报告期内的计划工作量预算费用为12 240元,已完成工作量的预算费用为10 680元,已完成工作量的实际费用为11 000元。计算进度偏差的计算公式为:

SV=BCWP-BCWS. (1)

由式(1)计算可得SV=-1 560,SV<0,表明存在进度延误。

成本偏差的计算公式为:

CV=BCWP-ACWP. (2)

由式(2)计算可得CV=-320,CV<0,表明存在成本超支。

3 进度调整

当实际进度与项目计划存在偏差需要调整时,一般采用的技术调整措施为缩短作业工期、改变相关作业间的逻辑关系和关键路径转移法。此外,也可以在征得客户同意的前提下,通过调整项目进度计划或缩小项目范围使项目的实际进度符合计划要求。从理论上看,缩短作业工期虽然可通过增加项目资源或赶工来实现,但根据Brooks原则,向一个已经滞后的项目添加人员可能会使项目更加滞后。对于软件项目而言,新加入的员工不熟悉项目的相关背景、需求和设计情况,进而导致项目的运行效率下降。此外,鉴于软件项目具有的特殊性,缩短作业工期往往会以牺牲作业质量为代价。因此,在软件开发过程中,通常采取改变相关作业间逻辑关系的方法,通过并行开发缩短项目工期。

3.1 调整相关作业间的逻辑关系

采用并行开发法是软件开发中常用的缩短工期的方法。通过将原计划中某些串联的关键工作调整为平行作业或交替作业,或将某些工期较长的工作分解为可并行作业的更小的工作包,从而达到缩短工期的目的。比如,在软件项目的开发过程中,可将系统结构的设计工作进一步分解为界面设计、接口设计、数据设计、公共类设计等多个子工作包,而这些子工作包可进行交叉并行作业,从而缩短开发时间。此外,如果是因用户提出新的需求而引发的工期延迟,则需要分析新的需求对项目的影响程度,判断是否需要重新定义项目范围,也可采取与用户协商的方式调整项目进度、延长项目工期等方法。

3.2 关键路径转移法

关键路径转移法是指利用非关键工作的时差,抽调项目的部分资源用于补充关键工作,从而缩短关键工作的工期。但这样可能导致项目计划中出现更多的关键路径,或关键路径与次关键路径的工期差值减小。需要注意的是,在软件开发项目中增加作业资源,尤其是项目工作人员,往往会提升项目成本。因此,该方法通常只用于编写代码、文档整理、测试等标准化程度较高的工作。

如果在项目中如采用并行开发的方式,则有可能存在多条关键路径,而只调整其中某一条关键路径并不能缩短项目总工期。因此,在采用关键路径转移法时,需要树立系统的观念,从项目整体的角度调整开发进度。

4 结束语

综上所述,软件开发项目的进度管理是现代化软件工程中非常重要的一环。因此,我们需要高度重视进度管理工作,并采取有效的措施做好软件开发的进度管理,从而推动软件开发项目的顺利进行。

参考文献

[1]余洋.论软件开发项目的进度管理[J].通讯世界,2014(05).

[2]刘海涛.软件开发项目进度管理探讨[J].硅谷,2014(07).

〔编辑:张思楠〕