需求变更的烦恼

客户今天要求变更需求,加某某功能,“这个应该不难吧,某某公司的产品都有这个功能的。”客户的需求一直在变,烦恼。。。

  开始是需求不明确,客户都不知道要做成什么样,只有一个大概的粗略的描述。等到大楼盖好了,给客户,却发现大楼应该是这样那样的......客户方和开发方在一起( WorkShop) 还好,如果分开在两地就更糟糕......

  永远不变的就是变化,这个大家都知道,但关键是如何合理的控制需求变更?

  我以前做的上百人一年多一个的大项目,完全按照CMMI Level3规范来控制需求变更的。起初有双方签字的经过评审的需求基线,以后需求变更的时候有需求变更委员会(CCB)或专门负责的角色(通常由客户方需求人员来收集和评估最初需求并提交给QA,QA牵头需求变更流程)来处理需求变更,具体做法是:

  1、先是客户或项目组成员提出的需求申请,填写《变更申请单》并提交给项目经理。

  2、项目经理组织项目相关人员对需求变更进行评估和调研,然后组织需求变更评审。

  3、如果同意变更则由CCB授权配置管理员检出配置项由项目组成员对相关的文档(用户需求说明书、需求规格说明书)进行修改,修改后评审(同时 填写《变更管理记录表》)通过后由高层经理审批,然后提交用户确认,最后纳入配置库,更新《需求追踪矩阵》,确保需求和工作产品的一致性;

  4、如果不同意变更,则项目经理、部门经理与客户共同协商,协商后同意变更,则对相关的文档进行修改。协商后依然不统一,则需求变更结束。

  5、所有的需求变更都需要总经理理进行审批。需求变更的影响:利用《需求跟踪矩阵》对变更影响进行评估;估计对项目参数的影响—规模、工作量、进度影响;超出阀值(整个项目进度的10%- 15%,里程碑30%)的,应提交高层评审/批准。

  6、妥善保存变更产生的相关文档。

  现在公司做的项目规范较小,完全按照CMMI的规范来有点多余,所以我们基本上类似于敏捷开发的模式。敏捷编程是拥抱变化,持续重构和改进,迭代开发,频繁交付。在需求变更管理上我们还没有一套完整的合适的流程,具体做法是:

  1、客户提出新需求;

  2、开发人员或项目经理评估后答应了;

  3、继续开发,时间表按照重新评估后的进行;

  4、基本上很少拒绝客户;一方面是为了维护客户关系,另一方面对自己team的开发能力很自信; 结果是上头答应了客户,下头的只能加班加点赶工。

  另外还有一些控制需求的做法:

  1、项目前期会首先快速开发一个产品原型(Prototype)给客户,有界面的先用visio画个界面,以验证业务规则、业务流程和大概GUI等。另外,产品原型也有助于进一步挖掘用户的需求。

  2、会粗略的列出大体的需求并签字

  3、频繁交付给客户,短周期的交付可工作的产品,以印证需求与实现是否一致,同时兼做客户教育工作。

  问题是如果需求变更无休止,则需求变更几乎就不可控,项目开发也无休止。所以我觉得我们公司在需求管理上还缺乏:

  1、需求基线管理,经过评审的双方确认签字的需求基线。以后如果要超出或修改需求基线,则必须有专门的人员对此提出异议,由CCB审核后方可修改;

  2、专门的需求控制负责人。现在基本上是技术人员或是项目经理收到客户需求变更,然后自己评估下就答应了。缺乏专门的需求控制负责人,因而没有需求评审,没有一套专门的严格可控的需求变更流程。

  3、需求功能点列表的书面确认。现在签的只是非常粗略的大体需求,定性而没有定量,以后扯皮发生的可能性非常大;

  4、适当时候应该拒绝客户的要求。虽然用户有众多的理由,比如他认为改动不大,竞争对手已经拥有该功能,或是新的业务需要,但如果评估后的结果是没有必要,或不合理,或优先级不高,或风险大于必要,则坚定的拒绝。另外一种变通的方法是,根据优先级重要性有条件的答应,比如放在下一次版本之后。

  5、需求Scope的管理,不仅要明确做什么,而且要明确不做什么。什么是我们负责的,什么不是我们应该负责和提供的。

  另外在需求变更管理中,和客户有效的沟通、协调和教育非常重要。说的好点,就是“要讲究沟通的艺术”,“多引导客户”;说得俗点,就是“摆平客户”。如果能够对客户进行很好的客户教育,很多时候客户是可以理解开发过程中的困难,从而达到妥协或折中。比如客户理解了项目后期进度紧张,技术架构难以大改,就会在资源、进度、功能上做一些折中的选择,比如把功能分主要功能先实现,次要功能后实现;核心业务保稳定,次要业务不能牺牲核心业务的稳定性等等。反之,如果没有和客户有效的沟通、协调和教育,则会双方各执一词,搞业务的只讲业务、流程和功能,不考虑技术可行性,不考虑资源和时间表;搞技术的只讲技术,没有倾听客户的正当的商业需求,不能满足客户利益的最大化,这样双方就很难达成双赢的结果。所以,有效的沟通是软件项目成功的关键。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-14 06:02:12

需求变更的烦恼的相关文章

软件开发的非功能性需求变更

需求变更本应是客户的权力,如果确是需要变更,当然要满足客户需要.但问题是不能让变更权力滥用,把一些无关痛痒的非功能性需求变更宠惯养成堂而皇之的变更.对于非功能性需求客户总会有新的想法,项目好像总没有办法终结.以前当出现这种情况时,我总觉得很沮丧,觉得自己非常不幸,怎样会碰上这样的客户.可在读了<设计模式精解(Design Patterns Explained)>一书的一段话后,我恍然大悟,这不是我的错,世界原来就是这样子的啊,永远不变的就是变化. 令人烦恼的非功能性需求变更 在软件开发中,大家

谈谈如何应对软件开发中的需求变更

令人烦恼的需求变更     在软件开发中,大家都会遇到过这样的问题:客户的一个新想法,就推翻了之前与客户经过再三讨论而确认定下来的需求.如果是功能性需求变更还会让人容易接受一些,毕竟功能性需求不实现的话,是会大大影响到软件产品的质量.但是一些非功能性的变更会让人很头疼,许多是看起来无关痛痒的.鸡毛蒜皮的变更,却是极为令人无语和无奈,甚至是烦恼和厌恶的.     (1)什么是软件需求?     在IEEE中,软件需求的定义是:用户解决问题或达到目标所需的条件或功能.一般包含业务需求.用户需求.功能

互联网产品方法论:需求变更循环

文章描述:恰恰PM的工作缺不了项目管理,更缺不了对于需求的管理,偶然的原因,和团队分享了我对于项目进行中"需求变更"的理解和管理方法.忽然发现之前写过很多产品思考和细节思考的东西,但从没有整理出方法论,后续应该多整理下方法论. IT行业中失败项目的比例可以说明"项目管理"是很难做好的事情,项目失败的原因千千万,我认为需求管理.需求变更管理是个很重要的因素.恰恰PM的工作缺不了项目管理,更缺不了对于需求的管理,偶然的原因,和团队分享了我对于项目进行中"需求变

需求变更七步管理法

典型场景:最近比较烦,烦客户!我们现在正在给长江市政府做一个电子政务项目,其中有一项功能是网上婚姻申请登记功能.因为前一段国家政策取消了强制性体检这个环节,所以我们的工作流程也相应的变更. 没想到客户从中得到启发:我们的许多工作流程做好后改动的可能性很大(例如政策调整.部门变动.领导班子重组等),干脆给我们做成可定制的功能,我们提一个最大的功能集合,你们做好了我们自己就可以随需而变,嗯,这样好! 可是对项目组来说这可是个灾难啊!因为可定制的功能往往意味着工作量的倍增! 分析:先说说大家对于这种现

请问哪些变更可以算作需求变更?

问题描述 请问哪些变更可以算作需求变更? 最近在做需求分析以及需求的管理,请问哪些变更可以算作需求变更? 客户业务上的变化自然算需求变更,某一个业务的具体实现经过技术部门讨论总结后有了方案一,当该方案实现后内侧发现效果不好,客户不认可,计划采用方案二,但时间就会超出预期,此时可以和客户提出算作需求变更吗?以便申请时间和费用. 解决方案 http://jg.zhulong.com/info_wiki/read682501.html

浅谈测试管理—应对需求变更

今天想和大家说的,其实无非是和我们如影随形的需求边变更.似乎自我入行一来一直听到这个词语.先说何为需求?我按照广义和狭义简单的区分了下. 所谓广义需求,及时一切和项目有关的想法,建议反馈,都叫做需求.所以狭义,就是产品经理提出的需求文档.其实一定时期内,我们不得不承认,广义需求是相对稳定的,并且有一定的经验可谈.何意?广义需求可以是用户的一个反馈,可以是今年流行的一种设计风格,可以是近几年流行的聚焦区域.再具体点说,就是,用户可以希望音乐播放软件提供高品质,免费,且海量的搜索结果,这个要求可能是

ERP实施中最可怕的是需求变更

辛辛苦苦熬了几个月的通宵,终于确立了erp需求,规范了工作流程,系统配置也完成了,正准备按部就班ERP系统上线时,企业用户突然改变了需求,不想这么做了,提出了新的需求.这对于ERP实施顾问来说,正如晴天惊雷,这也是所有ERP顾问最感到恐怖的事情.因为有时候,用户只是简单的一句话,但是对于系统的调整来说工作量是非常大的. 一.需求变更:迁就or拒绝? 从ERP项目立项开始,需求就是ERP实施顾问的心头之痛.随着对ERP的深入认识.项目环境的变动,企业内外部多种因素都可能使客户对ERP的需求不断改变

需求变更,产品经理的良心也会痛!

引言:在项目执行过程中,产品经理与后续的合作团队,包括设计.开发.测试等相关人员最尖锐突出的矛盾,就是需求变更,这是产品经理最经常被诟病的地方.频繁的需求变更,对产品.项目进度和团队积极性都有非常大的危害.产品经理一定要不遗余力避免需求变更的情况. 本文选自<爆款是怎样炼成的:产品经理晋级宝典>. 作为产品经理,我们一定要理解开发团队及其他团队成员为什么视需求变更为大敌.事实上,需求变更对整个项目都非常有害. 需求有变更,就意味着设计.开发团队的工作有浪费.这首先是资源和时间的浪费. 这会导致

应变之道 浅析需求变更管理

阅读提示:本文作者从项目管理的角度来讨论对变化需求管理的策略.首先是讨论在构建前需求的质量,然后说明了如何在构建过程中对需求进行跟踪,最后讲述了当真正发生需求变更的时候,我们应该如何去面对. 需求总是在变化,客户总会有新的想法,项目好像没有终结,我们软件开发人员应对软件需求变化时,为了拥有更多的准备,应该做些什么呢? 这个世界唯一不变的就是变化了.月有阴晴圆缺,潮涨潮落,千年前的沧海是现在的良田,这是自然界的变化:人有悲欢离合,生老病死,这是人情世故.变化是并不一定总是给我们带来惊喜,更多的是带