敏捷开发04:Scrum 中的 Product Backlog(产品待办列表) 详细介绍

Product Backlog 产品待办列表

在计划开发产品功能时,都希望产品功能上线后,用户能够喜欢并经常使用。

因此在开发产品新功能时,就要衡量哪些产品需求是对用户最有价值,这是最应该思考的问题。
然后把这些有价值的需求集合放在一起。当然,也有与需求实现相关的其它工作项。

在 Scrum 框架中,把产品待开发的功能集合放在一起就叫产品待办列表(Product Backlog)。它是 Scrum 团队实现产品目标所需完成的所有工作项的集合,是 Scrum 团队进行工作规划和执行的来源。它由产品负责人维护。

英文 backlog 意思是:大量堆积、积压的事物或工作,也指“尚未完成的工作”,或“需要尽快处理的事情”。

在产品待办列表中的工作项叫产品待办事项(Product Backlog Item)。

如果待开发功能很多,那哪些功能优先开发?这就需要对产品待办列表里的功能集做一个优先级排序,优先级高的率先开发。

当然,随着开发的持续进行,产品待办列表中可能有不止功能性需求,还有非功能性特性。
比如:bug缺陷修复、基础技术任务、比较大的用户故事(Epic)、代码改进、架构优化、功能优化等等。

image

产品待办项的需求来源

image

需求主要来源:

客户调研、反馈,用户调研、反馈,市场调研,公司高层,数据分析,产品经理,Scrum 团队成员,竞品分析等。

产品待办列表特点

  • 1、优先级排序:产品待办列表是一个按照优先级从高到低进行排序的产品功能列表。它包含了产品有价值的需求、Bug修复、特性等列表项。

  • 2、动 态 变 化:产品待办列表是一个动态变化的列表,随着项目功能不断开发,市场不断变化,用户持续的反馈,获取的信息和知识也越来越多,产品负责人可能会不断的更新项目列表,添加新的需求或特性、调整优先级、移除不再重要的功能等等。

  • 产品待办列表的持续更新和改进有助于团队适应变化,并持续提供价值。

  • 3、需求细节详情:把将要在下一个迭代(Sprint Backlog)中完成的待办项,描述时包含足够的细节。比如用户故事,大小合适并且符合 INVEST 原则,用户故事三要素俱全,分解成故事点(用于估算工作量)。

  • 4、透 明 性:产品待办列表是 Scrum 团队实现产品目标所需完成的所有工作项的集合,确保团队成员都清楚产品要完成的工作项、方向和目标。团队成员需要完成哪些工作都是来自这里。

  • 5、工作集:上面已经说明,产品待办列表是 Scrum 团队实现产品目标所需完成的所有工作项的集合。

image

产品待办列表管理

产品待办列表(Product Backlog)是由产品负责人(Product Owner)负责管理的。
随着产品功能不断开发,用户持续反馈,市场不断变化,获取的知识增多,涌现新的想法,待办列表里的工作项会不断进行改变和调整。待开发项(item)是随用户、市场不断变化、持续演进的。

image

(from:https://www.visual-paradigm.com/cn/scrum/what-is-product-backlog-in-scrum/1000)

那怎么管理变化,把这种变化反映到开发项中呢?那哪些又是不变的呢?

产品愿景。这是不变的,它将作为指导产品待办列表中工作项的创建、移除、修改。

变化的工作项,定期进行梳理,可以用 梳理会议 来进行管理。产品负责人可以通过定期举办梳理会议来梳理产品待办列表。

梳理会议 的一些关键活动:

  • 1、梳理产品愿景。
  • 2、创建、移除、调整产品待办列表项。
  • 3、拆分大的待办项,比如 Epic(史诗)。产出合适大小的用户故事。
  • 4、澄清待办项。
  • 5、排列、修改优先级排序。
  • 6、利益相关者的沟通。
  • 7、产品阶段性目标。
  • 8、待办项的估算。

会议参与方:

产品负责人、Scrum Master、产品开发人员、业务部门人员(市场、销售、业务、客服等)、产品经理、产品设计人员

为什么会有这么多人参与呢?

  • 因为产品待办项的内容来源,是由上述人员或部门提出的。他们会根据市场需求、用户反馈、功能改进、技术重构等因素提出新的需求或改进点。

注意点,整理待办项时需注意点:

  • 这时候需求不需要事无巨细,做到最基本的描述,力求简洁。
  • 可以用户故事来描述需求,用卡片方式,前一节有讲解。
  • 低优先级的需求条目可能数量大,而且是粗粒度。
  • 非功能性需求,尽早描述详情,因为可能对整个产品体验产生很大影响。

用户故事拆分方法

把比较大的故事比如 Epic,拆分成小的故事。用户故事的一些拆分方法:

  • 按照工作流程步骤拆分。要完成一个故事,需要哪些步骤,按照一个步骤一个步骤来进行拆分。
  • 按照不同业务规则拆分。
  • 按照操作来拆分。比如增加、删除、管理等操作来进行拆分。
  • 按照依赖先后顺序拆分。比如一个故事开发依赖后一个故事,那么这个后一个故事先开发。
  • 按简单/复杂进行拆分。比如先做简单的故事,后做复杂的故事。

产品待办列表优先级评估介绍

产品待办列表里有很多待办项,哪些待办项首先做,哪些后面做?可以对待办项进行优先级评估然后排序。

对这些待办项进行排序后,接下来,在冲刺(Sprint)计划会议就可以安排哪些待办项先进行开发。

优先级评估的原则依据有哪些?

  • 价值(用户价值和商业价值)
  • 成本
  • 实现难度
  • 风险大小
  • 可发布性

image

用户价值、商业价值

做产品,是解决用户问题,给用户带来价值。需经常问自己:“做这个需求能给用户解决什么问题带来什么价值;不做呢?产品会有什么损失,用户会有什么损失?”
当然,更希望产品给公司带来商业价值。

成本

估算实现的成本。比如人工成本,工作量大小,协同成本。

实现难度

实现这个需求或特性,技术难度高不高。比如:实现此需求代码改动大;需进行技术预研;依赖其它需求的实现等等。
需求细化成更小故事后,可以用工作量来衡量。

风险大小

做需求或特性,风险点有哪些,然后进行讨论评估。比如说做创新产品,不确定性肯定高。

可发布性

对于产品功能,开发后的产品增量需要尽快发布,更早得到用户反馈。

优先级评估方法或模型介绍

产品待办列表的需求评估优先级,可以采用多种方法,下面列举一些常见评估方法。

KANO 模型

此模型通过客户对功能满意度来确定优先级,将功能分为必备型需求、期望型需求、魅力型需求、无差异需求、反向型需求。

from: https://baike.baidu.com/item/KANO%20%E6%A8%A1%E5%9E%8B/19907824

image

KANO模型需求分类:

  • 必备型需求(属性 )(一定要有):有的也译作基本型需求(属性)。用户认为理所应当、必须要有的需求,这些需求必须被满足。当这些需求不被满足时,也就是不提供这些需求,用户满意度会大幅降低;当这些需求被满足时,用户满意度不会得到提升。例如:手机打电话、发短信。

  • 期望型需求(属性):满足此需求时,用户满意度会提升;不满足此需求时,用户满意度会降低。

  • 魅力型需求(属性):用户对这种需求没有太大期望,需要产品经理对用户有深刻的洞察才能挖掘到此隐性需求,属于给用户惊喜的需求。不满足此需求,用户满意度不会降低;满足此需求,用户满意度会急剧提升。有时是产品很 有竞争力的体现。

  • 无差异需求(属性):无论是否满足此需求,对用户满意度都不会产生影响。

  • 反向型需求(属性):有无此类需求,用户根本不在意。若满足此需求,用户满意度反而会下降。

它们的优先级排序为:
必备型需求 > 期望型需求 > 魅力型需求 > 无差异需求

四象限法

四象限法是按照 重要紧急 2 个不同的纬度进行划分,将需求放在二维或三维角度进行优先级的决策。

按重要和紧急 2个维度,将需求任务划分为【重要且紧急】、【重要不紧急】、【不重要但紧急】以及【不紧急不重要】四类。

image

需求任务分成四个象限:重要紧急 > 重要不紧急 > 不重要但紧急 > 不重要不紧急

  • 重要紧急:重要紧急的需求任务,对产品影响很大,第一时间处理。
  • 重要不紧急:这种类型的任务可以把它纳入计划,按计划完成。
  • 不重要但紧急:如果任务小花费时间少,可以马上去执行完成。如果比较耗时,可以另外安排时间或交付给他人去做。
  • 不重要不紧急:可以尽量不做。

注意点:

紧急不等于重要:紧急的任务,不等于重要的任务。比如当我们时刻关注用户反馈,每天都有很多问题,这些有的是紧急但对产品影响不大的问题,在某个时间点完成就可以,对最终结果影响不大。

需求是变的:一般我们都是关注重要且紧急的任务,但是随着需求的调整,其它类型的任务也会上升到重要且紧急的任务象限内。

RICE 框架

RICE 这个框架由 Intercom提出,旨在平衡成本和收益的系统,对需求进行评估。

RICE 框架是一种量化需求优先级的模型,通过 4 个维度来给需求打分,然后算出最终得分。通过比较每个需求的得分来排定需求优先级顺序。

image

(from:intercom:rice-simple-prioritization-for-product-managers)

RICE 框架是由 4 个英文单词的首字母组成,代表的意思分别是:

image

  • ®each触达的广度。需求覆盖的用户广度,触达的用户数量或比例,在给定时间内影响多少产品用户。可以通过埋点获取指标、百度统计等系统来统计一段时间内的一些指标。

比如“每个季度影响多少客户”。例如 项目 1:每月有 500 名客户到达注册漏斗中的此点,其中 30% 选择此选项。每季度覆盖率为 500 × 30% × 3 = 450 名客户

  • (I)mpact影响的深度。需求对每个用户影响的深度。比如 “当客户使用该功能时,该功能将提高多少转化率?20% 提高到了 27% 吗?”。这个指标很难准确评估,这部分评估更加主观一些。

Intercom 对这种主观评估提供了一种评分方法,如下:

Intercom 用 3 - 0.25 的量表来评分:

  • 3 表示 “影响力巨大”。
  • 2 表示 “影响力高”。
  • 1 表示 “影响力中等”。
  • 0.5 表示 “影响力低”。
  • 0.25 表示 “影响力最小”。

这些数字会乘以最终得分,以将其调高或调低。

  • ©onfidence对需求的信心。表示产品经理对该功能或需求的实现难度和成功率的信心,更多是产品经理对需求和用户痛点的理解程度,对估算的信心水平,可以用百分比来表示。

Intercom 提供了一种量表来表示,如下:

用一个百分比量表来表示,避免决策困难

  • 100% 表示 “高度信心”。如果有定量的数据支撑 Reach,定性的数据支撑 Impact,且开发评估了较准确的 Effort,那么 Confidence 就是 100%。
  • 80% 表示 “中等”。有定量的数据支撑 Reach,开发也评估了 Effort,但是 Impact 没有数据支撑,那么 Confidence 就是 80%
  • 50% 表示 “低”。有数据支撑,但是数据的可信度较低,Effort 的波动也可能较大,那么 Confidence 就是 50%.
  • 低于这个数字就是 “完全不可能”

请诚实地问自己:你的估计到底有多少信心支持?

  • (E)ffort工作量。研发的成本,表示开发该功能或需求所需的工作量和资源投入,多个团队合作的人,比如有市场、商务等,涉及团队越多成本越高。工作量预估不确定因素较多。有一些方法:比如人天来估算;以故事点来估算。

Intercom 是用人月来估算-即是一名团队成员一个月能完成的公工作。他坚持使用整数(或 0.5,用于一个月以下的工作),以保持粗略的估计。

Intercom 中关于 RICE 分数的计算:

  • Reach:这将影响多少人?(在规定的时间段内进行估算。)
  • Impact:这将对每个人产生多大影响?(巨大 = 3 倍,高 = 2 倍,中 = 1 倍,低 = 0.5 倍,最小 = 0.25 倍。)
  • Confidence:对需求成功的估算有多大信心?(高 = 100%,中 = 80%,低 = 50%。)
  • Effort:这将需要投入多少“人月”?(使用整数且最少半个月 - 不要陷入估算的泥潭。)

image

(from:intercom:rice-simple-prioritization-for-product-managers)

MoSCoW 模型

MoSCoW 模型是一种需求优先级管理模型。

  • M(Must Have):必须有的功能。这些功能必须要实现的,没有这些功能,产品不能发布。这些都是产品成功的关键任务,通常是最小的 MVP 任务。代表最高优先级

  • S(Should Have):应该有的功能。这些功能重要,但不是必须,如果时间不急或有其它方式来实现,可以推迟到下一个阶段或稍后来实现。代表次高优先级

  • C(Could Have):可以有的功能。这些功能是客户期望的,锦上添花的功能,但不是必须的,可以提高客户体验或客户满意度。如果时间允许资源充足,就可以实现这些功能;如果没有时间,就会在下一个阶段做。代表次次高优先级

  • W(Won’t Have):不需要的功能,回报率很低,不会列入当前开发计划中。代表最低优先级

产品Backlog需求清单模板

产品负责人维护管理的一个已排序,已估算,有用户或商业价值度量的一个需求清单列表。每次开会时可对这个列表进行增加、调整列表里的需求。

一般会用在线敏捷开发软件来记录产品backlog需求清单。简单的话可以用 Excel 表格记录。

清单模板如下图:

image

这只是一个示例模板,里面的每一格标题(如商业价值、实现难度等等)可以根据自家需求情况进行增加、删除和调整。

欢迎到公号评论:敏捷开发:Scrum 中的 Product Backlog 详细介绍

参考资料

  • https://www.intercom.com/blog/rice-simple-prioritization-for-product-managers RICE 框架
  • https://www.visual-paradigm.com/cn/scrum/what-is-product-backlog-in-scrum/1000

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# 探险之旅:第一节 - 我的第一个C# 程序

说明:教程针对初学者入门到精通的整个教程,采用连载的方式,会不定时更新。时间多的话可能会更新多一些。 一、首先,我们需要去微软官方下载vs2022安装程序,然后在自己的计算机中安装完编程的IDE程序。 二、假设我们已…

Ubuntu24.04配置STMTrack

项目地址:https://github.com/fzh0917/STMTrack 一、安装 CUDA 参考链接: Ubuntu24.04配置DINO-Tracker Ubuntu多CUDA版本安装及切换 由于之前在其他项目中已经安装了 CUDA12.1,这次需要安装另一个版本。 1. 查看安装版本 按照 requireme…

Luckysheet 实现 excel 多人在线协同编辑(全功能实现增强版)

前言 感谢大家对 Multi person online edit(多人在线编辑器) 项目的支持,mpoe 项目使用 quill、luckysheet、canvas-editor 实现的 md、excel、word 在线协同编辑,欢迎大家Fork 代码,多多 Start哦~ Multi person online edit 多人协同编辑器…

workflow笔记

workflow 介绍 搜狗公司C服务器引擎,编程范式。支撑搜狗几乎所有后端C在线服务,包括所有搜索服务,云输入法,在线广告等,每 日处理数百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数后端与…

【Vulkan入门】09-CreateFrameBuffer

目录 先叨叨git信息关键代码VulkanEnv::FindHostVisitbaleMemoryTypeIndex()TestPipeLine::CreateFramebuffers() 与网上大多数文章不同,其他文章基本上都使用窗口框架(X11、GLFW、WSL等)提供的surface来显示Vulkan渲染出的图像。我认为那样会…

【人工智能】5G-A技术及应用

文章目录 前言一、5G-A基本概念及产业进展1、5G-A概述2、移动通信发展历史:不断扩大联结规模,扩展业务边界的过程3、标准Ready:首版本R18将于2024年H1冻结4、标准Ready:IMT2020完成5G-A技术测试5、频谱Ready:超大带宽是实现万兆体验的基础6、5G-A全球商用…

与 Cursor AI 对话编程:2小时开发报修维修微信小程序

本文记录了如何通过与 Cursor AI 对话,全程不写一行代码的情况下,完成一个完整的报修小程序。整个过程展示了 AI 如何帮助我们: 生成代码 、解决问题、优化实现、完善细节。 先看一下效果图: 一、项目配置 首先我是这样和 AI 对…

多模态大语言模型 MLLM 部署微调实践

1 MLLM 1.1 什么是 MLLM 多模态大语言模型(MultimodalLargeLanguageModel)是指能够处理和融合多种不同类型数据(如文本、图像、音频、视频等)的大型人工智能模型。这些模型通常基于深度学习技术,能够理解和生成多种模…

机器学习:全面学习路径指南

摘要: 本文精心规划了一条从入门到精通机器学习的学习路线,详细涵盖了基础理论构建、核心技术栈掌握、主流算法学习、实践项目锻炼以及前沿领域探索等多个关键阶段。通过逐步深入各个层面,介绍必备的数学知识、编程工具、经典与现代机器学习算…

Kingbase V8R6 数据库自动(逻辑)备份、删除脚本-Linux

脚本说明 1.该脚本为Linux环境下自动备份、删除Kingbase数据库备份脚本(逻辑备份); 2.执行脚本前,请先对脚本进行修改后,再使用。脚本效果 1.执行脚本时,若备份目录不存在,则自动创建备份目录…

网络应用技术 实验六:通过 DHCP 管理园区网 IP 地址(华为ensp)

一、实验简介 构建园区网,通过 DHCP 服务器为全网的用户主机提供 IP 地址。 二、实验目的 1 、理解 DHCP 的工作原理; 2 、掌握 DHCP 服务器的创建和配置方法; 3 、掌握将 VirtualBox 虚拟机引入 eNSP 的方法; …

Elasticsearch使用(2):docker安装es、基础操作、mapping映射

1 安装es 1.1 拉取镜像 docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/elasticsearch:7.17.3 1.2 运行容器 运行elasticsearch容器,挂载的目录给更高的权限,否则可能会因为目录权限问题导致启动失败: docker r…

Flink 核心知识总结:窗口操作、TopN 案例及架构体系详解

目录 一、FlinkSQL 的窗口操作 (一)窗口类型概述 (二)不同时间语义下窗口实践 EventTime(事件时间) ProcessTime(处理时间) 二、窗口 TopN 案例解析 三、Flink架构体系 &…

Vscode配置自动切换node版本

Vscode配置自动切换node版本 问题描述 开发环境安装了很多Node JS版本,项目经常切换也常常忘记了使用了什么版本,所以最好在打开项目terminal,安装依赖,启动项目前自动设置好版本 具体配置 .vscode/settings.json中,添加如下代…

【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行

文章目录: 【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行前言安装docker-centos7 【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行 💬欢迎交流:在学习…

leetcode108.将有序数组转换为二叉搜索树

标签:二叉搜索树 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵平衡二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,…

C# 探险之旅:第二节 - 定义变量与变量赋值

欢迎再次踏上我们的C#学习之旅。今天,我们要聊一个超级重要又好玩的话题——定义变量与变量赋值。想象一下,你正站在一个魔法森林里,手里拿着一本空白的魔法书(其实就是你的代码编辑器),准备记录下各种神奇…

基于事件驱动的websocket简单实现

websocket的实现 什么是websocket? WebSocket 是一种网络通信协议,旨在为客户端和服务器之间提供全双工、实时的通信通道。它是在 HTML5 规范中引入的,可以让浏览器与服务器进行持久化连接,以便实现低延迟的数据交换。 WebSock…

libaom 源码分析:av1_rd_use_partition 函数

libaom libaom 是 AOMedia Video 1 (AV1) 视频编码格式的参考实现库,由 Alliance for Open Media (AOMedia) 开发和维护。AV1 是一个高效、开放、免专利授权的下一代视频编解码标准,设计目标是提供较高的视频压缩效率,同时适配各种分辨率、码率和平台。下载:git clone http…

如何恢复使用 Cursor 免费试用

当用户尝试创建过多免费试用账户时,会收到提示:“Too many free trial accounts used on this machine. Please upgrade to pro.” 这限制了用户的试用次数。AI大眼萌帮助大家绕过 Cursor 的设备指纹验证,以继续享受免费试用。 🚨…