需求变更的控制及管理

如何让不懂信息化的甲方客户看懂需求文档,并确认签字? 需求规格书编写完成后如何让客户快速、顺利地确认签字?这是个常见问题,每个软件项目经理和需求工程师都遇到过,要解决这个问题要从甲方客户与软件工程师两个方面进行分析和找答案。 从客户方面看,存在两个问题:一是要看得懂需求文档、二是要能放心地签字。提出需求的客户可能不是软件方面的专家,他是从自己熟悉的业务视角提出的需求,但他可能不清楚这个需求实现后的应用模式(原型、操作等),担心自己考虑不周签了字,待开发完成后与设想不同时要担责任,所以迟迟不肯签字(人之常情)。 阅读详情

作者: 不详  来源: 支点网

1、需求变更的原因分析

  需求变更的表现形式是多方面的,如老板临时改变想法、项目预算增加或减少、客户对功能的需求改变等。在IT项目中,变更可能来自方案服务商、客户或产品供应商等,也可能来源于项目组内部。虽然需求变更的表现形式千差万别,但究其根本不外乎以下几种原因:

  (1)、范围没有圈定就开始细化

  细化工作是由需求分析人员完成的,一般是根据用户提出的描述性的、总结性的短短几句话去细化的,提取其中的一个个功能,并给出描述(正常执行时的描述和意外发生时的描述)。当细化到一定程度后并开始系统设计时,范围会发生变化,那细节用例的描述可能就有很多要改动。如原来是手工添人的数据,要改成根据信息系统计算出来,而原来的一个属性的描述要变成描述一个实体等。

  (2)、没有指定需求的基线

  需求的基线是指是否容许需求变更的分界线。随着项目的进展,需求的基线也在变化。是否容许变更的依据是合同以及对成本的影响,比如软件整体结构已经设计出来是不容许改变需求范围的,因为整体结构会对整个项目的进度和成本有初步预算。随着项目的进展,基线将越定越高(容许的变更将越少),其过程如下:变更请求à比较基线à变更实现。

  (3)、没有良好的软件结构适应变化

  组件式的软件结构就是提供了快速适应需求变化的体系结构,数据层封装了数据访间逻辑,业务层封装了业务逻辑,表示层展现用户表示逻辑。但适应变化必须遵循一些松祸合原则,各层之间还是存在一些联系的,设计要力求减少会对接口入口参数产生变化。如果业务逻辑封装好了,则表示层界面上的一些排列或减少信息的要求是很容易适应的。如果接口定义得合理,那么即使业务流程有变化,也能够快速适应变化。因此,在成本影响的容许范围内可以降低需求的基线,提高客户的满意度。

2、如何控制需求变更

  按照现代项目管理的概念,一个项目的生命周期分为启动、实施、收尾三个过程。需求变更的控制不应该只是项目实施过程考虑的事情,而是要分布在整个项目生命周期的全过程。为了将项目变更的影响降低到最小,就需要采用综合变更控制方法。综合变更控制主要内容有找出影响项目变更的因素、判断项目变更范围是否已经发生等。

  进行综合变更控制的主要依据是项目计划、变更请求和提供了项目执行状况信息的绩效报告。为保证项目变更的规范和有效实施,通常项目实施组织会有一

  (1)、项目启动阶段的变更预防

  对于任何项目,变更都无可避免,也无从逃避,只能积极应对,这个应对应该是从项目启动的需求分析阶段就开始了。对一个需求分析做得很好的项目来说,基准文件定义的范围越详细清晰,用户跟项目经理扯皮的幌子就越少。如果需求没做好,基准文件里的范围含糊不清,被客户抓住空子,往往要付出许多无谓的牺牲。如果需求做得好,文档清晰且又有客户签字,那么后期客户提出的变更就超出了合同范围,需要另外收费。这个时候千万不能手软,这并非要刻意赚取客户的钱财,而是不能让客户养成经常变更的习惯,否则后患无穷。相对于需求来说,什么WBS、风险管理、计划进度都是次要的,只要需求做好了就会一帆风顺。

  (2)、项目实施阶段的需求变更

  成功项目和失败项目的区别就在于项目的整个过程是否是可控的。项目经理应该树立一个理念——“需求变更是必然的、可控的、有益的”。项目实施阶段的变更控制需要做的是分析变更请求,评估变更可能带来的风险和修改基准文件。控制需求渐变需要注意以下几点:

  需求一定要与投入有联系,如果需求变更的成本由开发方来承担,则项目需求的变更就成为必然了。所以,在项目的开始,无论是开发方还是出资方都要明确这一条:需求变,软件开发的投人也要变。

  需求的变更要经过出资者的认可,这样才会对需求的变更有成本的概念,能够慎重地对待需求的变更。

  小的需求变更也要经过正规的需求管理流程,否则会积少成多。在实践中,人们往往不愿意为小的需求变更去执行正规的需求管理过程,认为降低了开发效率,浪费了时间。但正是由于这种观念才使需求逐渐变为不可控,最终导致项目的失败。

  精确的需求与范围定义并不会阻止需求的变更。并非对需求定义得越细,就越能避免需求的渐变,这是两个层面的问题。太细的需求定义对需求渐变没有任何效果。因为需求的变化是永恒的,并非需求写细了,它就不会变化了。

  注意沟通的技巧。实际情况是用户、开发者都认识到了上面的几点间题,但是由于需求的变更可能来自客户方,也可能来自开发方,因此,作为需求管理者,项目经理需要采用各种沟通技巧来使项目的各方各得其所。

  (3)、项目收尾阶段的总结

  能力的提高往往不是从成功的经验中来,而是从失败的教训中来。许多项目经理不注重经验教训总结和积累,即使在项目运作过程中碰得头破血流,也只是抱怨运气、环境和团队配合不好,很少系统地分析总结,或者不知道如何分析总结,以至于同样的问题反复出现。

  事实上,项目总结工作应作为现有项目或将来项目持续改进工作的一项重要内容,同时也可以作为对项目合同、设计方案内容与目标的确认和验证。项目总结工作包括项目中事先识别的风险和没有预料到而发生的变更等风险的应对措施的分析和总结,也包括项目中发生的变更和项目中发生问题的分析统计的总结。

3、需求变更的处理流程

  需求变更既然不可避免,那么就必须有一套规范的处理流程。对于需求变更的处理流程应该分以下步骤:提出变更à变更评估à实施变更。

  需求变更处理流程

  因为现实世界的软件系统可能有不同的严格程度和复杂性,所以事先预言所有的相关需求是不可能的。系统原计划的操作环境会改变,用户的需求会改变,甚至系统的角色也有可能改变。实现和测试系统的行为可能导致对正解决的问题产生新的理解和洞察,这种新的认识就有可能导致需求变更。CMM提出“分配需求的变更被复审,并加入到软件项目中来”,其关键是在需求发生变更时,没有必要马上把这些变更付诸于软件开发工作之中。实际上,坚持把需求变更付诸开发努力,企业就会形成一种混乱且不稳定的氛围,进而严重破坏项目的控制和管理。需求管理关键过程试图通过把分配需求的变更囤积到可管理的组中,等到开发工作允许的时候再引人相应的方法,避免产生这种混乱的氛围。结果,需求管理创建了一个隔绝开发工作与所有真实的、潜在无序的、来自于客户的变更。这个缓冲器允许真实的变更被注意、记录、追踪,同时开发工作又不会因此而被扰乱。开发项目应该周期性地暂停来吸收最新的需求变更积累,此时,所有的计划、设计、行为都根据刚刚吸收的需求变更的影响进行更新。

  需求变更的控制当然与项目管理范畴之外的纯技术因素息息相关,比如面向对象的分析、面向对象的设计、面向对象的编码方式等等。但所有技术的发展趋势都是一样,那就是为了使变更管理变得更容易,因此,不论在项目变更控制中采取什么方法、策略,对于项目本身的变化一定要时时洞悉,处处留意,只有这样才能从真正意义上对项目进行很好的变更控制。

 

交付管理——怎样控制需求变更 项目交付过程中最大的风险来源于客户需求的变更,需求变更对项目进度和项目成本的影响很大。很少有项目会不存在需求变更,导致需求变更的因素有很多,既有甲方的原因也有乙方的原因。 本文从实操的层面来为大家讲述怎样控制需求变更,怎样减少需求变更带来的影响。 首先,在售前阶段要防范于未然。 一个项目能否成功交付,售前阶段对需求的理解非常关键。我经常看到一些初创的软件公司以大无畏的英勇气概,贸然进入自己并不熟悉的行业,费了九牛二虎之力终于赢了单,真正做起来才发现自己的报价根本兜不住交付的成本。 问题出在哪里了?对需求的理 阅读详情

相关推荐

5分钟搞懂异构图注意力网络(HAN):从元路径到节点聚合的全流程解析

本文深入解析异构图注意力网络(HAN)的核心原理与实战应用,从元路径设计到多级注意力实现的全流程。HAN通过节点级和语义级双重注意力机制,有效处理包含多种节点和边类型的异构图数据,在电商推荐、学术网络分析等场景展现卓越性能。文章提供DGL实现代码和调参技巧,帮助开发者快速掌握这一强大工具。

weixin_29056701的博客 311

如何有效管理项目需求变更

在软件项目开发实施过程中,不可避免的或大或小都会发生需求变更。需求变更对软件项目成败有重要影响,如果管理不好变更,这个项目也许永远不能按时完成,进度无限期滞后,成本严重超支,从而导致整个项目的失控。面对需求变更,可以通过合理的规划、沟通和决策管理需求变更,从而有效的控制和减轻需求变更带来的影响。

zhouhaiyang222的专栏 1466

瑞萨 RL78 开发环境实战:从 CS+ for CC 到 e² studio 高效开发

本文详细介绍了瑞萨RL78单片机开发环境的选择与配置,对比分析了CS+ for CC和e² studio的特点及适用场景。内容涵盖环境安装、工程创建、调试技巧、外设驱动开发和低功耗设计等实战经验,为开发者提供全面的RL78入门指南,帮助快速上手并高效开发。

4k5l6j7h8的博客 242

需求变更管理

需求变更管理 ​ 需求变更的定义:根据软件工程思想定义,需求说明书一般需要经过论证,如果在开发说明书经过论证以后,需要在原有需求基础上追加和补充新的需求,对原有需求进行修改或削减,都属于需求变更 ​ 软件研发项目的需求本身就有模糊、变化、主观、不确定这些特征,相较于制造、建筑等传统产业,客户变更软件需求,是软件开发与生俱来的特性,是一个无法避免的事实。 ​ 需求变更是万恶之源,为项目的正常开展带来种种不确定性。需求变更的来源是多种多样的,如客户临时改变想法、项目预算增减、技术实现方案遇到了问题等,需求

weixin_38697817的博客 3621

Kriging代理模型理论相关推导

代理模型,Kriging,加点准则

森屹的博客 1万+

微信小程序逆向实战:从HTTPS抓包到API接口全解构

方案原理优点缺点方案一:使用低版本微信+系统代理微信7.0以下版本未强制不走代理操作简单容易被封号,无法使用新版小程序方案二:Hook SSL层(Xposed/Frida)动态Hook Java的TrustManager或系统的SSLContext,绕过证书校验灵活可控需要Root/越狱,技术门槛高方案三:VPN转发抓包(PacketCapture)利用Android VPNService将所有流量转发到本地代理无需Root,兼容性好部分机型存在性能问题。

2201_76125261的博客 265

如何真正有效地应对项目中的需求变更?

建议你从达成一个最小共识开始入手,让团队意识到变更是有代价的。然后再往前一步,从源头开始深入,集中保障需求质量,争取第一次就把事情做对。另外,关于来自老板或客户的需求变更,你要快试错,巧妙应对。对本节需求变更方法论的箴言总结:“以疏治堵,源头治理,顺势而为,闭环优化,数据说话。如果你把需求变更当作洪水猛兽,各种严防死守,那么最后你很有可能身心俱疲。但如果你换一个视角,从失败中汲取教训,变堵为疏,那么需求变更就不再是你的敌人。

JavaEdge全是干货的技术号 1816

【Unity引擎技术整合】 Unity学习路线 | 知识汇总 | 持续更新 | 保持乐趣 | 共同成长

本文对Unity引擎的知识进行了一个整理总结,基本包含了Unity中大部分的知识介绍。 网上也有很多Unity相关的学习资料,但大多数都不成体系,学起来的时候难免会东奔西走的摸不着头脑。 本文整理的多数文章都是有对应的系列性文章专栏,可以更方便的进行系统学习相关知识体系。

努力前行,总会成为自己心中的那道光 15万+

项目管理中的需求变更分析和解决之道

一、令人烦恼的需求变更 作为一个软件项目经理,在项目开发进行中,你是否遇到过这样的问题:客户的一个电话,就推翻了之前你与客户、与你自己的开发团队,经过再三讨论而确认定下来的需求。之后你就重新开始了和客户、和你的开发团队进入新一轮的需求谈论中,甚至是无休止的谈论,甚至要重新设计现有的架构。 而面对这种情况,作为项目经理的你是否会说:“我们无法拒绝客户,但也无法立即满足他的新需求,所以只好是推到以后再进行完善。”或者,更极端些的想法:客户总是在异想天开,客户的需求在技术上根本无法实现…… 在与客户新的需求

好习惯成就伟大 1995

PLC批量读写优化:C# Modbus TCP多寄存器批量操作(效率提升50%)

效率提升:请求次数减少90%以上,通信耗时降低50%-95%;资源节约:减少网络带宽占用和PLC/上位机CPU负载;稳定性提升:更少的请求意味着更少的通信异常;适配高频采集:满足工业现场100ms/次的高频率数据采集需求。工业落地时需注意:批量操作的核心是地址连续化规划,提前与PLC工程师协同规划寄存器地址,是优化的前提;同时需配合重试、校验机制,确保批量操作的可靠性。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1258

lammps 案例in文件汇总

进阶案例: 聚乙烯和石墨烯界面pull out模拟代码 反应力场reax/c设置方法及案例解析 石墨烯热导率模拟代码(NEMD方法) 圆锥形SiC纳米磨削单晶硅源代码 高熵合金FeNiCrCoCu纳米压痕模拟代码 fix indent命令实现纳米摩擦及摩擦力计算 Fe原子辐照轰击多层石墨烯模拟代码 铝基石墨烯复合物压缩变形in文件源代码 石墨烯自动卷曲到Fe纳米线模拟源代码 铝/石墨烯复合物结晶过程lammps模

lammps_jiayou的博客 9445

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

Trufun UML2建模工具、Trufun Bacon  需求管理工具、 Trufun ALM全生命周期产品、Trufun 研发云管理工具等 按照现代项目管理的概念,一个项目的生命周期分为启动、实施、收尾三个过程。需求变更的控制不应该只是项目实施过程考虑的事情,而是要分布在整个项目生命周期的全过程。为了将项目变更的影响降低到最小,就需要采用综合变更控制方法。综合变更控制主要内容

企业级UML2建模工具、MDA工具、数据库建模工具、需求管理工具、集成开发平台 1148

SOME/IP协议详解「1.1·面向服务与面向信号」

面向信号和面向服务的区别,和举例子

雪云飞星的博客 5654

IPD需求变更管理怎么做?4步实现需求版本有效控制

IPD(Integrated Product Development,集成产品开发)是一套先进的产品开发管理理念和方法体系,旨在通过跨部门团队协作,高效、高质量地开发出满足市场需求的产品。在IPD体系中,需求变更管理是确保项目顺利推进、产品成功交付的关键环节。有效的需求变更管理能够在满足客户不断变化需求的同时,控制项目范围、进度和成本,保证项目目标的实现。以下将详细阐述实现需求版本有效控制的四个关键步骤。

自由之鹰 1461

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

项目管理中的(用户)需求变更控制分析

【导读】本文介绍项目管理中的(用户)需求变更控制分析   需求变更的表现形式是多方面的,如老板临时改变想法、项目预算增加或减少、客户对功能的需求改变等。在IT项目中,变更可能来自方案服务商、客户或产品供应商等,也可能来源于项目组内部。虽然需求变更的表现形式千差万别,但究其根本不外乎以下几种原因:

为天加朵云... 848

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

软件范围管理中的需求变更控制

随后,项目团队需要评估变更的影响,包括对功能、成本、进度和资源的需求。通过科学的评估方法(如影响矩阵或成本效益分析),团队可以判断变更是否值得实施,从而避免不必要的范围蔓延。无论是客户需求的变化、市场环境的调整,还是技术方案的优化,都可能引发需求变更。每次需求变更完成后,团队应进行复盘,分析变更的原因、处理过程及结果。通过总结经验教训,团队可以优化未来的变更控制流程,提高应对能力。需求变更是软件开发中的常态,但通过科学的控制机制,团队可以将其转化为项目优化的机会,而非风险来源。**需求变更的识别与评估**

jfoptl_050的博客 214
上一篇: Watir - Ruby的开源Web自动化测试框架
下一篇: TMM - 软件测试成熟度模型
chicochen
博客等级 码龄23年 2粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值