- 改进产品设计和交付。最近的一份报告表明,一流的 RM 解决方案可以显著改善敏捷开发团队的产品设计和交付。“面对日益严格的法规、物联网 (IoT) 的互联产品以及敏捷实践的扩展,AD&D [应用程序开发和交付] 领导者渴望在不牺牲速度的情况下为他们的流程带来可追溯性和可审计性。”
- 改进的可追溯性。正确的 RM 解决方案可以通过可追溯性提高开发透明度。可追溯性使团队能够更轻松地执行影响分析,这对产品开发至关重要。
- 实现更快的上市时间。团队面临着更大的复杂性和遵守行业法规的压力,需要衡量客户价值以搜索、跟踪和连接相互依赖的需求。实现更快的上市时间需要团队更快、更有效地协作,努力构建可追溯性要求和测试用例。
- 了解用户故事。用户故事为您提供有关您要解决的问题的有力信息。用户故事是对日常用例的快速描述,可能包括几句话,说明用户对产品性能的期望。模板可能是这样的:“作为 [角色],我需要 [产品] 实现 [软件目标],这样我才能 [从产品中受益]。”
- 概述最重要的要求。根据高级业务策略确定哪些要求最重要。这些要求可能由用户故事、功能要求等根据特定客户目标提供支持。
- 转换为产品功能。此阶段是关于微调和将您收集的细节转化为产品功能。开发团队通力合作,确保任何需求都能被实施这些需求的任何人轻松理解。用户故事与功能和任务相关联,这样开发人员不仅了解他们需要做什么,还了解他们为什么要这样做。
产品的复杂性正在迅速增长,因此,满足客户目标所需的需求数量也在不断增加。这使得文档编制过程耗时且具有潜在风险。在本章中,我们将研究如何采用敏捷方法进行需求管理。
现有的需求管理 (RM) 方法并不总是足够灵活,无法满足严格的期望并提供单一事实来源。参与项目的每个人都需要最大程度的可见性,以了解您正在构建的内容以及原因。
一项研究发现,大多数设计团队承认他们没有建立需求管理系统,而是依赖于繁琐的电子邮件和共享文档。此外,只有 15% 的受访团队投资了专用的 RM 解决方案。
团队对返工感到沮丧,感觉陷入了无效的协作中,并且没有从采用敏捷方法进行需求管理中获益。
什么是敏捷需求管理方法?
敏捷需求管理并没有一个公认的定义,也没有一套流程可以自动让您变得敏捷。但是,有一些概念、流程和工具可以支持敏捷需求管理方法。
敏捷需求管理方法的基础是灵活性。灵活性意味着您可以轻松迭代和进行更改,从而获得更准确的结果,避免交付偏离目标和错过最后期限。
敏捷需求收集的重点是更快地开发产品,同时更准确地满足客户的需求。协作至关重要;团队中的每个人都必须牢牢理解客户的真正需求及其对 RM 的影响。
相比之下,不使用敏捷需求的团队容易出现工作时间效率低下、审核流程冗长、返工过多甚至发布产品出现严重缺陷的情况。
1. 敏捷需求管理如何胜过其他方法?
敏捷需求管理主要关注行动。通过敏捷,您可以预先创建一个灵活的框架,因此产品实施更快、更准确。相比之下,其他方法(如瀑布方法)灵活性较差,并且建立在僵化的基础上。但为什么呢?
瀑布方法使用 V 形开发流程。编码所涉及的步骤(例如发现、需求、系统工程和架构)按特定顺序执行。在完成前一步之前,您无法进入下一步。编码完成后,您将继续以特定且不灵活的顺序完成下一个流程。
这种方法背后的策略是,您尽可能多地提前完成工作,并且严格遵守在项目早期阶段做出的任何决定,没有太多的更改空间。此外,需求和设计通常直到开发过程的最后阶段才经过测试,因此任何潜在的变化都会在开发周期的后期出现,因此修复起来更耗时。
敏捷需求管理建立在灵活性原则之上,因此任何潜在挑战都可以在流程的早期就被识别和解决,从而最大限度地减少昂贵且代价高昂的返工。敏捷方法的一些好处包括:
当您努力了解敏捷需求管理方法如何使您的团队和客户受益时,对敏捷需求生命周期及其工作原理有基本的了解也会有所帮助。
通过敏捷需求管理生命周期实现更大的设计灵活性
敏捷需求管理生命周期专注于明确定义项目范围,以便您更好地了解需要做什么才能实现预期的最终目标。它提供了对业务目标的高级理解,并概述了项目成功所需的条件。请考虑采取以下步骤:
敏捷需求管理有助于为您提供构建基础,最佳实践为您提供经过验证的有效策略,帮助您朝着敏捷方向发展。
2. 协作和认同
很难让一家公司就需求达成一致,尤其是对于拥有众多利益相关者的大型项目。实际上,没有必要通过妥协达成共识。更重要的是让团队认同(在管理层批准项目之前或之后),这样开发过程才能向前推进。有了认同,团队就会支持最佳解决方案,做出明智的决定,并采取必要措施推进需求管理流程。
团队协作是建立良好需求的关键。协作团队会努力确保每个人都参与项目并提供反馈。当团队成员对项目目标有承诺和理解时,他们往往会支持其他人的决定。当开发人员、测试人员或其他利益相关者感到“脱节”时,就会出现沟通问题,人们会感到沮丧,项目也会被推迟。
3. 可追溯性和变更管理
需求可追溯性是一种让每个人都了解情况的方法。它组织、记录和跟踪所有需求,从最初的想法到测试。可追溯性的一个简单比喻是连接各个点以识别项目中各项目之间的关系。下图显示了一个常见下游流程的示例。
公司应该能够在整个开发过程中将每个需求追溯到其最初的业务目标,而不仅仅是在需求完成后。通过追踪需求,公司可以识别变更产生的连锁反应,查看他们是否已经完成需求以及是否对其进行了适当的测试。通过可追溯性,以及通过有效地管理变更,管理人员可以获得预测问题并确保持续质量的可见性。
可追溯性还可以确保产品满足来自不同利益相关者的所有重要要求。通过追踪需求,所有团队成员都可以彼此保持联系,并与所有相互依赖关系保持联系。通过妥善管理变更,公司可以避免范围蔓延——当需求没有被清楚地捕获、理解和传达时发生的计划外变更。良好的需求有助于清晰地了解产品及其涉及的范围。这样可以制定更好的开发计划和预算,从而防止延迟和成本超支。
4. 质量保证
第一次就正确获取需求意味着更好的质量、更快的开发周期和更高的客户对产品的满意度。简洁、具体的需求可以帮助公司尽早发现和解决问题,而不是等到问题发生后再修复,因为等到问题发生后修复的成本要高得多。
研究表明,通过有效地管理需求,项目团队可以消除 50% 到 80% 的项目缺陷。此外,根据 Borland Software(现为 Micro Focus)的说法,在开发过程的后期(编码后)修复缺陷的成本可能比仍以书面形式修复缺陷的成本高出 100 倍。
通过将需求管理最佳实践整合到质量保证流程中,公司可以帮助团队提高效率并消除返工。根据卡内基梅隆软件工程研究所的数据,软件开发成本的 60% 到 80% 都花在了返工上。换句话说,开发团队将大部分预算浪费在了第一次没有正确执行的工作上。
需求管理最佳实践可能看起来是一个复杂的话题,但从本质上讲,它是一个简单的概念。它可以帮助团队回答这个问题:每个人——从业务主管到产品经理和项目负责人,再到开发人员、质量保证经理和测试人员——是否都了解正在构建什么以及为什么构建?
当每个人都在协作并且对产品开发中涉及的讨论、决策和变化有充分的背景和可见性时,他们就能保持高质量,并且几乎总能确保成功。