Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11921
  • 博文数量: 14
  • 博客积分: 430
  • 博客等级: 下士
  • 技术积分: 185
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-15 14:48
文章分类
文章存档

2012年(9)

2011年(5)

我的朋友
最近访客

分类: IT业界

2012-01-13 10:17:09

软件项目管理是目前不断发展的新兴边缘学科,它综合了管理科学、信息科学、系统科学、行为科学、计算机科学和通信技术等各学科知识,同时也是实践性很强的学科。下面就具体说说软件项目的需求与管理。

 

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

 

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

 

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

 

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

 

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

 

了解了具体的软件项目需求管理我们再系统地了解软件的整个过程。

 

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

 

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

 

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

 

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

 

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

 

软件项目管理整个过程看起来有点复杂,但是如果借助于项目管理软件的话,可以有效提高项目的效率和成功率。8thManage项目管理软件是现代最佳的PM/PMO解决方案。利用,从项目需求,到项目收尾所有的数据都实时地反映在系统上,项目计划与执行合二为一,可以同时管理计划、执行和项目绩效。

 

更多:

阅读(264) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~