软件开发过程的监督与管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言:
对软件开发的各个阶段进行管理,增强对软件开发的控制能力,提高软件开发质量,这是软件项目管理的根本目的。
软件的质量高低取决于其是否符合包括功能性、可靠性、易用性、效率、可维护性、可移植性等在内的六个方面的要求。而要达到这六个方面质量要求,就必须对软件开发过程中各个环节进行全过程的项目管理,从需求分析、设计、编码、测试到上线验收进行控制。根据软件工程的生命周期,软件项目可分为项目立项、启动、需求分析、系统设计、系统开发、系统测试、系统上线、项目验收和上线后评估等9个阶段进行。加强软件项目管理,就是以软件工程的各个环节为管理主线,将动态项目管理贯穿其中,通过对软件开发的项目范围、项目进度、项目质量、项目沟通、人力资源、项目成本六大核心要素的集成管理,实现软件开发管理效能的最大化,从而大大提高软件的开发质量。
准确把握软件需求:
软件开发项目的提出,应由迫切的业务需求来驱动。很多不成功的软件项目,往往是由信息技术部门提出,按照技术人员的思路主导开发,并理所当然地被认为能够在业务部门取得良好的应用效果。这样的项目由于得不到业务部门的理解和支持,脱离业务需求,多数面临失败或半途而废的命运。因此软件项目业务需求的迫切性、技术实现的成熟性、经济效益的可行性等方面的因素,都是考虑的要素,将对项目的成败产生直接影响。
正确的做法应该是,由软件的需求单位根据自身业务需要,向信息技术管理部门提出软件项目的立项建议,对立项的目的、业务需求范围、技术经济指标、开发周期要求等方面做简要概述,再由信息技术管理部门组织业务专家和信息技术专家组成联合专家组,进行项目立项的可行性论证。通过专家组论证审核后,项目提出单位需要进行开题设计,进一步明确软件开发范围、技术路线、进度安排、经费预算、研究人员组成、合作队伍,并以此为基础编制完成开题设计书。信息技术管理部门组织专家组对开题设计进行论证,只有业务需求合理、技术路线可行、开发队伍落实的项目,才能通过专家组审核,进入项目启动阶段。
软件开发过程的监督和管理
软件开发项目具有建设范围难界定、技术含量高、人员流动快、协作性强、开发成功率低等特点。目前国内对软件项目的监理制度尚不规范,对软件开发仍然缺乏有效控制。因此由企业的信息技术管理部门设立软件监督岗位,加强对软件项目的开发过程管理,就显得非常必要。
软件监督的主要职责是在项目的进行过程中,协调业务需求部门和软件开发方的关系,监控软件开发任务的执行情况,给开发人员和管理层提供反映软件过程质量的信息和数据,提高项目透明度,从而保证项目按照计划实施,实现预期目标。软件监督应具备以下几方面的基本素质:
(1)具有较强的工作责任感和良好的沟通能力;
(2)熟悉业务管理流程,掌握软件开发流程、开发规范以及相关标准;
(3)具有软件开发项目的建设和管理经验,掌握项目管理知识;
(4)软件监督的工作任务主要有:
(5)确保软件按照业务需求方确认的范围进行开发。
(6)保证软件开发进度符合双方确认的计划指标。
(7)保证软件开发过程中存在的不符合要求的问题能够及时得到沟通和处
理,必要时需要将问题反映给管理层。
(8)确保项目组中软件开发人员队伍相对稳定。
(9)保证软件开发过程和开发出来的软件符合相应标准和规范。
(10)收集软件开发过程中的成功经验,为企业提供软件开发过程的有效控制
方法和规范。
1.监督管理的范围:
《需求分析说明书》是对软件开发范围的书面表达依据。由于《需求分析说明书》往往是采用软件设计的术语编写,因此常常令计算机背景知识较少的业务需求方难以理解,也就很难发现需求报告中与实际需求不符之处,更难提出建设性的意见。
软件监督要对软件开发范围进行管理,首先要确定双方都能认可的《需求分析说明书》。如要求软件开发方对《需求分析说明书》做出进一步更详细的解释,编制业务模型,以便用户方准确地理解《需求分析说明书》的内容,能及早地发现需求与实际的偏差。这也是对需求分析工作的总结与确认。
在项目需求分析阶段,双方必须全面地、尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。
《需求分析说明书》完成后,软件监督应组织项目组与业务需求方共同讨论,听取业务需求方的意见和建议,并进行相应的修改完善。各方确认《需求分析说明书》内容后,需在说明书上签字确认。
在软件开发过程中,双方应严格按照签字确认的《需求分析说明书》中规定的业务范围进行开发。有些需求可能在项目初期很难确定,在开发过程中需要不断地
加以修正,项目软件监督要及时与用户充分沟通,建立可以直接联系的渠道,共同进行需求确认,保证项目范围可控。
2.进度管理:
为确保项目按时、按量、保质完成,必须控制任务和跟踪里程碑。按照软件项目的开发规律,将软件开发过程分为几个重要阶段,对这几个阶段的关键事件设立里程碑进行跟踪管理。项目进度管理可以通过以下方式完成:
(1)制定项目里程碑管理运行表(里程碑管理表的主要内容见表1)。
(2)表项目里程碑管理运行表
(3)定期举行项目状态会议,由软件开发方报告进度和问题,用户方提出意
见。
(4)比较各项任务的实际开始日期与计划开始日期是否吻合。
(5)确定正式的项目里程碑是否在预期完成。
从软件项目实施的过程来看,很少有一个项目是完全按照实施计划来进行的,因为再好的计划也不能完全预见所有的问题,并事先制订出对策。计划可以调整,但是调整必须合理,并得到业务需求方和管理层的批准。当有问题发生时,其直接的表现就是实施结果偏离了原来的计划和目标,在这种情况下,软件监督就要及时发现这种偏离,并分析这种原因,如果是因为原来的计划和目标制订的不合理,或者发生了预料之外的情况而又无法克服,这样就必须调整计划和目标。
3.沟通管理:
信息系统本身就是沟通的产物。软件开发过程实际上就是将手工作业转化成计算机程序的过程。软件开发的原料和产品就是信息,中间过程传递的也是信息,而信息的产生、收集、传播、保存正是沟通管理的内容。可见沟通不仅仅是软件项目管理的必要手段,更重要的,沟通是软件生产的手段和生产过程中必不可少的工序。
软件开发的柔性标准需要沟通来弥补。软件开发不像加工螺钉、螺母,有具体的标准和检验方法。软件的标准柔性很大,比如在用户的心里好用是软件成功的标准,而这个标准在软件开发前很难确切地、完整地表达出来。因此,开发过程项目组和用户的沟通互动是解决这一现实问题的惟一办法。
软件监督要有效地安排开发方软件人员与需求方使用人员的交流,保证有畅通的交流渠道。制定完善的项目汇报制度,明确沟通时间、频率和渠道。按照项目汇报制度定期组织项目组向业务需求方和管理层汇报,包括项目进度计划、已完成工作、与计划的比较、存在的问题、措施和建议以及下一步工作计划等。