您的位置:首页 > 其它

软件项目中需求的开发和管理

2014-04-01 17:56 489 查看


引言

在软件开发过程中,项目最开始的信息来源于客户需要处理某件事情或某项工作,一般都是临时性,紧急性,独立性和系统性的的。所以这就导致我们承接项目后项目的不确定因素就非常多。在这其中项目需求的分析与理解尤其重要。在软件项目开发过程中40~60%的缺陷都是由于项目前期的需求理解和需求分析的失误所导致。所以要做好项目的前提就必须要对项目的需求进行严格的开发和需求的管理。本文将根据自己的经验来分享项目过程中需求的开发和管理。

需求参与者

需求是提出来需要实现某种特定事情的描述,那么不同的人针对同一个事情站的角度不同提出的需要肯定是不一样的。我们需要了解参与需求讨论用户角色是什么样的,才能更好的去理解客户提出的需求。一般参与需求讨论的用户角色可以分为如下几类:

² 客户中高层:主要关注项目本身能给我带来什么价值,能简化公司的什么业务,能否提高公司的效益。这层客户一般提需求或讨论需求时都模棱两可,会从整体,大局去提需求和确认需求。我喜欢用前景和范围来记录和确认这些需求。

² 项目负责人:主要关注项目的人员投入,项目的进度和质量。他们一般不会在项目的需求上面去提一些意见,但他们对项目的整体进度和质量是非常看重的,因为这涉及到他们的业绩和对贡献点。他们是一个很好的资源,能协助解决项目开展和进行中的一些客户问题。

² 项目用户:项目真正的使用者,他们会更加的关注业务功能和流程能否简化他们的工作。他们一般只会关注跟他们有关的功能模块的需求,对整体的需求不会太关注。这就导致了他们提的需求可能是站在自身利益的角度去思考的,切勿以偏概全。但是这类需求是整个项目的最基础组成部分,我们需要去结合客户领导和客户用户各方面的意见。最后统一个双方都满意的需求清单。我喜欢用模块列表和功能列表来整理这类需求。

需求类型

在项目前期与客户的频繁沟通交流中,我们需要对客户提出的需求进行归类分析整理。
项目需求一般分为以下两个方面来考虑:

² 功能性需求:客户为需要实现一个具体功能而提出,一般是需求比较明确,大多数情况下这些需求都是由项目使用者提出,一般都包括系统整体建设需求,模块功能需求,业务需求。

² 非功能性需求:这些是客户的一些额外要求,比如说UI风格,项目性能,项目质量,项目约束等等。

需求开发

通过前面的分析和整理,我们在这里就需要跟客户确定需求的前景和范围以及验收的标准了。那么在这个过程中,我们需要耳听八方,多跟客户沟通,深入挖掘客户的需求,理解客户对需求背后的期望值。分析整理好每次与客户沟通的记录。建立需求的基线,收集记录客户的每一个需求,引导客户的谈谈对需求的想法,让客户充分的参与到项目中来。不要闭门造车。最终整理成一份有效的需求规则说明书。

需求管理

一旦团队有了初步的需求有,就必须处理好开发过程中不可避免来之客户、管理层以及其他群体的需求变更,要进行有效的需求管理,必须记录每一个过程。

² 设定变更控制过程:确定需求管理过程中的工作模式。

² 分析变更的影响力:分析需求变更带来的影响力,对项目的进度,项目的成本影响,并确定是否继续执行需求变更。

² 维护变更历史记录:记录每次需求变更的信息,变更的原因。

² 维护每个需求状态:时刻更新功能需求的状态,完成,未完成,删除,进行中,变更等。

² 创建需求跟着矩阵:用图表的方式记录需求的前后变更信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: