做好需求管理的四个最佳实践

news2024/10/5 12:52:02

改进您的需求管理过程可以对你的开发过程产生重大影响,所带来的益处包括:提高效率、缩短上市时间,以及节省宝贵的预算和资源。需求是最能向工程师说明要构建什么,以及向测试人员说明要测试什么的信息。

需求具有三个主要功能:

  • 定义计划创建什么样的产品
  • 确定产品需要做什么以及它应该是什么样子
  • 描述产品的功能和价值。

需求的复杂性因项目而异。需求管理计划可以是粗略想法或结构化“应该有的样子”的描述,也可以是文本、模型、从高级需求的层级结构中分化出的子需求。需求也可以是详细规范,其中包含对于产品行为或组件的功能要求描述。

高级需求有时被简称为“要求”或“目标”,软件开发实践有时将需求称为“用例”、“特性”或“功能需求”。敏捷开发方法通常将需求称为“史诗”和“故事”。无论采用何种术语,需求对于产品开发都至关重要。如果没有明确定义的需求,一个公司可能会生产出不完整或有缺陷产品。

定义需求的过程中通常涉及多个利益相关者,如用户、业务分析师、设计师、开发人员和测试人员。每个利益相关者都有自己的目标和需求,可能要求描述产品将如何为解决问题提供有价值的特性、从可用性或用户界面的角度定义需求,或者创建符合特定技术系统需求。要想成功开发产品,需要协调和整合各方需求,并实施经过验证的需求管理最佳实践。

四个需求管理最佳实践

产品和软件应用程序的开发变得越来越复杂,通常需要收集成百上千个需求才能充分定义项目或发布的范围。需求在开发过程中变更的情况并不少见,因此,团队必须秉持协作原则,能随时能访问需求,了解需求更新,并测试每个需求直至项目完成。为了有效地管理这些需求,团队需要了解需求管理工作流程的四个基本要素:

1.好的需求

良好的需求要具备可操作性。它应该提供通向解决方案的途径,团队中的每个人都应该明白它的含义。好的需求需要简洁明确,应该回答“我们需要什么?”而不是“我们如何满足需求?”有了准确的需求,利益相关者就可以理解他们在计划中的部分。如果他们缺乏这种知识,如果需求模糊不清或含糊,最后的产品可能有缺陷或失败。

2. 协作和认同

让一个公司对需求达成一致是很难的,特别是对于有许多利益相关者的大项目。实际上,不需要通过妥协达成共识。更重要的是在团队中建立认同(在管理层批准项目之前或之后),以便开发过程能够向前推进。有了认同,团队就会支持最佳解决方案,做出明智的决定,并做好必要的工作以推动需求管理过程。

团队协作是建立良好需求的关键。协作的团队努力确保每个人都对项目有贡献,并提供反馈。当有对项目目标的承诺和理解时,团队成员往往会支持他人的决定。只有当开发人员、测试人员或其他利益相关者感到“被排除在外”时,才会出现沟通问题,人们会感到沮丧,项目会被延迟。

3. 可追溯性和变更管理

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

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

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

4. 质量保证

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

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

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

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

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

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

相关文章

数据结构——栈(C语言)

需求:无 栈的概念: 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端为栈底。栈中的数据元素遵守后进先出(LIFO)原则。压栈&…

FPGA应用学习笔记-----布线布局优化

优化约束: 设置到最坏情况下会过多 布局和布线之间的关系: 最重要的是与处理器努力的,挂钩允许设计者调整处理器努力的程度 逻辑复制: 不能放置多个负载,只使用在关键路径钟 减少布线延时,但会增加面积&a…

大规模SFT微调指令数据的生成

前言 想要微调一个大模型,前提是得有一份高质量的SFT数据,可以这么说其多么高质量都不过分,关于其重要性已经有很多工作得以验证,感兴趣的小伙伴可以穿梭笔者之前的一篇文章: 《大模型时代下数据的重要性》&#xff…

【AI】百度AI助力开发,测试一下百度搜索的AI能力如何

百度搜索页面有个AI对话,点击进去看看: 是不是文心一言?它说不是。 测试一下辅助写代码功能: 1、写个爬虫: 代码: import requests from bs4 import BeautifulSoup# 目标网站的URL url "http:/…

Ubuntu虚拟机网络无法连接的几种解决方法

虚拟机网络无法连接的几种解决方法 问题状况描述可能的解决方案 问题状况描述 Ubuntu虚拟机没有网络,无法ping通互联网,左上角网络连接图标消失等情况可能的解决方案 1.重启虚拟机网络编辑器 2.重启虚拟机网络适配器 3.重启虚拟机网络服务器1.重启网络…

优思学院|五大工具:APQP、FMEA、MSA、SPC、PPAP

在现代制造业中,质量是企业成功的关键之一。为了确保产品和过程的质量,需要采用一系列有效的工具和方法。APQP、FMEA、MSA、SPC和PPAP被认定为质量管理体系的五大核心工具,这些工具不仅在汽车行业中得到广泛应用,还被其他制造领域…

生信豆芽菜-分组比较的表格

网址:http://www.sxdyc.com/visualsCliTableCompare 1、数据准备 两列的数据,最后比较这两组的样本分布 2、选择两个分组的颜色,有几个就选几个颜色,表头颜色,图片的宽度和高度,提交等待运行成功 3、结…

PHP入门基础教程 - 专栏导读

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…

148. 排序链表

题目描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3&#…

【仿写tomcat】四、解析http请求信息,响应给前端,HttpServletRequest、HttpServletResponse的简单实现

思考 在解析请求之前我们要思考一个问题,我们解析的是其中的哪些内容? 对于最基本的实现,当然是请求类型,请求的url以及请求参数,我们可以根据请求的类型作出对应的处理,通过url在我们的mapstore中找到se…

计算机控制技术|17/8|11:32

目录 1. 学习计算控制系统需要的相关知识有哪些? 2. 计算机控制系统是什么? 3. 计算机控制系统的主要研究内容是什么? 4. 计算机控制系统的主要特点是什么? 5. 计算机控制系统的性能指标主要有哪些? 6. 计算机控…

学生宿舍管理系统(前端java+后端Vue)源码

完整资料下载链接 界面介绍 登录 宿舍管理 菜单管理 角色管理 ###班级管理

Nginx常见的三个漏洞

目录 $uri导致的CRLF注入漏洞 两种常见场景 表示uri的三个变量 案例 目录穿越漏洞 案例 Http Header被覆盖的问题 案例 $uri导致的CRLF注入漏洞 两种常见场景 用户访问http://example.com/aabbcc,自动跳转到https://example.com/aabbcc 用户访问http://exa…

Java中的枚举类型

一,什么是枚举 在Java中,枚举(Enumeration)是一种特殊的数据类型,它允许我们定义一个固定数量的常量集合。枚举类型在Java中是通过关键字enum来定义的。每个枚举常量都是枚举类型的实例,它们在枚举类型中以…

【RP2040】香瓜树莓派RP2040之自定义的短按、双击、长按按键

本文最后修改时间:2022年09月15日 11:02 一、本节简介 本节介绍如何编写一个可以自己选择引脚的短按、双击、长按三种方式的按键驱动。 二、实验平台 1、硬件平台 1)树莓派pico开发板 ①树莓派pico开发板*2 ②micro usb数据线*2 2)电脑…

【数据结构】 List与顺序表及接口的实现

文章目录 什么是List常见接口介绍线性表顺序表顺序表接口的实现add在末尾新增元素在 pos 位置新增元素判定是否包含某个元素查找某个元素对应的位置获取 pos 位置的元素给 pos 位置的元素设为 value删除第一次出现的关键字key获取顺序表的长度清空顺序表 顺序表的优缺点优点&am…

网络通信原理UDP协议(第五十课)

UDP协议:用户数据包协议,无连接、不可靠,效率高 字段长度描述Source Port2字节标识哪个应用程序发送(发送进程)。Destination Port2字节标识哪个应用程序接收(接收进程)。Length2字节UDP首部加上UDP数据的字节数,最小为8。Checksum2字节覆盖UDP首部和UDP数据,是可…

网络通信原理TCP的四次断开连接(第四十九课)

FIN:发端完成发送任务标识。用来释放一个连接。FIN=1表明此报文段的发送端的数据已经发送完毕,并要求释放连接。 SEQ:序号字段。 TCP链接中传输的数据流中每个字节都编上一个序号。序号字段的值指的是本报文段所发送的数据的第一个字节的序号。 序列号为X ACK :确认号 。 …

【操作系统】24王道考研笔记——第二章 进程与线程

第二章 进程与线程 一、进程与线程 1.进程的概念 程序:是静态的,就是个存放在磁盘里的可执行文件,如:QQ.exe。 进程:是动态的,是程序的一次执行过程,如:可同时启动多次QQ程序 引…

stable diffusion基础

整合包下载:秋叶大佬 【AI绘画8月最新】Stable Diffusion整合包v4.2发布! 参照:基础04】目前全网最贴心的Lora基础知识教程! VAE 作用:滤镜微调 VAE下载地址:C站(https://civitai.com/models…