Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何应对变化?

如何应对变化?

作者头像
PM吃瓜
发布于 2020-07-23 15:12:06
发布于 2020-07-23 15:12:06
6430
举报
文章被收录于专栏:PM吃瓜(公众号)PM吃瓜(公众号)

设计变化和需求变化

开发人员最怕的是什么呢?设计变化,还是需求变化?我觉得需求变化是最最致命的。

当你的一个项目数据库都定下来后,而且已经开发了若干个工作日,突然接到甲方公司提出,某个功能要改变,原先的需求分析要重新改,如果这个修改是涉及的数据库的表结构更改的话,那真是最致命的。

这就意味着项目的某些部分得重新推倒重来,如果这个部分跟已完成的多个部分有牵连的话,那就后果更可怕了。

所以当碰到这种情况发生,作为项目经理的你就应该考虑先查责任人,究竟是自己的需求分析做的不够好,还是客户在认同了需求分析后做出的修改,如果是后者的话,你完全可以要求客户对他的这个修改负责任!

那么,呵呵,客户先生,对不起了,本次新增加的需求将归入另外一个版本。如果是改变前面某个需求的定义,那么说不定就要推倒重来了,不过这个时候到不用太在意,毕竟错的是客户。(项目正式开始前没有没有说清楚其需求)。

所以,各位看客,在需求分析做好后,在开工之前一定要叫客户认可签字,并且在合同上要注明,当由客户原因引起的需求改变而造成开发成本的增加,客户要为此买单地。

如果在需求不变的情况之下,设计发生了变化,这个仅仅是我们内部之间的矛盾,商量一下就能解决。在简单设计中,因为前期的设计是不完整的,那么当进入任何一个新的模块进行开发时,都有可能引起设计的变化。开发人员的水平的高低就基本上决定了软件的好坏。

需求变更流程

变更控制

(Requirement Change Control) 需求变更通常会对项目的进度、人力资源产生很大的影响,这是开发商非常畏惧的问题。也是必须面临与需要处理的问题。作为软件项目,特别在外地实施的工程软件项目而言,需求发生若干次变更似乎是不可避免的。

需求发生变更的起因主要有:

  • 随着项目生命周期的不断往前推进,人们(包括开发方和客户方)对需求的了解越来越深入。原先的提出的需求可能存在著一定的缺陷,因此要变更需求。
  • 市场业务需求发生了变化,原先的需求可能跟不上当前的市场业务发展,因此要变更需求。

由于市场变化而导致需求发生变更,开发商大可不必为此烦恼,应当高兴才对。倘若市场静如死水,那么开发商吃了“上一顿”就没有“下一顿”。正因为市场在变化,才会产生更多商机,聪明的开发商才会有活干,有钱赚。

如果在项目开发的初始阶段,开发人员和用户没有搞清楚需求或者搞错了需求,到了项目开发后期才将需求纠正过来,导致产品的部分内容需要重新开发。毫无疑问,这种需求方工作失误造成的,双方应当好好反省,认真学习需求开发和管理的方法,避免再犯相似的错误。

总的而言,人们提出需求变更,本就是出于能够使产品更加符合市场或客户需求,出发点本身是好的。

但对于开发小组而言,需求的变更则意味着要需要重新进行估计,调整资源、重新分配任务、修改前期工作产品等,而作为开发商,需要增预算与投资,开发组要为此付出较重的代价。假定每次需求变更请求都被接受的话,那么这个项目将会成为一个连环式的工程。

需求变更控制的动机是:

  • 如果需求变更带来的好处大于坏处,那么允许变更,但必须按照已定义的变更规程执行,以免变更失去控制。
  • 如果需求变更带来的坏处大于好处,那么拒绝变更。

当然,好处与坏处并不是主观的,而是通过客观的分析与评价而得出的。

对于需求的变更,在某一个程度上来说,也就是项目的范围进行了变化。而需求同时又是项目进行的基础。是非常得要的基石。通常对于需求的变更需要客户与开发方共同参与,包括负责人及市场人员。当然,我们需要根据变更的内容来灵活运用。

需求变更控制过程中最难办的事情是莫过于“拒绝客户提出的需求变更请求”。客户会想当然地以为变更需求是他的权利,因为他付钱给开发方。通常情况下开发方是不敢得罪客户的,但是无原则地退让将使开发小组陷入困境。

怎么解决这个问题呢,通常情况下,每一类“游戏”都有一定的游戏规则,那么我们事先也需要建立“游戏规则”。

如果事先没有“游戏规则”的话,开发方的负责人需要一些社交技巧来减缓矛盾。

  • 例如首先承认客户提出的需求变更请求是合理的,再阐述己方的难处,最后建议在开发该产品新版本时修改需求。这种方式比直接拒绝有效得多,既不得罪客户,又为自己争取了余地。
  • 另外还有一种方法,可以将变更需求先进行记录,并通知给客户,当其需求变化在开发组不能接受的范围时,可以通过市场进行相关的协调。

需求变更本是正常的,并不可怕,可怕的是需求的变更得不到控制。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 物联俱乐部 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
需求变更控制详解
但对于开发小组而言,需求的变更则意味着要需要重新进行估计,调整资源、重新分配任务、修改前期工作产品等,而作为开发商,需要增预算与投资,开发组要为此付出较重的代价。
PM吃瓜
2020/09/08
5990
需求变更控制详解
软件开发流程
一、 软件开发简介   软件(Software)简单的说就是那些在计算机中能看的着,但摸不着的东西,概念性的说软件也称为“软设备”,广义地说软件是指系统中的程序以及开发、使用程序所需要的所有文档的集合。软件分为系统软件和应用软件。 软件并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分 。   软件被应用于世界的各个领域,对人们的生活和工作都产生了深远的影响 二、 软件开发的内容
阳光岛主
2019/02/19
2.9K0
需求变更当作一个项目来看待,如何处理 ?
需求变更是软件项目一个突出的特点,也是软件项目最为普遍的一个特点。虽然这与人类认识问题的自然规律是一致的,但是频繁而无管理的需求变更非常容易导致复杂、无形的软件在多变的情况下失控,加剧了软件开发过程中的不稳定性,从而造成多方的损失。那么如何对需求变更加以有效的控制和管理,从而保证软件开发的进度、成本和质量,便成为软件开发过程中一个值得思考的问题。
PM吃瓜
2023/03/02
2830
需求变更当作一个项目来看待,如何处理 ?
编码规范 -- 如何应对需求变更
  现在的程序员为什么这么累,其实很大程度上来说是加班原因使编码质量占了大部分因素,但是不少同学都不认为是代码质量导致的加班,都认为是不断的需求改动导致的加班。但是话又说回来,谁的需求不改动啊?不改动的能叫需求吗?
Kevin_Zhang
2019/01/28
8230
程序员你为什么这么累续:如何应对需求变更
企鹅号小编
2018/01/03
1.1K0
程序员你为什么这么累续:如何应对需求变更
程序员你为什么这么累【续】:如何应对需求变更
作者:晓风轻 原文:https://zhuanlan.zhihu.com/p/28719726 我之前的文章 程序员你为什么这么累? 中,我个人观点是加班原因是编码质量占了大部分因素,但是不少同学都不
程序猿DD
2018/02/01
7910
程序员你为什么这么累【续】:如何应对需求变更
需求变化的根源是什么?
在不按时算薪的行业里,软件开发应该是加班最多的一个行业。码农,是很多程序员用以自嘲的称谓。长时间的加班,大量的BUG,无穷无尽的特性,永远都在做的重构,伴随着程序员职业生涯的始终。对比国外的微软、GOOGLE公司那种轻松愉快的工作,国内的程序员的工作真的就如同面朝黄土背朝天的农民一样艰辛。很多程序员都坦承软件开发是一件体力活,程序员干不到三十岁的论断,也流传甚广。 软件项目一直是一种高风险的项目,除了产品是否畅销的市场风险,还有大量的产品在开发过程中夭折。 比如软件项目的主要开发团队离职,旧的代码无法给新的
韩伟
2018/03/05
1.4K0
需求变化的根源是什么?
需求变更,产品经理的良心也会痛!
作为产品经理,我们一定要理解开发团队及其他团队成员为什么视需求变更为大敌。事实上,需求变更对整个项目都非常有害。
博文视点Broadview
2020/06/11
6970
【愚公系列】软考中级-软件设计师 036-软件工程基础(需求分析)
软件工程需求分析是软件开发过程中的重要环节之一,它主要是通过收集、分析和规范用户的需求,为软件开发团队提供明确的需求指导,确保软件开发的目标和方向与用户需求一致。
愚公搬代码
2024/02/17
4750
DDD应对复杂
Eric Evans所著副标题--Tackling Complexity in the Heart of Software,对于简单系统其实没有必要使用DDD,只有在复杂系统中,才能体现DDD的价值
码农戏码
2021/03/23
5150
软件开发要质量还是要效率?
把“质量”当做宗旨的企业,通常都有一系列的规章制度,甚至是繁重且冗余的流程用来约束软件开发过程中种种“有意”或“无意”的威胁软件质量的行为。
用户1148394
2019/11/29
9320
十大管理领域可能的问题与解决举措
熟读吧,根据案例中出现的情况,使用不同的话术 可研过程中可能出现的问题 项目经理的技术经验不足 没有正式、书面的新产品研发项目建议书就开展可行性研究工作 新产品研发的可行性研究工作不充分,尤其缺少技术可行性分析和论证 研发过程中对人才缺乏、竟争对手等带来的风险缺乏充分的分析,没有合理有效的应对方案 没有新产品的初步设计方案就开始研发工作 新产品的需求和技术指标不应由领导把关,应进行外部评审 在项目启动前缺少对项目成本的估算或成本估算工作未到位 可行性研究报告缺少必要的内部论证或外部评估环节 没有制订综合、全
用户3148308
2021/05/27
7950
8 怎么样才能避免豆腐渣工程? 人人都是项目经理系列(第8/13篇)
和前面一样,正式开始本章内容之前,我们先认识几个大师。这些人都是在质量管理领域有杰出贡献的大佬。
放牛的星星
2020/07/21
6390
8 怎么样才能避免豆腐渣工程? 人人都是项目经理系列(第8/13篇)
设计模式-6大原则
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或者抑制这个类完成其他职责的能力。
ronixiao
2022/07/25
4960
敏捷过程中的需求分析
瀑布和RUP 强调结构化方法与重型的管理策略,往往在内心中拒绝变更,把变更作为被管理甚至被“管制”的对象;而为了尽可能避免变更,常常要求开发之前的需求获取、分析与定义要完整无误且精确。
PM吃瓜
2023/03/02
8630
敏捷过程中的需求分析
如何把敏捷开发思想运用到其他工作中
最近我在得到APP上学汤君健老师的《怎样成为时间管理的高手》课程,很受启发,特地做下学习笔记,也希望能够给你带来启发。
zhanyd
2022/05/16
3380
如何把敏捷开发思想运用到其他工作中
项目管理实践-技法:提升绩效与改进过程
第1章 决战项目,举起制胜武器 应对环境变化环境 主要有3种方法 学习:培训是学习别人经验教训的捷径,培训也越来越受到重视,越来越多的企业大学就是一个明证 创新:学习总是跟在人后面,总是在追随(我称其为“尾随”)。哪怕跟得再近,也无法领先。创新才是实现领先的应对策略 整合:掌握最先进技术的最简单方法,就是将掌握这种技术的人或团队“挖”过来。这就是整合,整合是应对环境变化的第三种方法 非重复性工作决定组织的发展 实现组织战略和目标的手段主要依靠两类工作,一类是持续的、重复的工作(运营),另一类是独特的
yeedomliu
2022/03/31
7130
项目管理实践-技法:提升绩效与改进过程
(二十一)敏捷项目管理和传统项目管理有何区别?
敏捷项目管理VS传统项目管理
砖家认证
2020/01/15
5.5K0
(二十一)敏捷项目管理和传统项目管理有何区别?
1、软件测试概述
软件生命周期分为多个阶段,每个阶段有明确的任务,通常,可将软件生命周期划分为6个阶段,如下图所示:
魚迹
2023/05/06
2270
1、软件测试概述
没有人喜欢,但却不得不选择的敏捷开发
敏捷开发是一种从1990年开始逐渐引起人们广泛关注的新型软件开发方式,它是具有应对快速变化的需求的软件开发能力。相对于非敏捷开发,它是一种以用户需求为核心,持续迭代,循序渐进的开发方式。敏捷绝非某一种特定的开发方法,它只是一种应对快速变化的需求的一种软件开发能力。所以敏捷开发并不在意需求是否变更,即便是在项目开发的后期,敏捷开发依然乐于接受需求的变更。这一点对于取得客户的满意度来说,无疑是非常具有竞争力的。
三哥
2018/12/06
6380
没有人喜欢,但却不得不选择的敏捷开发
相关推荐
需求变更控制详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档