这是我考系统分析师的论文和大家交流一下
摘要:
2012年4月初我参加了某部队营区数字化项目的开发,项目历时2个月,于2012年6月中旬上线,该系统的主要功能包括:营房服务网站,营房业务管理系统,营区可视化管理,我担任项目经理,全程参与了该项目的需求分析,方案设计,系统分析及部分开发工作。
在项目建设过程中,由于本系统开发涉及面广,各方面协调的人较多,因为部队本身的特殊性,需遵守部队相关条例,所需的业务分析资料也许通过严格审批和保密,开发人员电脑不能连接互联网,给我们对系统开发带来了极大的考验。在系统开发过程中,结合我自身实践,在本项目进度控制方面采取了针对性的措施,包括:合理估算项目工期和工作量,全程实行进度跟踪和评估修正,增强项目透明度控制项目滞后风险等方面讨论了“营区数字化”项目管理的基本活动和方法,有效地控制开发进度,确保项目如期按质量完成。本系统已经稳定上线运行,获得营区首长和广大官兵的一致好评。
正文:
近年来,随着信息化建设的飞速发展,我国防军事实力的不断的增强,对营区的后勤保障力度的要求也不断提高,营区随着多年的发展,已经在后勤保障事务当中上建立了多个业务系统:营区视频监控系统,仓库物资管理系统,哨兵离位系统,指纹考勤系统等。上述系统相互独立,只在数据库端实现初步的数据共享,但应用的集成性差。
营区数字化系统是一个基于营区全方位综合管理的全新的集成管理系统,其应用范围涉及涉密载体管控,设备设施监控,营区可视化,互联网站等各个方面。该系统由门户网站,营区业务管理系统,营区可视化3个子系统组成。与原有的业务管理系统相比,区别主要体现在三个方面:一是全新的体系结构,二是集成性,全面集成原有的各业务系统;三是以知识管理为主要特征的应用层次上的全面提升,对业务审批的全过程进行监督管理,引入审批要点对相关业务进行智能辅助审批。
由于营区业务管理和设备实施监控是实施营区数字化建设的核心部分,我对项目本身进行了充分的认识,从合理估算项目工期和工作量,全程实行进度跟踪和评估修正,增强项目透明度控制项目滞后风险,三个方面着手来进行项目的进度控制。从而有效果保障了项目最终的成功,下面从这三个方面的内容,对我在项目进度控制方面所采取的相应措施和方法加以详细论述:
一.合理估算项目工期和工作量
在软件计划和需求分析阶段,我们把估算项目工作量作为主要任务,主要通过参考历史经验和项目成员的效率及业务的熟悉程度,从而尽量精确地估算出项目总工期。
由于本系统采用了结构化分析法和传统技术相结合的方法,整个开发过程是按功能模块化来划分的,同时考虑到跟踪控制以及系统的非功能的约束不强等因素。我们采用了基于功能模块的工作量估计方法。我们把业务系统分为涉密载体管理,系统管理,公寓房管理,外来人员管理,设备设施监控管理,物资管理,应急代码管理七个大的模块。在这些基本模块上,在可能的情况下对其进行合适的分解,形成较具体的模块。然后加入项目组织结构图形成工作责任分配表,加入各项工作间所需的资源,完成具体任务的工作排序。同时,估算各项工作任务的工作持续时间,对于新功能的估算,如审批流程,数据分析等,则主要参考开发人员自我估算的结果。最后开始实施项目计划表,确定关键路径。
二.全程实行进度跟踪和评估修正
随着项目的推进及功能的不断细化,我们对项目的进度了跟踪,并对部分初始的工作量估算数据进行了修正。首先是定期的进度汇报,我们采取周报的形式,除定期汇报外,开发人员如发现存在进度问题或项目管理人员如觉得有必要,还可以进行即时汇报或实时的进度请求。在进行涉密载体管理时,由于手持机的相关接口说明不明确,因此该模块的开发未能跟进比较。在进度跟踪时我们发现了此问题,我及时联系厂商取得详细接口说明文档,使避免项目总体未收延误。
其次是按里程碑进行的进度跟踪及评估修正。在项目里程碑,我们会对项目进度进行比较详细的评估,相当于进行阶段总结,即使实际进度与计划完全吻合,完成需求规格说明后,
我们对营区业务管理系统中的功能模块的功能点及其估算进行了修改,总的工作量比初始估算多了,1人月。在涉密载体流程审批模块中我们原来识别的是一个流程的审批和状态流转操作,即无需进行多人会签,流程自定义设置,表单设计,文件附件加密功能。于是我们把流程控制由原来的15人日调整为30人日,另外,由于表单设计功能比较复杂,安排1人月。
最终完成整个业务管理系统,我们实际的工作量是8人月,比原来的估算增加了1人月,增加的主要是表单设计和流程定义模块等分析模块。关于流程方面的分析本来对我们来说认为是一个分析比较高的一个模块,即需求相对模糊,当我们的工程师实现了涉密载体流程审批的后,客户提出流程审批需将可以自定义和表单设计跟深层次的需求,增加了我们的项目风险,我们又在公司其他团队调配一个技术人员支援我们的开发工作。初始值估算是7人月,最终完成是8人月。
三.增强项目透明度,控制项目滞后风险
在确定项目开发计划时,我们制定了详细的进度表。我们在确定每一项任务时都确定该任务的工作量、开始时间、持续时间、结束时间。同时让每个小组成员知道自己所承担任务的时间表,小组成员根据自己的任务制定自己的详细工作计划。但是还是避免不了项目的滞后,与我预期制定的项目计划存在偏差,原因是功能实现的滞后和需求理解不到位增加了我们的风险,我从两个方面对项目滞后风险进行控制:
(1)实施工作日志监控项目进展
工作日志是了解每个小组成员工作情况的很好的方式,我们要求每个小组成员对自己的工作都要做工作日志,对自己每天的工作做详细记录。每周对自己的工作进展做出结论,向项目组汇报。在做结论时,不得使用“差不多”、“大概”、“完成了90%”…等模糊字眼。 而是采用某任务 “已经全部完成”、 或者“90%的工作全部完成”或者“再过1天全部完成”…等方式。每个小组成员对自己做出的结论负责,这样可以做到随时了解项目进度,为调整项目计划提供客观基础,细化了项目任务的粒度,增强了项目的透明度。
(2) 增加经验丰富的开发人员
对客户提出的需求,我们估算在规定的时间内无法按时完成时,采取了增派富有丰富经验的开发人员支援开发,保证项目进度,得到了客户的肯定。。
结束语
这样通过合理估算项目工期和工作量,全程实行进度跟踪和评估修正,增强项目透明度控制项目滞后风险这三个主要进度控制手段我们不仅按时,保质的完成了项目,获得了营区首长和官兵的好评,也使得我们的软件过程得到了改善,也为持续的项目控制改进提供了有价值的经验及相关数据。但由于经验不足等原因,在需求分析过程中存在一些问题,比如在个别模块中的需求和实际需求存在较大的偏差,甚至导致重新调整进度计划;当然项目进度控制是一个持续的经验积累的过程,必须循序渐进的开展,才能稳步提高项目控制的水平。