需求变更控制有哪些先进技术?

需求变更是软件开发人员心中永远的痛。

每次需求变更,软件开发人员就无条件接收,实施软件更改,频繁的变更绝对会让软件开发人员欲生欲死。难道就没有什么办法来控制需求变更吗?降低变更对软件项目的影响,减少变更,甚至杜绝变更,这些美好的愿望有可能实现吗?

需求变更控制,不仅在于变更发生之后怎么应对,更重要的是做好需求分析和管理,在项目早期做好需求开发,将需求变更的源头尽可能地消灭,才是解决需求变更问题之道。

下面的一些优秀实践有可能帮助你达成愿望:

  • 使用联合应用设计来收集最初需求

联合应用设计可以让用户更早地接触到将来交付的软件产品,因此可以帮助用户确定自己想要的软件使用需求,如果前期收集的所有需求都是用户真正想要的,那么用户就不会在软件开发过程中提出需求变更了。

  • 对质量需求,使用质量功能展开

质量需求是很难定量地描述。不能定量地描述就无法有效地设计和测试。QFD也许是一个有益的帮助手段。通过质量功能展开,可以把用户的质量需求转化为设计要求。鉴于它在健壮设计体系中发挥的巨大作用,相信它也会给软件质量需求的分析和确认带来帮助。

  • 对于安全性分析和安全漏洞预防使用安全专家

除了质量需求,安全性需求也不是很好表述清楚。如果在分析安全性需求时有安全专家在场,可能会更容易把需求定义清楚。

  • 对于新软件的主要功能使用原型开发

有些软件功能只是用户的奇思妙想,这类功能用户和开发人员都没有类似的实物,这种情况下最好要先开发出软件原型,软件开发人员通过原型不断和用户确认,这样可以帮助用户尽快确定原本停留在想象中的功能需求。

  • 通过挖掘遗留应用,以获取新项目的需求和业务规则

对于有些用户不能说清楚的需求,可以通过分析遗留的类似软件的功能,帮助用户确认新的需求。

  • 让用户参与敏捷项目开发

采用敏捷的开发方式,让用户更多地参与到项目中来,完成一部分需求,就让用户确认一部分需求,也会大大减少后期需求的变更。

  • 确保需求被清楚地表示,并且很容易理解

需求的描述要满足可读性、准确性的要求,这有助于软件开发人员与用户对需求达成一致理解,避免因歧义而产生的需求变更。

  • 用户和供应商双方都是用正规的需求审查

用户和开发方应采取正规的需求评审对需求进行确认。

  • 创建一个客户供应商联合变更控制委员会

用户要理解,需求变更未必都是对用户有利的。有些变更,虽然会给用户使用上带来些许便利,但可能同时影响软件的稳定性。所以,每次需求变更,用户应当征求开发者的意见,通过用户和开发方的联合评审。

  • 为特定功能的变更,选择对应领域里的专家

一些专业性很强的功能,它的需求分析和变更都需要有对应领域的专家的加入,以免出现南辕北辙的事情。

  • 确保需求的可跟踪性

需求管理非常重要的实践——需求跟踪。通过需求跟踪,可以确定需求的状态,辅助控制需求的变更。

  • 需求变更的多版本分割

需求的变更必须要做好版本控制。也许变更之后的结果证明还是原来的方案更合适,如果没有版本控制,就悔之晚矣。

  • 使用自动化需求分析工具

借助自动化需求分析工具,可以避免一些不该出现的人工错误的发生,可以缩短变更的工期。

总之,使用联合应用设计,仔细需求分析,需求审查以及圆形可以使需求过程在技术和管理控制之下。

参考书目:《软件工程最佳实践》

需求变更控制有哪些先进技术?》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/3375.html