软件项目管理中的需求管理要以用户为中心

来源:中国软件资讯网  作者:北京出入境检验检疫局信息中心主任 庄卫国
2010/6/28 17:46:16
软件系统的需求是指用户对软件的功能的要求,就是用户希望软件系统能做什么事情,完成什么样的功能,达到什么样的性能。软件需求具有模糊性、不确定性、变化性和主观的特点。

本文关键字: 项目管理 需求管理 用户

软件项目管理的一般过程

软件项目管理有四个阶段:项目启动、项目规划、项目跟踪控制、项目结束。每个阶又有各自的过程。

启动是项目管理的第一个阶段,该阶段主要确定项目的目标和范围。其中包括项目开发的周期,软件要完成的主要功能,软件的限制条件、性能、稳定性。这一阶段,项目的范围要进行明确的定义,项目目标必须可实现度量。这一阶段如果管理的不好,将会导致项目的最终失败。项目规划是建立项目行动指南的基准,该阶段包括软件项目的估算、风险分析、进度规划、项目参与人员的选择与配备。项目跟踪控制包括按计划执行项目和控制项目,以便使项目在预算内、按进度、使用户满意的完成。这阶段包括:测量实际的进度,并与计划进度相比较。项目结束阶段主要是确认项目实施的各项成果,进行项目的接交合清算,同时对项目进行最后的评审,并对项目进行总结。软件管理的四个阶段,其中规划、跟踪控制理论上认为是软件项目管理的核心和重点,本文则认为启动阶段是软件项目管理中的重点。

万事开头难,做任何事情如果有个好的开端,可以起到事半功倍的效果。古希腊哲学家柏拉图说过:“开端是工作最重要的环节。”良好的开端好比一把开启智慧的钥匙,好比通向成功之路的铺路石,良好的开端是成功的一半。如果说成功是一把火,那么良好的开端就是火种;如果说成功是河流,那么良好的开端就是水之源。

软件项目启动阶段,首先就要确定软件项目范围和需求。项目范围管理和需求管理都是软件管理中的重要过程。项目范围是软件项目的基本框架,是项目管理者和建设者系统地、逻辑地分析项目关键问题的要素,也是项目相关人就项目建设内容达成一致的重要依据。如果在启动阶段项目范围模糊不清,必将造成项目在启动后进行不断的变更,因此项目风险不断增加,而且在项目验收阶段缺乏验收依据。启动软件项目的原因是由于软件需求存在,软件需求是每个软件开发过程中的基础。需求是一个软件项目的开端,是项目建设的基石。因此,一个软件项目成功的关键因素就是对需求分析把握的准确程度,如果项目需求分析不准确,获取的软件需求不真实,必将给软件开发埋下隐患,软件开发成功是很难想象的。

启动阶段要进行项目团队建设,团队建设包括项目经理的选择、项目参与人员的确定等。人是软件项目中最重要的因素,是其他的一切基础,因此启动阶段的团队建设非常重要。在启动阶段如果没有重视团队的建设,项目经理选择不当,项目成员专业结构不合理或业务能力不能胜任此软件项目,软件开发的效率将极其低下,开发出的软件项目,其质量将大打折扣,软件失败风险将大增。

因此,本文认为在软件开发管理的重点应放在软件项目的启动阶段,在启动阶段要注重软件项目的需求分析,注重项目的风险评估,注重项目的业务背景研究。

软件项目管理在具体业务软件系统开发中的重要作用

信息系统项目的开发过程不同于其他产品的制造过程,在很大程度上,信息系统开发是计算机技术、通信技术、信息技术加上具体的业务工作交叉的实践性工程项目。系统能否开发成功,不仅取决于成熟技术和先进的开发方法,本文认为更重要的取决于参与开发的技术人员的能力,参与开发的业务人员的业务素质和对本专业掌握的水平。经常从事系统软件开发工作的人都知道,软件开发过程中具有很多的不可预知性,这也是信息系统项目的一个特点。在开发过程中,如何将这种不可预知的东西变成可以预知的东西。对这一问题,项目管理就是最好的解决问题的工具。因此,在信息系统开发活动中引入规范、科学、系统的软件项目管理方法是非常必要的。

本文认为在软件项目中引进项目管理时要注意软件项目管理与其他管理相似,都是管理人员根据经验、事实和原理做出决策。因此,在信息系统开发活动过程中实施项目管理时,应该接合实际,灵活运用项目管理方法和使用管理工具,切勿生搬硬套。

软件项目需求及获取方法

软件系统的需求是指用户对软件的功能的要求,就是用户希望软件系统能做什么事情,完成什么样的功能,达到什么样的性能。软件需求不像硬件需求,有形的、客观的、可描述的、可检测的,软件需求具有模糊性、不确定性、变化性和主观的特点。

软件需求包括功能需求、性能需求、环境需求、资源需求、成本消耗需求、开发进度需求、现实约束、预先估计以后系统可能达到的目标等。从项目开发的角度看,软件需求主要包括两大类型:功能需求和非功能需求。其中,功能需求是主要的需求,需要计算机解决的问题,就是对数据的处理的要求。功能需求规定了系统必须执行的功能。而非功能需求是一些限制性的要求,是对实际使用环境所做的要求,如性能要求、安全要求、可靠性要求等。非功能要求比功能要求更严格,更不容易满足,这是因为,如果不能满足非功能的要求,系统将无法运行。

需求获取作为项目伊始的活动,是非常重要的。众所周知,如果需求调研不充分、用户需求描述不完整或不准确,项目成功的可能性几乎等于零。因此,根据软件项目特点,采取相应的需求获取方法,是项目取得成功的关键因素。

在实际系统开发中,经常会发现,由于需求方缺乏软件系统开发的专业知识和项目管理经验,往往一开始自己也不知道要开发什么样的系统,尽管对业务很熟,但对数据、业务流程的整理和归纳上很难符合系统开发的要求,经常是走一步看一步,不断地提出和更改需求,使得系统开发方难于应付。另一方面,开发方由于行业知识的缺乏和需求分析人员水平的低下,不能正确或完全理解用户的需求说明,而又没有加以严格的评审、确认,经常是以想当然的方法进行系统设计。系统开发出来后,与用户的期望相差甚远。因此,需求分析必须注重双方理解和认识的一致,逐项逐条地进行确认。为了作到这一点,根据项目特点采用合适的需求获取方法就显得非常重要。

软件开发需求管理是软件项目管理中一项十分重要的工作,在众多失败的软件项目中,由于需求原因导致的占相当大的比例,因此,需求管理将对软件项目能否最终获得成功产生至关重要的影响。但在实际软件开发过程中,很多开发人对需求的认识还远远不够。就本人的实际经验来看,软件开发工作不是简单的技术工作,而是一项系统的软件需求开发管理工作。项目管理人员要想做好软件项目管理工作,就必须要研究如何利用需求管理理论和方法,获取需求;采取什么方法对软件系统功能进行描述--需求建模。其目的是理解用户的功能要求,澄清模糊的功能需求,使软件工程师和软件用户对系统功能的理解达到一致。就实际工作经验来说,不管采用什么方法,都要体现以用户为中心的思想,因为软件最终的主人是用户,这一点非常重要。

共2页: [1]2 下一页
责编:刘沙
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
畅享
首页
返回
顶部
×
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918