对软件开发的各个阶段进行管理,增强对软件开发的控制能力,提高软件开发质量,这是软件项目管理的根本目的。
软件的质量高低取决于其是否符合包括功能性、可靠性、易用性、效率、可维护性、可移植性等在内的六个方面的要求。而要达到这六个方面质量要求,必须对软件开发过程中各个环节进行全过程的项目管理,从需求分析、设计、编码、测试到上线验收进行控制。根据软件工程的生命周期,软件项目可分为项目立项、启动、需求分析、系统设计、系统开发、系统测试、系统上线、项目验收和上线后评估等9个阶段进行。加强软件项目管理,是以软件工程的各个环节为管理主线,将动态项目管理贯穿其中,通过对软件开发的项目范围、项目进度、项目质量、项目沟通、人力资源、项目成本六大核心要素的集成管理,实现软件开发管理效能的大化,从而大大提高软件的开发质量。
准确把握软件需求
软件开发项目的提出,应由迫切的业务需求来驱动。很多不成功的软件项目,往往是由信息技术部门提出,按照技术人员的思路主导开发,并理所当然地被认为能够在业务部门取得良好的应用效果。这样的项目由于得不到业务部门的理解和支持,脱离业务需求,多数面临失败或半途而废的命运。因此软件项目业务需求的迫切性、技术实现的成熟性、经济效益的可行性等方面的因素,都是考虑的要素,将对项目的成败产生直接影响。
正确的做法应该是,由软件的需求单位根据自身业务需要,向信息技术管理部门提出软件项目的立项建议,对立项的目的、业务需求范围、技术经济指标、开发周期要求等方面做简要概述,再由信息技术管理部门组织业务专家和信息技术专家组成联合专家组,进行项目立项的可行性论证。通过专家组论证审核后,项目提出单位需要进行开题设计,进一步明确软件开发范围、技术路线、进度安排、经费预算、研究人员组成、合作队伍,并以此为基础编制完成开题设计书。信息技术管理部门组织专家组对开题设计进行论证,只有业务需求合理、技术路线可行、开发队伍落实的项目,才能通过专家组审核,进入项目启动阶段。
软件开发过程的监督和管理
软件开发项目具有建设范围难界定、技术含量高、人员流动快、协作性强、开发成功率低等特点。目前国内对软件项目的监理制度尚不规范,对软件开发仍然缺乏有效控制。因此由企业的信息技术管理部门设立软件监督岗位,加强对软件项目的开发过程管理,显得非常必要。
软件监督的主要职责是在项目的进行过程中,协调业务需求部门和软件开发方的关系,监控软件开发任务的执行情况,给开发人员和管理层提供反映软件过程质量的信息和数据,提高项目透明度,从而保证项目按照计划实施,实现预期目标。软件监督应具备以下三方面的基本素质:
● 具有较强的工作责任感和良好的沟通能力;
● 熟悉业务管理流程,掌握软件开发流程、开发规范以及相关标准;
● 具有软件开发项目的建设和管理经验,掌握项目管理知识;
软件监督的工作任务主要有:
● 确保软件按照业务需求方确认的范围进行开发。
● 保证软件开发进度符合双方确认的计划指标。
● 保证软件开发过程中存在的不符合要求的问题能够及时得到沟通和处理,必要时需要将问题反映给管理层。
● 确保项目组中软件开发人员队伍相对稳定。
● 保证软件开发过程和开发出来的软件符合相应标准和规范。
● 收集软件开发过程中的成功经验,为企业提供软件开发过程的有效控制方法和规范。
1.监督管理的范围
《需求分析说明书》是对软件开发范围的书面表达依据。由于《需求分析说明书》往往是采用软件设计的术语编写,因此常常令计算机背景知识较少的业务需求方难以理解,也很难发现需求报告中与实际需求不符之处,更难提出建设性的意见。
软件监督要对软件开发范围进行管理,首先要确定双方都能认可的《需求分析说明书》。如要求软件开发方对《需求分析说明书》做出进一步更详细的解释,编制业务模型,以便用户方准确地理解《需求分析说明书》的内容,能及早地发现需求与实际的偏差。这也是对需求分析工作的总结与确认。
在项目需求分析阶段,双方必须全面地、尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。
《需求分析说明书》完成后,软件监督应组织项目组与业务需求方共同讨论,听取业务需求方的意见和建议,并进行相应的修改完善。各方确认《需求分析说明书》内容后,需在说明书上签字确认。
在软件开发过程中,双方应严格按照签字确认的《需求分析说明书》中规定的业务范围进行开发。有些需求可能在项目初期很难确定,在开发过程中需要不断地加以修正,项目软件监督要及时与用户充分沟通,建立可以直接联系的渠道,共同进行需求确认,保证项目范围可控。