- 需求准确地定义了利益相关者的需求。
- 需求是可测试的。
- 避免范围蔓延。人们很容易想添加“一个小小的新需求”来让客户满意。但这些小变化累积起来可能会对未来的活动产生影响,例如测试、文档等。
- 抵制“过度设计”的冲动。过度设计可能很诱人,尤其是当您想要确保一切都适合客户时。但这种过度热情可能会适得其反。因为“我正在做这件事,我也可以做那件事”而添加一些额外的代码可能看起来合乎逻辑,但这些变化可能会产生连锁反应,使未来的需求面临风险。
没有建立足够的反馈和评论。早期反馈对于项目的成功至关重要。建立频繁的评论和可靠的可追溯性,以便经常和尽早获得反馈。 - 未能彻底搜索所有重要的利益相关者。您可能认为您已经包括了所有重要的利益相关者,但后来才发现您错过了一个。在流程早期投入时间,找到所有重要的利益相关者,以避免在流程后期进行昂贵的返工。
未能在流程早期识别潜在阻力。阻力可能是一个看不见但很严重的项目问题。学会在流程早期识别阻力,这样您就可以高效、尽早地解决它,让每个人都达成共识。 - 意识到这些潜在的陷阱可以在 RE 过程中节省您的时间、金钱和资源。此外,查看您现有的流程以及它们是否包含足够的可追溯性。例如,如果每个需求都与至少一个测试相关联,那么确保可交付成果满足要求就会容易得多。可追溯性是此过程的重要组成部分。
- 清晰度和可见性。更广泛地了解您正在构建的内容及其原因。
- 实时可追溯性。通过完整的可追溯性确保产品质量并改进变更管理。
- 决策跟踪和快速审查。对需求、测试用例、用户需求等进行虚拟审查。
- 实时协作。立即记录并确定重要决策的优先顺序,吸引所需的利益相关者并参考历史背景以消除沟通错误。
需求管理 (RM) 对许多公司来说都是一个挑战,部分原因是软件开发中存在模糊性。首先,您必须了解客户的需求。其次,您必须将这些需求与关键流程相匹配。
需求管理是需求工程 (RE) 的一个组成部分,它弥合了客户需求与开发人员创建的内容之间的鸿沟。如果做得好,需求工程能够为软件开发创建一个坚实的框架。这一点至关重要,因为糟糕的软件工程需求管理是许多项目失败的根源。
CIO 杂志的一项研究发现,“分析师报告称,多达 71% 的失败软件项目都是因为需求管理不善,这是项目失败的最大原因。”
1999 年,美国宇航局建造了耗资 1.25 亿美元的火星气候探测器。该探测器失败的原因是它进入的轨道距离火星太近了 100 公里。错误的根源是不同需求之间的冲突;消除此类冲突是需求工程的重要组成部分。
了解需求工程和最佳实践所涉及的细节可以帮助您成功满足客户期望。
什么是需求工程?
客户在创建新软件时会列出一长串目标,而需求工程则为实现这些目标提供了框架。重要需求被盘点并转化为详细的需求集。需求开发决定了未来的开发活动,并为成功制定了蓝图。
“需求管理”和“需求工程”这两个术语经常互换使用,但它们是不同的。需求管理是需求工程的一部分,正确使用它会带来很大的不同。
需求工程确保客户想要解决的问题得到明确定义,并且解决方案既准确又有效。从本质上讲,需求工程将现实世界的问题转化为功能强大的软件解决方案。
需求工程流程的 4 个步骤
需求工程流程存在许多潜在陷阱。加强需求工程流程可让您避免许多常见挑战。该流程可充当指南针,指导您确定确切的可交付成果,并提高准确性。所有重要方都对需要采取哪些步骤才能实现预期结果达成共识。通过考虑以下事项来加强需求工程流程:
引出需求。引出是指熟悉与项目相关的所有重要细节。客户将提供有关其需求的详细信息并提供关键背景信息。您将研究这些细节,并熟悉类似类型的软件解决方案。此步骤为开发提供了重要的背景信息。
需求规范。在规范阶段,您将收集功能性和非功能性项目需求。在此阶段使用各种工具,包括数据流图,以更清晰地了解项目目标。
验证和确认。验证可确保软件按照客户要求构建。相反,确认可确保软件正在实现正确的功能。如果需求未通过确认阶段,则可能会出现耗时且昂贵的返工。
需求管理。需求管理是一个持续的过程,与刚刚描述的其他三个过程并行运行。在需求管理中,您将所有相关过程与其需求相匹配。您将分析、记录和确定需求的优先级,并与相关利益相关者沟通。任何需要修改的需求都会以高效和系统的方式处理。
在实施需求管理的不同组件时,它还可以帮助您了解哪些内容应从需求中排除。了解这一点将有助于您更准确地专注于开发需求并更好地满足客户期望。
哪些信息应从需求中排除?
需求应被视为解决问题,但不一定提供解决方案。需求应该清楚地说明您想要解决什么问题,而不是您想要如何解决它。让我们来看看良好需求的指导原则:
需求需要清晰易懂,没有歧义的风险。开发良好需求的一个重要步骤是审查过程。需求是否准确地表达了利益相关者的需求?确保建立足够多的客户评论,以便您可以获得早期反馈并根据需要进行调整。
应避免的常见错误
在开发 RE 框架时,可能会遇到许多挑战。了解潜在问题可以帮助您避免这些问题。在开发流程时,请考虑以下事项:
然后,工程师可以将精力投入到未通过测试的需求中,并迅速让项目回到正轨。
利用正确的工具获得成功
需求工程对于项目的成功至关重要,因为它会告诉参与项目的每个人需要做什么。例如,需求越准确,项目经理就越容易安排开发任务。需求管理软件工具可以极大地支持成功的 RE,因为它可以实现更高效、更优化的产品和系统开发。
这种类型的工具可以提供:
正确的工具可以帮助您转变 RM,因为您可以轻松地跟踪、审查、签署并真正了解您做某些事情的方式和原因。因此,您可以简化产品开发流程并提高效率,了解和响应变化,并建立更高水平的清晰度和可见性。
下载我们的解决方案概述,了解 Jama Connect 如何帮助需求工程。