在应用软件项目进度控制是通过一系列监理手段,运用运筹学、网络计划、进度可视化等技术措施,使软件项目建设工作控制在详密计划工期以内,为了有效地进行进度控制的监理工作,必须对进度控制所需的基本知识及方法有所了解。
应用软件项目的进度控制可分为两种类型:作业控制与进度控制。
作业控制的内容就是采取一定措施,保证每一项作业本身按计划完成。
作业控制是以工作分解结构WBS的具体目标为基础的,也是针对具体的工作环节的。通过对每项作业的质量检查以及对其进展情况进行监控,以期发现作业正在按计划进行还是存在缺陷,然后由项目管理部门下达指令,调整或重新安排存在缺陷的作业,以保证其不致影响整个项目工作的进行。
项目进度控制是一种循环的例行性活动。其活动分为四个阶段:编制计划、实施计划、检查与调整计划、分析与总结,如图20.5所示。
进度控制就是采取措施来保证项目按计划的时间表来完成工作,经常出现的实际进度与计划不符的情况是脱期。
责任心不强、信息失实或遗漏、协作部门的失误等都会影响到工期。不过有许多工期的拖延都是可以避免的,比如增强项目人员信心、完善信息制度等。
不同层次的项目管理部门对项目进度控制的内容是不同的。
按照不同管理层次对进度控制的要求分为三类:
(1)项目总进度控制。项目总监、总监代表等等高层次项目监理人员对项目中各里程碑事件的进度控制。
(2)项目主进度控制。主要是项目监理部对项目中每一主要事件的进度控制。在多级项目中,这些事件可能就是各个分项目。
(3)项目详细进度控制。主要是各监理作业小组或监理工程师对各具体作业进度计划的控制,这是进度控制的基础。
项目控制主要解决的问题是克服脱期,但实际进度与计划不符的情况还有另外一种,即工作的过早完成。一般来说,这是有益无害的,但在有些特定情况下,某项工作的过早完成会造成资金、资源流向问题,或支付过多的利息。
(1)明确项目控制的目的及工作任务。
项目计划的执行需要做如下两个方面的工作:
需要多次反复协调:
消除与计划不符的偏差。
项目计划的控制就是要时刻对每项工作进度进行监督,然后,对那些出现“偏差”的工作采取必要措施,以保证项目按照原定进度执行,使预定目标按时和在预算范围内实现。
(2)加强来自各方面的综合、协调和督促。
(3)要建立项目管理信息制度。
(4)项目主管应及时向领导汇报工作执行情况,也应定期向客户报告,并随时向各职能部门介绍整个项目的进程。
(5)项目控制包括对未来情况的预测、对当时情况的衡量、预测情况和当时情况的比较和及时制定实现目标、进度或预算的修正方案。
软件项目进度控制的流程如图20.6所示(这是个不断重复的过程,直至项目完成)。
在控制过程中,要重点对以下内容进行监控。
(1)进度评估基础是定期信息收集或者发生的特定事件。
(2)这些信息必须是客观的和可度量的。
(3)并非每一次都能够得到符合要求的信息,因而通常需要项目成员进行主观判断。
·定期的(如一星期一次,一月一次):
·与特定的事件绑定的,如生成一份报告或者提交部分产品,或者支付部分费用。应用软件系统建设过程的进度控制应根据承建单位所采取的开发模式和项目类性来确定。例如某承建单位软件开发模式包括的阶段是:系统需求分析、软件需求分析、软件概要设计、软件详细设计、软件编码与单元测试、软件组装(集成)测试、软件确认测试、系统联试、验收交付、运行与维护等阶段。而某承建单位承担的中小企业信息化软件实施过程的实施模式包括的阶段:领导培训、企业诊断、需求分析、项目组织、ERP原理培训、基础数据准备、产品培训、系统安装调试、模拟运行、系统验收、分步切换运行、改进。针对这些阶段,进度控制应遵循下列计划程序和要求进行:
分析并提出应用软件系统建设过开发或实施周期内各阶段进入条件、主要开发或实施内容、阶段成果与阶段结束标志,以软件需求分析为例:
(1)阶段工作内容。分析并明确软件需求使之文档化,确定被开发软件的运行环境,功能,性能和接口要求,完成《“应用软件系统”开发计划》、《软件需求规格说明》、《软件质量保证计划》、《软件配置管理计划》、《软件配置项(初步)确认测试计划》、《用户使用说明(初稿)》的编写;
(2)阶段成果要求。在制定应用软件系统项目建设计划时应兼顾用户给定的进度和经费要求,又要注意按照软件工程规定的程序和技术要求进行软件开发工作。软件需求规格说明应满足需求分析的完整性要求,并保证软件需求规格说明中所有功能,性能需求均是可实现的。阶段成果有:
·项目开发计划;
·软件需求规格说明;
·软件质量保证计划;
·软件配置管理计划;
·软件配置项确认测试计划(初步)。
(3)监理控制要点。
·完成了所有阶段产品(软件确认测试计划要初步完成,软件使用说明、用户手册要完成初稿);
·应用软件系统开发计划经批准后生效,有关工作得到落实和实施:
·软件需求规格说明通过评审;
·以软件需求规格说明为核心的配置管理分配基线建立。
3)监控频率
(1)监测的频率依赖于项目的大小和风险情况。
·监理工程师,可能需要每天都了解一下进度;
·总监理工程师和总监理工程师代表需要每星期或每月了解情况。
(2)监理人员层次越高,频率越低,信息越抽象。
4)信息收集
尽管整个过程被分成了容易管理的活动,但是项目执行中仍然需要在活动中对任务完成的比例进行评估,这种评估通常是困难的。
思考一下:某一软件开发者完成了一个需要5000行代码的软件的2500行,能不能认为他的工作已经完成了一半?
答案显然是否定的,因为许多因素决定了不能用完成的代码行的比例来衡量进度:
·对整个软件的代码行的估计可能不准确;
·写完的代码可能相对容易,或者相对容易:
·一个软件如果没有通过测试就不能算完成,因而即使代码全部写完了,如果没 有测试也不能算完成。
对所需完成内容的深入的了解有助于判断进度,如将整个工作细分为子任务,如设计、编码、单元测试等。
各省软考办 | ||||||||||