需求定义了产品的功能和物理需求。在某种意义上,需求充当产品开发的路线图,即为产品开发团队提供了产品应有的特性和功能的指导。尽管涉及到海量工作,但将一系列需求聚集在一起实际上还只是比较轻松的工作;管理 这些需求才是复杂的,并且通常容易出问题。事实上,Christopher Lindquist 在《CIO 杂志》的“Fixing the Requirements Mess”(消除需求混乱状况)一文中说过,“由于需求管理不佳,多达 71% 的 [嵌入式] 软件项目做不到这一点,这由此成为了项目失败的最大原因。”项目失败将导致浪费投资、增加成本和损失收入。公司如何避免这一点?
以下六个难题被确定为公司难以妥善完成需求管理的最大原因的一部分。通过解决这些难题,公司将为成功奠定坚实的基础,并有助于避免风险和项目失败。这将使公司赢得新客户、打造出更有创意的产品、获得更高的效率和盈利率。
1. 需求未明确定义
需求管理的第一步是准确捕获需求并加以定义。对于“需要什么”的困惑在很大程度上决定了需求得不到满足并增加了产品失败的机会。明确定义的要求将与客户需求关联。这让开发团队有了清晰的认识,并让工作能够专注于获得市场上的成功。需求还应该清楚且可度量,以便在其得到满足时能轻松地进行验证。
2. 对需求变更的管理不佳
如果需求保持不变,需求管理将简单得多。但是,变更是不可避免的。市场变化、新技术、竞争反应、新方法、设计缺陷和测试故障都可能导致变更。由于无法确定变更造成的所有影响并通知所有受影响的人,变更管理的效果很差。执行效果不好的变更意味着无用功、信息过时和设计冲突。这将导致成本增加和延时。
3. 缺少单一的需求数据来源
当今的产品通常涉及了多个工程学科,每个学科都对产品的相互依赖的组件有影响。每个学科都有自己的设计和开发工具。需求是跨学科的,但如果没有单一数据来源,几乎不可能全面了解产品的状况。如果存在相互依赖性但缺少单一数据来源,几乎不可能确定变更或测试故障的全部影响。
4. 需求和测试之间缺乏关联
需求定义的关键部分是如何验证它。如果需求和测试之间没有关联,您如何知道需求是否已得到满足?您如何知道哪些因素已经过验证?如果需求和测试之间没有关联,评估产品的状况将非常困难。然后,当测试失败时,回溯到需求就成为一个巨大的难题。
5. 无法在整个开发生命周期中跟踪需求
定义需求后,如果无法在其整个生命周期中进行跟踪,了解组件、子系统或产品发生的变更或问题对需求的影响以及需求变更对正在进行的工作的影响将非常困难。此外,当新产品具有类似的需求时,确定要重复使用的内容所需的时间将长得多。如果需求和生命周期资产之间没有追溯能力,管理平台设计和设计变型也会变得复杂得多。
6. 缺乏对功能性安全或标准的追溯能力
必须遵守法规或符合标准的公司需要进行很多记录。缺乏需求追溯能力的公司必须投入大量时间编写记录来证明合规。拥有追溯能力的公司在生成用于证明合规的报告和可审计记录时轻松得多,因为它们能基于法规要求自动向下追溯到细节,从而证明要求得到了满足。
通过需求管理卓越业务实践解决这些难题,公司将可以为项目成功做好更充分的准备。这种成功随后可让公司获得更高的盈利率。