欢迎登录上海司涌软件技术公司
  • 行业新闻
  • 软件开发
  • APP开发
  • 小程序开发
  • 公众号开发
  • 知识产权
  • 互联网+
  • 行业动态
  • 邮箱:759891288@qq.com

软件公司如何应对客户频繁的软件开发需求变更?

来源:互联网 编辑:上海司涌软件技术公司 浏览量:367 次 时间:2020-08-18


软件开发需求变更对项目成败有重要影响,软件公司既不能一概拒绝客户的变更要求,也不能一味地迁就客户,所以实施软件开发需求变更之前必须做好控制。软件开发需求变更控制的目的不是控制变更的发生,而是对变更进行管理,确保变更有序进行。

软件需求变更时,如果软件开发公司缺少明确的需求变更控制过程或采用的变更控制机制无效,抑或不按变更控制流程来管理需求变更,那么,很可能造成项目进度拖延、成本不足、人力紧缺,甚至导致整个项目失败。当然即使按照需求变更控制流程进行管理,由于受进度、成本等因素的制约,软件质量还是会受到不同程度的影响。那么软件公司在实施软件开发过程中,如何尽量避免客户频繁变更软件需求呢?

1、明确合同约束,建立需求基线

对于软件开发项目,变更都无可避免,也无从逃避,只能积极应对,这个应对应该是从项目启动的需求分析阶段就开始了。对一个需求分析做得很好的项目来说,基准文件定义的范围越详细清晰,客户跟项目经理扯皮的幌子就越少。如果需求没做好,基准文件里的范围含糊不清,被客户抓住空子,往往要付出许多无谓的牺牲。如果需求做得好,文档清晰且又有客户签字,那么后期客户提出的变更就超出了合同范围,需要另外收费。这个时候千万不能手软,不能让客户养成频繁变更的习惯。

软件开发过程中,需求确定并经过评审后(客户参与评审),建立第一个需求基线。此后每次变更并经过评审后,都要重新确定新的需求基线,做到小需求可以变更,但大方向要保证不频繁变更。

2、建立变更审批流程

成功项目和失败项目的区别就在于项目的整个过程是否是可控的。项目经理应该树立一个理念——需求变更是必然的、可控的、有益的。控制需求渐变需要注意以下几点:

· 确认客户是否接受变更的代价 要让客户认识到变更都是有代价的,要和客户一起判断需求变更是否依然进行。例如,变更是没有问题的,但是要明确客户能否接受由此引起的如进度延迟、费用增加、效率下降等问题。如果客户认为该变更是必须的(不是其上级领导拍脑袋提出的)就会接受这些后果。通过与客户协商,这样软件开发团队即使没有回报,也不会招致公司和客户双方的埋怨。如果客户认为该变更虽然有必要但是可以暂缓,双方签署备忘录后留待以后解决。如果客户认为该变更可有可无,多数情况下会取消变更。这样即可防止频繁变更,也让客户认识到不是所有的需求都需要变更。

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

3、用迭代方式应对需求频繁修订

软件开发过程中,建议采用迭代开发方式,每个阶段的产品进行版本规划,这样在第一版本交付过程中,质量较好可以使客户保持对项目成功的信心,这样也可以使客户需求更加明确和完善产品,客户最关住的是研发过程中与实际后续版本提供系统构架和新技术领域的探索,在后续版本过程中不断的对运营过程中分期完善,对系统的缺陷加以修订,这样才能保障软件生命周期的延续。