为什么软件需求常常发生变更
Ⅰ 如何应对频繁的软件需求变更
作为项目建设实施掌舵人的项目经理及架构师们,最痛苦的事情之一就是:软件需求经常变更,导致工期不断拉长、成本投入持续增长、项目风险也越来越大,有一种想把这些善变的客户,哦不对、是需求,给砍了的冲动
这时,请先反省一下:自己是否还有哪些地方做的不够?或者,还有哪些地方应该做得更好?
我们不妨从项目过程生命周期的各个阶段来看看我们可以做到哪些
Ⅱ 需求变更常见原因
1,临时加了紧急需求,范围变更;
2,前期没想到,后期进行需求完善;
3,开发实现过程中有困难,有更好替代方案;
4,开发工期压缩;
5,需求分析沟通不充分,产品设计出的东西不是用户想要的;
6,市场更新过快,产品设计需进行相应变更;
7,需求变更后未落实到项目进度,未识别出相关方,
8,出现更紧急任务,延误。
9,需求未通知到所有相关方。
Ⅲ 为什么在软件开发过程中需求变更是不可避免的
因为什么事情都不可能一次就能想完善,在你做的过程中会发现前期一些不够完善的地方。
Ⅳ 需求变更是软件项目区别于传统项目的显着特点
需求变更是最让码农头疼、抓狂的事。有时候会让你从头再来。
Ⅳ 如何解决需求变更频繁
首先,我们来分析一下用户需求变更的原因.
其实,无论我们做什么项目,面对什么样的客户,客户需求总是认真对待的,因为这是整个项目的起点.然而,在你直接面对客户之前,请先问自己一些问题,你是否对客户的行业需求有过事前的分析,是否对客户可能的需求有过充分的准备,是否准备好了去应付用户所提出的种种意外的要求,如果,对这些问题你都是否定的回答得花,那么,对于帖子中提出的问题,你肯定会应接不暇的。还有,在首次听取用户需求的时候,你是否有足够的敏锐力去识别客户的需求,是否能够以专家的身份和能力去引导客户的需求,如果不能,那末后期频繁的需求变更也就不足为怪了。
总结起来,客户需求变更的主要原因有二,一是对客户的了解太少,缺少相关的专业经验;二是缺少对客户需求的控制能力。
接下来,就要看看如何来应对这样的问题了。
做好事前的准备,这是应对客户需求最有效的方法,在与客户接触之前,充分了解客户的行业,做到心中有数,这样才能在了解客户需求的过程中做到有的放矢,顺水推舟。
做好需求控制,一旦基本的需求明确,就要通过有约束能力的合同来是双方就需求内容、需求变更流程达成一致。
最后还有一个问题,就是市场与需求变更的应对。
在做项目的过程中,无论你怎样控制,由于市场的压力,总会碰到客户提出的“无理”要求,如何看待这样的问题,就不是简单的控制问题了,这就需要管理层去权衡利弊,如果,确实不值得,也只能放弃。
Ⅵ 为什么在软件开发过程中需求变更是不可避免的
这个问题很复杂。因为客户不了解软件是如何运行的
Ⅶ 为什么需求总是在变更
软件能不能像汽车一样,事先就设计好,然后流水线的造出来,一气呵成?
这可能是所有程序员最梦寐以求的愿景!但事实上这是不可能的。
这其实就涉及到另外一个问题:为什么需求会一直在变更?是CEO脑子抽风,还是产品经理做事不认真?
在知乎看到了这样一个新的思路:不是需求的变更驱动着软件的不断更改,而是“软件可以随意更改”的这种特性刺激了不断的需求变更。
装修好的房子,是不是住一段时间之后就会觉得这里不舒服那里不合适?少了一个插座,该加一个龙头,橱柜用着不顺手……“要是能改改就更好了!”只是这样的改动太费力,所以大多数时间我们都还是算了。
汽车也一样,开着开着想换个自动挡,开个天窗,加一个陡坡起步的防滑坡功能……只是你加不了而已!所以只好将就用,直到最后换个新车。
但软件不一样!理论上怎么改都可以,而且好像改动没多少成本?既然如此,这些我用着不舒服的地方,为什么我不改呢?改其实是一种“改进”,是一个不断完善产品的过程。“没有最好,只有更好”,所以只要产品在用,就一定会有不断的持续改进。“敏捷”所强调的“拥抱变化”,不是无奈之举,也不是为了装酷,而是有很深刻的现实基础和逻辑支持的。
所以我们必须改变观点,正确的认识“需求变更”。偶尔的吐槽可以缓解压力,但在思想上必须认识到:需求变更不是一种我们必须无奈接受的折磨,而是我们必须勇敢面对的挑战,是项目迈向卓越的机遇和必然。
Ⅷ 频繁需求变更导致我的项目失败了
李泽刚刚出任项目经理,聊到叮嘱他一定要尊重客户,充分满足客户需求。项目开始比较顺利,项目也按照计划的轨道正常进行,客户相当满意。但进入后期,客户就开始了频繁的需求变更要求,给项目团队队增加了不少的额外工作。
到后来甚至越过李泽,直接与程序员沟通,程序员本来手头工作就多,加上客户不断的增加的要求,最后直接改程序,却不做任何记录,最终导致很多问题产生,大家都说不清系统被改成什么样了
这个例子中存在的问题有很多。项目应以需求为核心,一个项目是否能够成功,对需求的准确把握在成功因素中要占上60%的比例。如果需求出现偏差很容易导致项目失败,项目开发过程中能够与客户建立有效快速的沟通渠道,是项目成功的关键。
需求必须获得客户的确认。通过需求调研与分析后获得的用户需求说明书,以及软件需求规格说明书都必须得到客户的签字确认。确认的内容包括项目的目标、范围以及项目需求功能点。
注意维护需求调研记录以及需求跟踪表。由于需求调研人不够专业,而项目经理以及需求分析负责人对这一过程还欠缺足够的重视,同时没有好的工具或流程来监控这一过程,使得需求调研记录没有发挥更大的作用。此外,需求跟踪也非常重要,毕竟,任何项目的需求都不是固定不变的,需求随时会发生变更,而开发人员实现的需求也可能会与客户的要求偏差。
项目组对于需求变更的响应不够及时,这一点项目经理与项目管理小组要担负一定的责任。
如何有效控制需求变更?
1、明确合同约束。
需求变更给软件开发带来的影响有目共睹,在与客户签订合同时,可以增加一些相关条款,如:限定客户提出需求变更的时间,规定何种情况的变更可以接受、拒绝或部分接受,还可以规定发生需求变更时必须执行变更管理流程。不能忽视合同的约束力。
2、建立变更审批流程。
项目中,人们往往不愿意为小的需求变更去执行正规的需求管理过程,认为降低开发效率,浪费时间。正是这种观念才使需求变更变得不可控,最终导致项目的失败。因此,小的需求变更也要经过正规的需求管理流程,否则会积少成多,积重难返。
明确需求变更审批环节、审批人员、审批事项、审批流程。凡未履行审批程序的变更,一律是无效变更不予受理。
3、分级管理变更。
项目开发中“客户永远是对的”和“客户是上帝”并不完全正确,因为客户所要求的可能并不能实现,而且任何新需求的变更和增加除了影响项目的正常进行以外,还影响到客户的成本投入收益。
当客户坚持变更新需求时,可以建议客户将新需求按重要和紧迫程度划分档次,作为需求变更评估的一项依据。向客户正式提交一份需求变更计划,注明变更引起的时间、成本、工期代价和增加工作量等。
4、安排专职人员负责变更管理。
如果没有专职人员,项目中其他人员可能因为工作原因不能随时与客户沟通。因此,需要安排一名专职的需求变更人员,负责与客户及时交流,跟踪和汇报需求变更完成进度和情况。同时,可以成立项目变更控制小组,负责裁定接受哪些变更,小组由项目所涉及的多方人员共同组成,应该包括客户方和开发方的决策人员在内。
5、告诉客户变更的代价。
要让客户认识到变更都是有代价的,例如:进度延迟、费用增加、效率下降等问题。一般来说,如果客户认为该变更是必须的,就会接受这些后果。通过与客户协商,这样开发团队即使没有回报,也不会招致公司和客户双方的埋怨。