谈软件开发项目管理之需求变动(转)

在软件开发过程当中需求的变动会给开发带来不肯定性,但只要把需求变动做为重点、难点当心加以控制,软件开发的进度、成本和质量也就有了"安全"的基础。变化并非人们最惧怕的,最怕的是跟不上变化的步伐。 安全

一、需求变动管理的需求 spa

需求变动是由于需求发生变化。根据软件工程思想,需求说明书通常要通过论证,若是在需求说明书通过论证之后,须要在原有需求基础上追加和补充新的需求或对原有需求进行修改和削减,均属于需求变动。需求变动的出现主要是由于在项目的需求肯定阶段,用户每每不能确切地定义本身须要什么。用户经常觉得本身清楚,但实际上他们提出的需求只是依据当前的工做所需,而采用的新设备、新技术一般会改变他们的工做方式;或者要开发的系统对用户来讲也是个未知数,他们之前没有过相关的使用经验。设计

随着开发工做的不断进展,系统开始展示功能的雏形,用户对系统的了解也逐步深刻。因而,他们可能会想到各类新的功能和特点,或对之前提出的要求进行改动。他们了解得越多,新的要求也就越多,需求变动所以不可避免地一次又一次出现。这时,若是开发团队缺乏明确的需求变动控制过程或采用的变动控制机制无效,抑或不按变动控制流程来管理需求变动,那么极可能形成项目进度拖延、成本不足、人力紧缺,甚至致使整个项目失败。固然,即便按照需求变动控制流程进行管理,因为受进度、成本等因素的制约,软件质量仍是会受到不一样程度的影响。但实施严格的软件需求管理会最大限度地控制需求变动给软件质量形成的负面影响,这也正是咱们进行需求变动管理的目的所在。 开发

二、六大原则 文档

实施需求变动管理须要遵循以下原则:原型

1)创建需求基线。需求基线是需求变动的依据。在开发过程当中,需求肯定并通过评审后(用户参与评审),能够创建第一个需求基线。此后每次变动并通过评审后,都要从新肯定新的需求基线。 产品

2)制订简单、有效的变动控制流程,并造成文档。在创建了需求基线后提出的全部变动都必须遵循这个控制流程进行控制。同时,这个流程具备必定的广泛性,对之后的项目开发和其余项目都有借鉴做用。 class

3)成立项目变动控制委员会(CCB)或相关职能的相似组织,负责裁定接受哪些变动。CCB 由项目所涉及的多方人员共同组成,应该包括用户方和开发方的决策人员在内。 基础

4)需求变动必定要先申请而后再评估,最后通过与变动大小至关级别的评审确认。 软件

5)需求变动后,受影响的软件计划、产品、活动都要进行相应的变动,以保持和更新的需求一致。

6)妥善保存变动产生的相关文档。

三、应对之道

需求变动控制通常要通过变动申请、变动评估、决策、回复这四大步骤。若是变动被接受,还要增长实施变动和验证两个步骤,有时还会有取消变动的步骤。

变动控制流程如图所示。针对变动控制流程,笔者在实际工做中总结出了软件开发人员在需求变动管理实践中的几点对策:

1)相互协做

很难想像遭到用户抵制的项目可以成功。在讨论需求时,开发人员与用户应该尽可能采起相互理解、相互协做的态度,对能解决的问题尽可能解决。即便用户提出了在开发人员看来"过度"的要求,也应该仔细分析缘由,积极提出可行的替代方案。

2)充分交流

需求变动管理的过程很大程度上就是用户与开发人员的交流过程。软件开发人员必须学会认真听取用户的要求、考虑和设想,并加以分析和整理。同时,软件开发人员应该向用户说明,进入设计阶段之后,再提出需求变动会给整个开发工做带来什么样的冲击和不良后果。

3)安排专职人员负责需求变动管理

有时开发任务较重,开发人员容易陷入开发工做中而忽略了与用户的随时沟通,所以须要一名专职的需求变动管理人员负责与用户及时交流。

4)合同约束

需求变动给软件开发带来的影响有目共睹,因此在与用户签定合同时,能够增长一些相关条款,如限定用户提出需求变动的时间,规定何种状况的变动能够接受、拒绝接受或部分接受,还能够规定发生需求变动时必须执行变动控制流程。

5)区别对待

随着开发进展,有些用户会不断提出一些在项目组看来确实没法实现或工做量比较大、对项目进度有重大影响的需求。遇到这种状况,开发人员能够向用户说明,项目的启动是以最初的基本需求做为开发前提的,若是大量增长新的需求(虽然用户认为是细化需求,但其实是增长了工做量的新需求),会使项目不能按时完成。若是用户坚持实施新需求,能够建议用户将新需求按重要和紧迫程度划分档次,做为需求变动评估的一项依据。同时,还要注意控制新需求提出的频率。

6)适当的开发模型

采用创建原型的开发模型比较适合需求不明确的开发项目。开发人员先根据用户对需求的说明创建一个系统原型,再与用户沟通。通常用户看到一些实际的东西后,对需求会有更为详细的解释,开发人员可根据用户的说明进一步完善系统原型。这个过程重复几回后,系统原型逐渐向最终的用户需求靠拢,从根本上减小需求变动的出现。

目前业界较为流行的叠代式开发方法对工期紧迫的项目的需求变动控制颇有成效。

7)参与需求评审

做为需求的提出者,用户理所固然是最具权威的发言人之一。实际上,在需求评审过程当中,用户每每能提出许多有价值的意见。同时,这也是由用户对需求进行最后确认的机会,能够有效减小需求变动的发生。

 

补充:屡次迭代验收。一方面能够控制风险,另外一方面保证需求变动在一个可控范围内。。

相关文章
相关标签/搜索