如何采用敏捷方法进行需求管理?

news2024/11/24 15:46:35

产品的复杂性正在迅速增长,因此,为满足客户目标所需的需求数量也在扩大。这使得需求文档编制过程既耗时又可能存在风险。在本章中,我们将探讨如何采用敏捷方法进行需求管理。

现有的需求管理方法总是不够灵活,无法满足严格要求以及提供单一的事实来源。但是参与项目的每个人都需要最大的可见性,以了解您正在构建什么?以及为什么。

一项的研究发现,大多数设计团队都表示他们没有使用专门的需求管理系统,仅依赖繁琐的电子邮件和共享文档来管理需求,仅有15%的受访团队使用了专门的需求管理解决方案。

比起使用需求管理系统的团队,未妥善管理需求的团队可能会面临协作低效和返工等影响项目进度的问题。

一、什么是用敏捷的方法管理需求

对敏捷需求管理的定义并没有公认的定义,也没有一套如果你实施就会让你自动变得敏捷的流程。但是通过践行一些概念、流程和工具可以提高需求管理的敏捷性。

敏捷需求管理方法的核心价值在于其灵活性,这就意味着可以轻松进行迭代和变更,获得的结果更准确,可以避免交付成果偏离目标,也可以避免项目逾期。

敏捷需求收集可加快项目进度,同时准确的满足客户的需求。这一过程中协作至关重要,因为每个团队成员都需要深入了解客户的确切要求,并理解这些要求对需求管理有何影响。

与不使用敏捷需求的团队相比,采用敏捷方法进行需求管理的团队其工作效率和生产力会都有显著提高,同时可以降低低效工作时间、缩短冗长的审查过程、避免大量返工,以及所发布产品存在严重缺陷的风险。

二、敏捷需求管理在哪些方面优于其他替代方案?

敏捷需求管理重点关注行动。通过敏捷,你可以在前期创建一个灵活的框架,因此产品实施更快、更准确。相比之下,其他方法,如瀑布方法,灵活性较低,基础结构较为僵化。但是为什么呢?

因为瀑布方法遵照V 形开发流程,编码相关的步骤例如:收集需求、需求分析、开发和架构,是按照特定的顺序依次执行的。在完成上一步之前,不能进入下一步。一旦编码完成,你就会按特定的、不灵活的顺序继续进行下一个过程。

这种方法背后的策略是在前期尽可能地做更多的工作,项目早期阶段做出的任何决定都要严格遵守,没有多少变动的余地。此外,需求和设计通常在开发过程的最后阶段才进行测试,所以任何可能的变化都会在开发周期的后期出现,因此需要更多的时间来修复。

相比之下,敏捷需求管理建立在以灵活性为原则的基础之上,因此任何潜在变更都可更早识别和解决,从而最大限度地减少高成本的返工。

敏捷方法的一些好处包括:

  • 改进产品的设计和交付:面对日益增加的法规要求,物联网设备的联网需求,以及敏捷实践的扩展,应用开发与交付(AD&D)领域的领导者们希望找到一种方式,能够在他们的流程中增加可追溯性和可审计性,同时不会牺牲开发速度。根据一份最新的报告,对于采用敏捷开发方式的团队来说,优质的需求管理(RM)解决方案可以显著提高他们的产品设计和交付能力。
  • 提高可追溯性:可追溯性的好处不仅在于提高开发透明度,还能帮助团队更好地分析需求变更和项目风险。
  • 上市时间更快。要加快将产品推向市场,团队必须应对更复杂的开发要求和行业法规,衡量客户价值,以便跟踪和连接相互关联的需求。团队需要更快、更有效地进行协作,努力构建可追溯的需求和测试用例。

学习敏捷需求管理方法不仅可以让团队和客户受益,还有助于了解敏捷生命周期及其工作原理。这样可以提供一个基本的理解,帮助你更好地应用敏捷需求管理的方法。

三、通过敏捷需求管理生命周期提供更大的灵活性设计

敏捷需求管理生命周期的重点是明确定义项目的范围,以便更好地理解为实现预期的最终目标需要做什么。它提供了对商业目标的高层理解,并概述了项目成功所需要的内容。

可以考虑采取以下步骤:

  • 理解用户故事:用户故事为你提供了有关你试图解决的问题的强大信息。用户故事是对日常用例的简洁描述,描述用户期望产品如何执行。模板可能是这样的:“作为[角色],我需要[产品]执行[软件的目标],以便我能够[产品的好处]。”
  • 概述最重要的需求:基于高层次的商业策略,确定哪些需求是最重要的。这些需求可能基于用户故事,功能需求等来支持,具体取决于特定的客户目标。
  • 转化为产品功能:这个阶段是关于微调和将你收集到的详细信息转化为产品特性。开发团队协作确保任何需求都能被执行它们的人员容易理解。用户故事与特性和任务相链接,这样开发人员就明白他们需要做什么?也明白他们为什么要这么做。

敏捷需求管理帮助你建立一个基础,并使用最佳实践为你提供经过验证有效的策略,帮助你朝敏捷的方向前进。

协作与认同

对于涉及很多利益相关者的大型项目,就需求达成一致意见是一项艰巨的任务。因此,说服持不同意见的成员认可某一方案比强硬的要求他们妥协更有效。这样不仅更容易获得他们对最佳解决方案的支持,有助于做出明智的决策,也有助于推进需求管理流程。

团队协作是建立良好需求的关键。协作良好的团队会努力确保每个成员都参与进项目中,并给予反馈。当团队成员理解项目目标且努力去实现时,就更容易支持其他成员的决策。如果有开发人员、测试人员或其他利益相关者感到与项目“脱节”,团队沟通就会出现问题。“脱节”的成员会觉得自己不被认可和尊重,这样很容易拖延整个项目进度。

可追溯性和变更管理

需求可追溯性是一种让每个人都保持对项目了解的方式。从只是一个想法到最终测试阶段,需求可追溯性可组织、记录并跟踪所有需求。可追溯性被形象地比喻为枢纽环节,它可识别项目中不同要素之间的关系。下图展示了常见的下游流程示例。

 公司应能够在整个开发过程中,而不仅仅是在完成后,追溯每个需求回到其原始的业务目标。通过追溯需求,公司可以识别变化带来的连锁反应,查看他们是否已经完成了一个需求并且是否正确地测试了它。通过可追溯性,以及有效地管理变化,管理者可以预见问题并确保持续的质量。

可追溯性还确保产品满足来自不同利益相关者的所有重要需求。通过追溯需求,所有团队成员与彼此和所有的相互依赖保持连接。通过良好地管理变化,公司可以避免范围蔓延——当需求没有被清楚地捕获、理解和沟通时发生的未计划的变化。良好需求的好处是对产品和涉及的范围有清楚的理解。这导致更好的开发时间表和预算,防止延误和成本超支。

质量保证

准确的获取需求可提高工作质量,缩短开发周期,提高客户满意度。清晰、具体的需求能够帮助公司及早发现和解决问题,因为在项目开发过程中,后期解决问题的成本要比前期高出许多。研究表明,有效地管理需求可以解决50% 到 80% 的项目缺陷。Borland Software(现Micro Focus)认为,在开发过程的后期纠正缺陷的成本,可能比前期高出 100 倍。

将需求管理最佳实践整合到质量保证流程中,可以帮助团队提高效率的同时避免返工。卡耐基梅隆软件工程研究所表示,软件开发成本的 60% 到 80% 花费在返工上。也就是说,开发团队将大部分预算浪费在因为需求管理不完善而产生的问题上。

虽然需求管理最佳实践看起来很复杂,但其核心概念却很简单,它可以帮助团队回答以下问题:从业务领导到产品经理、项目负责人、开发人员、QA 经理和测试人员,是否都了解团队正在构建什么样的产品以及原因是什么?

当团队中的每个人都协作在一起,积极参与关于产品开发的讨论,清楚所有决策和变更,这样的团队一定能开发出成功的产品。

需求管理指南: 

需求管理: 需求管理主要内容  |  需求管理的重要性  |  采用敏捷方法进行需求管理  | 如何克服需求管理的 5 大挑战  |  更多 

需求编写: 功能需求的示例和模板  |  采用 EARS 方法来改进需求工程  | 如何编写一份优秀的产品需求文档(PRD) |  功能性需求与非功能性需求的区别  | 有效需求的特征  |  更多 

需求收集和管理流程: 需求工程概述  |  产品团队的需求分析指南  | 敏捷产品团队的 11 种需求收集技巧  |  定义和实施需求基线  |  更多  需求的可追溯性:什么是需求可追溯性  |  可追溯性在现代产品和系统开发中的关键作用  | 如何创建和使用需求追溯矩阵  |  更多 

需求确认和验证: 产品团队的需求验证和确认  |  更多 

需求管理领域文章:

做好需求分析的4大关键认知  |  盘点国内9款热门需求管理系统  |  构建产品路线图的方法与工具  | 做好需求优先级判断的7种主流模型  |  采用敏捷方法进行需求管理  | 更多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/893076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

薛定谔的日语学习小程序源码下载

这款学习日语的小程序源码,名为“薛定谔的日语”,首页展示了日语中的50音图,让用户能够看到日语词并跟读发音。 在掌握50音图后,用户还可以进行练习。小程序会随机提问50音图中的某一个,用户需要回答是否正确&#xf…

【nodejs】用Node.js实现简单的壁纸网站爬虫

1. 简介 在这个博客中,我们将学习如何使用Node.js编写一个简单的爬虫来从壁纸网站获取图片并将其下载到本地。我们将使用Axios和Cheerio库来处理HTTP请求和HTML解析。 2. 设置项目 首先,确保你已经安装了Node.js环境。然后,我们将创建一个…

下载安装并使用小乌龟TortoiseGit

1、下载TortoiseGit安装包 官网:Download – TortoiseGit – Windows Shell Interface to Githttps://tortoisegit.org/download/ 2、小乌龟汉化包 在官网的下面就有官方提供的下载包 3、安装

vue项目引入antDesignUI组件

快速安装ant-design-vue并配置,vue2.0 antDesign1.7.8 第一步:安装ant-deisgn-vue 1.7.8 npm install ant-design-vue1.7.8 --save第二步:配置package.json文件,将依赖写入后,npm install 安装依赖 "dependenc…

极智嘉x吉利汽车 x京东物流,引领汽车行业智慧物流新变革!

近日,中国领先的汽车制造商吉利汽车携手中国领先的技术驱动的供应链解决方案及物流服务商京东物流、全球仓储机器人引领者极智嘉(Geek),在西安吉利汽车制造基地RDC仓库率先落地SkyPick上存下拣解决方案,实现了全物流链精益化、智能化、一体化…

音视频实时通话解决方案

1、问题提出 想要实现音视频通话,对于大部分人可能会觉得很难,但是实际上,有些事情并没有大家想的那样困难,只要功夫深,铁杵磨成针。 机缘巧合下,在业务中,我也遇到了一个业务场景需要实现音视频通话,我们不可能自己从零开始干,我本次用到的核心是WebRTC。 2、WebRT…

数学建模之“聚类分析”原理详解

一、聚类分析的概念 1、聚类分析(又称群分析)是研究样品(或指标)分类问题的一种多元统计法。 2、主要方法:系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。这里主要介绍系统聚类法…

mmdetection-FasterRcnn的四层输出修改

1、 num_outs5 改为 num_outs4 2、 FPN的输出改为四层 outs [H3, H4, H5, H6] 3、strides删除一个:strides[4, 8, 16, 32]), 就可以了

【LeetCode】字符串匹配

字符串匹配问题 常见的字符串匹配算法包括暴力匹配、 Knuth-Morris-Pratt 算法、Boyer-Moore算法、Sunday 算法等 解题 思路 1: 两个指针各指向两个字符串的起始位置,先判断,两个字符串的第一个字符是否相同,如果相同的话,则将两个指针往下移动,并且判断较短字符串的下一个字符…

上海虚拟展厅制作平台怎么选,蛙色3DVR 助力行业发展

引言: 在数字化时代,虚拟展厅成为了企业宣传的重要手段。而作为一家位于上海的实力平台,上海蛙色3DVR凭借其卓越的功能和创新的技术,成为了企业展示和宣传的首选。 一、虚拟展厅的优势 虚拟展厅的崛起是指随着科技的进步&#x…

sass笔记

声明变量 通过$标识符进行命名及引用混合器 类似vue中的函数 通过 mixin标识定义 include 标识调用& 父选择器标识extend 进行继承可嵌套可导入 通过 import 文件位置’ 、进行导入 <style> //1 声明变量 $name: 15px; $color: skyblue;mixin border-radius($num) {/…

Linux配置Nginx SSL支持Https配置教程

Linux Nginx配置SSL 检查是否安装ssl模块安装SSL配置SSL证书 继承上篇 Linux安装Nginx 检查是否安装ssl模块 执行&#xff1a;./nginx -V命令 如果有输出--–with-http_ssl_module则说明已安装好SSL模块 安装SSL 进入安装目录/usr/local/nginx-1.22.1 执行安装命令&#xf…

软考笔记——9.软件工程

软件工程的基本原理&#xff1a;用分阶段的生命周期计划严格管理、坚持进行阶段评审、实现严格的产品控制、采用现代程序设计技术、结果应能清除的审查、开发小组的人员应少而精、承认不断改进软件工程事件的必要性。 软件工程的基本要素&#xff1a;方法、工具、过程 软件生…

【005】ts学习笔记【函数扩展】

函数扩展 参数类型 //注意&#xff0c;参数不能多传&#xff0c;也不能少传 必须按照约定的类型来 const fn (name: string , age : number ) : string > {return name age }let desc fn( "张三", 18) console.log(desc)可选参数与默认值 //可选的参数 和 默…

爬虫工作中代理失效了怎么处理?

Hey&#xff01;亲爱的爬虫小伙伴们&#xff0c;是不是经常在爬虫的工作中遇到代理IP失效的问题&#xff1f;别着急&#xff0c;今天我来分享一些应对代理失效的妙招&#xff01;这些方法简单易行&#xff0c;让你爬虫顺利进行. 一、为什么代理会失效&#xff1f; 在爬虫过程…

百度工程师浅析强化学习

作者 | Jane 导读 本文主要介绍了强化学习&#xff08;Reinforcement Learning&#xff0c;RL&#xff09;的基本概念以及什么是RL。强化学习让智能体通过与环境的交互来学习如何做出决策&#xff0c;以获得最大的累积奖励。文章还介绍了策略梯度&#xff08;Policy Gradient&a…

【golang】结构体及其方法的使用(struct)

函数是独立的程序实体。我们可以声明有名字的函数&#xff0c;也可以声明没名字的函数&#xff0c;还可以把它们当做普通的值传来传去。我们能把具有相同签名的函数抽象成独立的函数类型&#xff0c;以作为一组输入、输出&#xff08;或者说一类逻辑组件&#xff09;的代表。 …

onvif中imaging setting图像画质总结!

前言&#xff1a; 大家好&#xff0c;今天给大家来分享一篇关于图像质量的内容&#xff0c;这个内容是我在做onvif中的imaging setting的时候&#xff0c;关注到里面有关于: brightness(亮度)color saturation(色彩饱和度)contrast(对比度)sharpness(锐度)white balance(白平衡…

手机技巧:推荐一款手机省电、提升流畅度APP

目录 软件详情 基本介绍 软件功能 软件特色 使用方法 软件对比 结论 今天给大家推荐一款手机省电、提升流畅度APP&#xff0c;感兴趣的朋友可以下载一下&#xff01; 软件详情 黑阈app是一款非常实用的系统优化类手机APP。使用它能够禁止软件后台运行耗电&#xff0c;既…

Kafka 什么速度那么快

批量发送消息 Kafka 采用了批量发送消息的方式&#xff0c;通过将多条消息按照分区进行分组&#xff0c;然后每次发送一个消息集合&#xff0c;看似很平常的一个手段&#xff0c;其实它大大提升了 Kafka 的吞吐量。 消息压缩 消息压缩的目的是为了进一步减少网络传输带宽。而…