浅论软件开发项目的管理

时间:2022-10-15 01:39:25

浅论软件开发项目的管理

摘要:随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。

关键词:软件;开发项目;管理

中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 16-0000-02

Talking on the Software Development Project Management

Zhou Qing

(Ningxia Telecom Company,Yinchuan750000,China)

Abstract:With the rapid development of information technology,software products,more and more large-scale,personal development workshops to go it alone approach has become increasingly unsuited to the needs of development.The software companies are active in the introduction of project management software development activities,the development of effective management.

Keywords:Software;Development projects;Management

一、加强软件开发项目的管理是实现高质量软件产品的基础

软件质量的高低,由符合软件质量要素要求的程度来决定。软件的质量要素包括功能性、可靠性、易用性、效率、可维护性、可移植性等6个方面。软件开发过程中从需求、设计、编码、测试到上线验收的任何一个环节,都将对软件质量要素产生重要影响,因此为了开发出符合高质量的软件产品,必须加强对软件开发全过程的项目管理。

软件项目管理是按需求确定范围、按目标制定项目计划、按计划执行管理的过程。对软件开发各阶段加强项目管理的根本目的在于增强对软件开发的控制能力,提升软件开发的质量。软件项目的建设按软件工程的生命周期法可分为项目立项、启动、需求分析、系统设计、系统开发、系统测试、系统上线、项目验收和上线后评估等9个阶段进行。加强软件项目管理,就是以软件工程的各个环节为管理主线,将动态项目管理贯穿其中,通过对软件开发的项目范围、项目进度、项目质量、项目沟通、人力资源、项目成本六大核心要素的集成管理,实现软件开发管理效能的最大化,从而大大提高软件开发质量。

二、软件项目管理中的一些误区

(一)在项目的需求分析阶段,有些认为开发方与客户方在各种的问题的基本轮廓上达成一致即可,而具体细节可以在以后填充。其实不然,因为无论开始时有多么细致,以后对需求的修改几乎是必然的。这是一种非常危险的思想。实际上许多软件项目失败的最主要的原因就是需求阶段对问题的描述不够细致,导致后来预算超出或者时间进度达不到要求。正确的做法是:在项目需求分析阶段,双方必须全面地尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。并且,在需求分析结束以后,双方还要建立可以直接联系的渠道,以尽早地对需求变动问题进行沟通。

(二)也有些人认为软件项目的需求可以持续不断的改变,而且这些改变可很容易地被实现。其实,在具体实际中由于种种原因客户方很难在需求分析阶段全面而准确地描述所有问题。随着开发进度的推进,往往会有一些需求的改变。而现代软件工程理论也利用软件的灵活性特点通过各种方式来适应这种情况。实践表明:随着开发进度的推进,实现软件需求更改所需要的代价呈指数形式增长。假定在需求分析阶段实现需求更改需要花1倍的代价;那么,在系统设计和编码阶段,需要花费1.5-6倍的代价;在系统测试阶段需要花费10-20倍的代价;在软件版本以后,甚至可能要花费60-100倍的代价。由此可见,在项目开展过程中,软件需求的改变应当尽量早地提出,这样才可能花费少。

三、如何加强对软件项目的开发过程管理

软件开发项目具有建设范围难界定、技术含量高、人员流动快、协作性强、开发成功率低等特点,在目前国内对软件项目的监理制度尚未普及。对软件开发仍然缺乏有效控制的情况下,由企业的信息技术管理部门设立软件监督岗位,加强对软件项目的开发过程管理,就显得尤为重要。

(一)软件项目的立项应符合业务的需求。软件开发项目的提出,应由迫切的业务需求来驱动。很多不成功的软件项目,往往是由信息技术部门提出,按照技术人员的思路主导开发,并理所当然地认为能够在业务部门取得良好的应用效果。这样的项目由于得不到业务部门的理解和支持,脱离业务需求,多数面临失败或半途而废的命运。

软件项目的立项,应由软件的需求单位根据自身业务的工作需要,向信息技术管理部门提出软件项目的立项建议,对立项目的、业务需求范围、技术经济指标、开发周期要求等方面做简要概述,由信息技术管理部门组织业务专家和信息技术专家组成联合专家组,进行项目立项的可行性论证。通过专家组论证审核后,项目提出单位需要进行开题设计,进一步明确软件开发范围、技术路线、进度安排、经费预算、研究人员组成、合作队伍,并以此为基础编制完成开题设计书。信息技术管理部门组织专家组对开题设计进行论证,只有业务需求合理、技术路线可行、开发队伍落实的项目,才能通过专家组审核,进入项目启动阶段。

(二)软件监督和各部门的协调作用。软件监督的主要职责是在项目进行过程中,协调业务需求部门和软件开发方的关系,监控软件开发任务的执行情况,给开发人员和管理层提供反映软件过程质量的信息和数据,提高项目透明度,从而保证项目按照计划实施,实现预期目标。所选的软件监督人员应具备三方面基本素质:具有较强的工作责任感和良好的沟通能力;熟悉业务管理流程,掌握软件开发流程、开发规范以及相关标准;具有软件开发项目的建设和管理经验,掌握项目管理知识。

监督人员除了监督职责外,还应该协调各个部门对软件进度及时调整。为确保项目按时、按量、按质完成,督导人员必须控制任务和跟踪里程碑。按照软件项目的开发规律,将软件开发过程分为几个重要阶段,对这几个阶段的关键事件设立里程碑进行跟踪管理。项目进度管理可以通过以下方式完成:制定项目里程碑管理运行表;定期举行项目状态会议,由软件开发方报告进度和问题,用户方提出意见;比较各项任务的实际开始日期与计划开始日期是否吻合;确定正式的项目里程碑是否在预期完成。当然,软件开发不像加工螺钉、螺母,有具体的标准和检验方法。软件的标准柔性很大,往往在用户的心里,用户好用是软件成功的标准,而这个标准在软件开发前很难确切地、完整地表达出来。因此,开发过程项目组和用户的沟通互动是解决这一现实问题的最好办法。

(三)软件验收是软件项目的必要保障。软件验收应是一个循环渐进的述程,包括验收前的系统测试、系统上线和正式验收这三个阶段。

系统测试:系统测试是对系统进行全面的测试,应在测试环境中进行,以确保系统的功能和技术设计满足企业的业务需求,并能正常运行。系统测试阶段应包括以下主要流程和工作内容:制订测试计划,编制测试用例,建立测试环境;测试:在测试环境中,项目组根据需要,对系统依次进行单元测试、集成测试、压力测试和用户接受测试;提交测试报告、用户确认签字:项目组撰写测试报告,将测试报告提交给各相关用户,用户应在测试报告上签字确认。

系统上线:系统上线前应做好准备工作,在上线前,软件监督要组织软件开发方制定系统上线计划,系统上线计划应经过信息技术部门和业务部门管理层的正式批准,并通知各相关部门。所有的上线准备工作做好之后,由软件监督确认上线系统版本正确性后,与用户确认系统上线时间,下达上线指令。系统上线操作人员将最后版本的系统程序移植到生产环境。

正式验收:正式验收前,软件开发方应向信息技术管理部门提交软件开发过程中各阶段性文档,包括需求分析说明书、概要设计说明书、详细设计说明书、数据库设计说明书、源程序代码、可供安装使用的系统安装程序、系统管理员手册、用户使用手册、测试计划、测试报告、用户报告、数据移植计划及报告、系统上线计划及报告、用户意见书、验收申请等。信息技术管理部门接到验收申请后,组织专家对项目进行初审。初审通过后,组织管理层领导、业务管理人员和信息技术专家成立项目验收委员会,负责对软件项目进行正式验收。

软件监督应根据软件开发方在整个软件开发过程中的表现,向验收委员会提出全面的软件监督报告,并根据开题设计书、软件开发合同以及《需求分析说明书》,制定验收标准,提交验收委员会。信息技术管理部门组织由验收委员会、软件监督、软件开发方参加的项目验收会,软件开发方以项目汇报、现场应用演示等方式汇报项目完成情况,验收委员会根据验收标准对项目进行评审,形成最终验收意见。

(四)合理利用一些项目管理软件来辅助项目的管理。大多数软件都可以跟踪多种活动,如任务的完成情况、费用、消耗的资源、工作分配等。通常的做法是用户定义一个基准计划,在实际执行过程中,根据输入当前资源的使用状况或工程的完成情况,自动产生多种报表和图表,如“资源使用状况”表、“任务分配状况”表、进度图表等。还可以对自定义时间段进行跟踪。与人工相比,项目管理软件的一个突出功能是能在许多数据资料的基础上,快速、简便地生成多种报表和图表,如甘特图、网络图、资源图表、日历等。项目管理软件还可以通过电子邮件发送项目信息,项目人员通过电子邮件获取信息,如最新的项目计划、当前任务完成情况以及各种工作报表。

在软件开发过程中使用项目管理的方法不仅体现在上述的这些内容上,事实上,在项目的整个过程中,我们都应该使用科学的项目管理方法来保证项目可以顺利实施和完成。

参考文献:

[1]陶刘强,成筠.浅析软件开发中的风险管理[J].中国管理信息化(综合版),2006,2

[2]陶刘强,成筠,周明,康宁.浅析软件开发中的风险因素分析及管理[J].福建电脑,2006,1

[3]卢超.浅谈软件项目管理[J].中小企业管理与科技(上旬刊),2008,12

上一篇:浅谈计算机辅助管理系统的开发与应用 下一篇:浅谈机械结构对交叉足印机器人的影响