需求变更的成本为啥着这么高?

软件开发过程中,需求变更是不可避免的。

需求发生变化的原因有很多种

1,前期需求调研不充分,导致错误理解需求

2,客户对需求的描述,认识不准确

3,需求分析人员能力差,输出错误的需求

4,随着时间推移,需求确实发生变化

其中,1和2是比较常见的原因。也是主要的原因。

需求发生了变化,那开发是不是要进行调整呢?

答案是肯定的,软件的目的就是为了满足客户的需求,不符合客户需求的软件是没有价值的。

前期需求调研后,客户对需求的确认,并不意味着后期需求不能发生变化,需求评审和确认只不过是一种仪式,他可以促使客户相关方重视需求确认工作,而不是把它当成可有可无,形式化的东西。确认后的需求可以变更,但是需要走变更手续。代表需求的严肃性。

需求的变更发生的成本到底有多大。对同一个变更,有人说很小,有人说很大,到底谁对谁错,如何评估。尤其是直接客户,会很不理解:我就提了一个简单的需求,怎么开发的周期这么长?

在实际开发中,客户提了需求变化,有的项目人员,甚至是开发人员就直接拍脑袋说了,小case,分分钟的事情,但往往事与愿违,实际交付时耗费的工作量成倍增长。

我们以一个例子来讲解为何需求变化的成本高,为何需求变化的成本难以测量。这个例子中的大部分都是我N年前做的一个项目发生的真事。

一天客户过来说,希望能在组织表中增加一个组织简称。

为什么?是因为老大年纪比较大,眼神不好,电脑设置的字体比较大,组织表的字段有比较多,光组织全称这一栏就占了小半个屏幕。因为组织的全称是带了集团名字的,比如"▓▓▓▓▓集团股份有限公司人力资源部",18个汉字。老大希望只显示"集团人资部" 5个汉字就行。

这个需求合理吗,非常合理!在项目前期需求确认时,确认组织字段时给漏掉了,或者说没有人注意到这个事情。

开发人员和客户简单沟通后,说不复杂,半天就加上(后来问时,开发人员说还有所保留,加个字段也就是10几分钟的事)。客户嘟囔了语句说,不就加个字段,还要这么长时间,好吧,我给领导说下。就走了。

不大一会,开发人员说做好了,也测试了。

他做的工作就是:

1、在数据库中增加了组织简称这个字段:ZZJC,长度为10个汉字,

2、配置到系统元数据中

3、修改组织查看和变更界面,将组织简称放在全称后面,显示宽度为 10 。

4、测试无误

5、中午发布到生产系统

然后,下午告诉客户改好了。客户看了看,说没问题,就是这样。

事情到此就为止了吗?

….那就好了。

第二天客户有跑过来了:“查询里为啥不能按简称查啊?”

开发人员:好好好,我马上修改“。这个系统,并不是表格里有什么列就可以按照什么列查询是需要配置的。打开快捷查询配置界面,需要配置查询配置id,增加上 简称的快捷查询。

下午,用户在qq上发来一个截图,说在组织人员表这个查询上,部门名称换成简称,否则查出来的报表A4纸打不开,太宽了。然后打开帆软报表设计器,找这个报表,没找到,因为在将报表注册到系统的时候,修改了报表名称,实际的报表名称与用户看到的不同,又打开报表注册功能,找到这个报表的实际名称,在设计器修改,修改数据源sql语句,在报表上增加列,保存,发布。完活。但是在系统中打开报表的时候,发现设置的宽度,不正确了,它按照页面自适应了。:(。原来报表设计器有个bug,一旦增加或者减少了列,他的自适应属性就变了。需要手工在修改过来。30分钟过去了。一张报表就为了增加一列,差不多1个小时。

其他报表呢,暂时不该了吧。(这个有为后边挖了个坑)。

下面列出了以后断断续续做的其他修改。

1、视图报错了。有一个视图用到了组织表,因为组织表的表结构变化了,导致整个视图状态为invalid,不可用,所以这个视图需要重新构建。为了保险起见,将所有的视图就检查了一遍。

2、日志没有记录对简称的修改日志,需要修改触发器。系统的修改日志时通过触发器来实现的,新增了部门简称,但是触发器没有同步修改,导致修改简称没有记录日志。

3、在人员编辑界面,也希望显示简称,而不是全称,没必要。

4、选择组织的所有窗口都要修改。因为要根据简称查找过滤。

5,接口。因为简称设置为不能为空,因此提供给身份系统的接口要修改,避免下发组织机构数据是出错。

6,说明书修改。

最后算下来,增加个简称,耗费了至少10个人天的工作量。按照¥2000/人天费用计算,一个看似很小的修改,带来的成本是 20000!

成本包括5部分:

1,沟通成本。需要和客户频繁沟通,以便充分理解需求,达成一致。不仅仅是直接需求,还包括间接需求(连锁反应)

2,开发成本(编码,测试,相关变更)

3、发布成本

4、文档变更成本(开发文档,手册)

5、变更管理不善带来的间接成本(频繁修改开发计划,频繁与客户沟通)

这还不考虑修改程序可能会带来的潜在的bug、修复bug的成本,以及带来的不良影响。

这个事情给我们的启示:

1、不要小看任何一个需求变更。

2、需要有经验的人员一起对需求变更进行的评估,评估的内容:需求的合理性,需求带来的连锁修改,所有修改的工作量。

3、需求评估完成后,要把评估结果与客户进行沟通,让客户理解需求变更具体内容,尤其是连锁反应,得到用户的认可与理解

4、小case,没问题这种话要谨慎。任何一个变更,在认真评估前,都不是小case。

5、开发人员不建议直接面对客户。尤其是一些菜鸟。

原文地址:https://www.cnblogs.com/senline/p/12177096.html

时间: 2024-10-31 21:38:17

需求变更的成本为啥着这么高?的相关文章

如何控制项目需求变更管理

Trufun UML2建模工具.Trufun Bacon  需求管理工具. Trufun ALM全生命周期产品.Trufun 研发云管理工具等 按照现代项目管理的概念,一个项目的生命周期分为启动.实施.收尾三个过程.需求变更的控制不应该只是项目实施过程考虑的事情,而是要分布在整个项目生命周期的全过程.为了将项目变更的影响降低到最小,就需要采用综合变更控制方法.综合变更控制主要内容有找出影响项目变更的因素.判断项目变更范围是否已经发生等. 进行综合变更控制的主要依据是项目计划.变更请求和提供了项目

需求变更大讨论:需求变更的原因

 需求变更的原因 需求包括业务需求.用户需求和功能需求.业务需求(Business Requirement )反映了组织机构或客户对系统.产品高层次的目标要求,用户需求(User Requirement )描述了用户使用产品必须完成的任务,功能需求(Functional Requirement )定义了开发人员必须实现的软件功能. 会导致需求变更的原因会有很多,如老板临时改变想法.项目预算增加或减少.客户对功能的需求改变等.在IT项目中,变更可能来自方案服务商.客户或产品供应商等,也可能来源于项

需求管理之勇于直面需求变更

软件系统开发过程中的需求变更问题 作为软件开发人员或者软件系统客户,相信我们都遭遇过因为需求变更而需要修改系统的情况,一般说来客户会要求改变界面,改变操作方式,甚至改变业务,说,当时我是那样要求的,不过现在我们的业务调整了-这时需要中断正在进行的工作,需要查证以往的资料,需要修正计划,需要- 需求包括业务需求.用户需求和功能需求.业务需求(Business Requirement )反映了组织机构或客户对系统.产品高层次的目标要求,用户需求(User Requirement )描述了用户使用产品

需求变更

需求变更是因为需求发生变化.根据软件工程思想,需求说明书一般要经过论证,如果在需求说明书经过论证以后,需要在原有需求基础上追加和补充新的需求或对原有需求进行修改和削减,均属于需求变更. 需求变更的出现主要是因为在项目的需求确定阶段,用户往往不能确切地定义自己需要什么.用户常常以为自己清楚,但实际上他们提出的需求只是依据当前的工作所需,而采用的新设备.新技术通常会改变他们的工作方式;或者要开发的系统对用户来说也是个未知数,他们以前没有过相关的使用经验.随着开发工作的不断进展,系统开始展现功能的雏形

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

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

项目需求变更有效管理

最近和朋友吃饭,讨论到软件测试方面的问题,这位仁兄也是经验不足,像我抱怨好不容易按照之前评审的需求写完Case,现在又变更这么多需求,又得重新梳理需求写Case.其实参与过项目研发的人员都非常清楚,项目一旦启动,需求变更也会随之而来,需求变更是无法避免的. 不瞒大家,像博纳移动这么强大的研发团队,在项目启动之后变更需求也是常事.就拿最近V-3.4万能考勤开发过程的事情来说吧.万能考勤有个导出排班表的功能,排班表是以EXCEL形式展示的,这里涉及到排班表成员排列顺序的问题,当初原型评审时候,评审会

《小团队项目管理》第三问 --- 如何看待客户的需求变更?

作为一名码农,在项目开发过程中经常会涉及到项目的需求变更,变更的理由也是多种多样,总结而来分为外部和内部,从外部讲,例如:为了顺应某行业新的工作操作规范,甲方要求现有项目在工作流程环节上进行局部功能的变更:从内部讲,通过对市场环境的不间断调研和数据分析,公司产品在同类产品竞争中处于不利地位,市场份额日渐缩小,那么我们的产品设计人员会积极行动起来对产品的整个定位和新业务展开新的思考以寻求更加稳健的创新突破口,这就会对项目产生一定的需求变更. 此图是从CSDN社区截取下的,我相信很多看到这个问题的筒

如何用通俗易懂的语言解释需求变更带来的项目影响

如何用通俗易懂的语言解释需求变更带来的项目影响 你去饭店,坐下来.“服务员,给我来份宫保鸡丁!”“好嘞!”——————这叫原始需求 大厨做到一半.“服务员,菜里不要放肉.”“不放肉怎么做啊?”“不放肉就行了,其它按正常程序做,不就行了,难吗?”“好的您稍等”——————中途需求变更 厨房:大厨:“你大爷,我肉都回锅了”服务员:“顾客非要要求的嘛,你把肉挑出来不就行了吗”大厨:“行你大爷”然而还是一点点挑出来了——————改动太大,部分重构 餐厅:“服务员,菜里能给我加点腐竹吗?”“行,这个应该简

[转] 项目管理---项目经理如何应对客户的需求变更?

项目管理---项目经理如何应对客户的需求变更? 目录(?)[+] 相信做软件开发的我们,大家都有这样的体会,当我们辛辛苦苦的熬了几个月的通宵.加班后,终于完成了客户提出的V1.0功能需求,当我们大家准备按部就班的进行系统上线时,客户.企业用户突然改变了需求,不想这么做了,提出了新的需求,新的变动,这样对于我们整个团队来说,正如晴天霹雷,很恐怖的事情啊,因为有时候,用户只是简单的一句话,但是对于系统的调整来说工作量是非常大的. 需求变更,本应是客户的权力,但也是实施顾问的为难之处.如果确需变更,当