件管理在制定软件开发计划和定义里程碑时必须考虑这些因素,并做出合理的权衡决策。
软件质量体系是否能够被有效地保证:任何软件管理忽略软件质量监督环节都将对软件的生产构成巨大的风险。而制定卓有成效的软件质量监督体系,是任何软件开发组织必不可少的。软件质量保证体系是软件开发成为可控制过程的基础,也是开发商和用户进行交流的基础和依据。
二、项目管理的风险
软件项目管理的风险来自于软件项目自身的特点:
软件产品不可见:开发的进展以及软件的质量是否符合要求难于度量,从而使软件的管理难于把握。软件的生产过程不存在绝对正确的过程形式:可以肯定的是不同的软件开发项目应当采用不同的或者说是有针对性的软件开发过程,而真正合适的软件开发过程是在软件项目的开发完成才能明了的。因此项目开发之初只能根据项目的特点和开发经验进行选择,并在开发过程中不断的调整。
大型软件项目往往是"一次性"的。以往的经验可以被借鉴的地方不多。回避和控制软件管理风险的唯一办法就是设立监督制度,项目开发中任何较大的决定都必须有主要技术环节甚至是由用户参与进行的。在该项目中项目监督由项目开发中的质量监督组来实施。
一般参与软件开发的人员(包括管理者和技术人员)和其责任进行分析如下:
参与者
项目经理1人
主要职责:进行全局把握,侧重于项目的商务方面,充当项目组同客户正式交流的接口环节。
项目负责人1人
主要职责:制定项目开发计划和开发策略,参与项目核心系统的分析设计,同时努力保证开发计划的按时完成和开发策略的真正贯彻落实。
领域专家1或2人
主要职责:在软件分析阶段帮助分析人员界定系统实现边界和实现的功能,对特定检测点进行算法审核,同时对测试策略和软件操作界面提出参考意见。
质量监督组1或2人
主要职责:编制软件质量控制计划,并负责落实;控制必要文档的生产,通过文档,监督项目实施过程中软件的质量,并产生软件质量报告,提请项目经理和项目负责人审阅;对于项目中出现的质量问题,主持召开质量复审会议。
系统分析员1或2人
主要职责:协同项目负责人进行软件系统的分析和设计工作,书写软件需求分析和系统设计相关文档。在软件实现阶段进行测试策略的编制和对性能测试的指导。
程序员2或3人
主要职责:协助分析人员进行详细设计,和软件系统的代码实现,并进行适当的白盒测试。
测试员2或3人
主要职责:已经实现的软件组件、构件或系统进行正确性验证测试,整合后的系统的性能测试等。书写测试报告和测试统计报告提请质量监督组复审。
技术支持2或3人
主要职责:协同系统分析人员听取用户需求,对需求分析进行参考性复审。协同测试人员进行测试,书写操作手册和在线帮助,在项目交付用户之后进行跟踪服务。
文档组1或2人
主要职责:对各部门产生的文档进行格式规范、版本编号和控制、存档文件的检索;协助质量监督组进行软件质量监督。 通过适当的人员配备和职责划分,能有效的降低软件开发在后期的失控的可能性,和软件对关键人员的依赖性。
软件技术风险。本系统拟订采用的两个重大的软件技术是面向对象的构件和基于微软的COM组件技术。组件和构件技术都是为了提高软件的可靠性和软件的可扩展性而采用的技术手段。从技术成熟度上说不存在风险,但为了实现良好的软件构架和稳定的组件,与传统开发方法比较,有相当的多的额外工作