产品待办列表梳理(PBR)是什么?

news2024/11/19 15:36:50

产品待办列表(PBL)是Scrum框架下最重要的一个工件(Artifact),产品待办列表的梳理(Product backlog Refinement-PBR)也是一个重要的活动,它不同于Scrum的3-3-5-5。仔细阅读Scrum指南,对产品待办列表梳理活动的描述是有限的:

“只有那些Scrum团队可以在一个Sprint中完成的产品待办事项,才能作为Sprint计划会议中的准备就绪事项。这种透明度通常需要通过“产品待办列表梳理”活动来获得。产品待办列表梳理是将产品待办事项进行拆分,并进一步梳理为更小更精确的事项。这是一项持续不断的活动,用来为产品待办事项补充细节,包括细节描述,排序和评估大小等。添加的细节属性通常随工作领域的不同而变化。”

在CSM的培训中,我发现有时学员把PBR活动与Sprint计划会议混为一谈,在Sprint计划会议上做产品待办列表梳理。有时把产品待办列表的梳理说成是Sprint Backlog的梳理。借机来写一篇文章,“梳理”一下产品待办列表梳理活动的概念。结合多年教学咨询的经验,与国际敏捷专家在敏捷社区的切磋,分享我理解的PBR的具体做法和常见误区,对Scrum指南的PBR部分也是一个补充和解读。

1. 为什么要做产品待办列表梳理PBR?(why)

我们承认对于敏捷项目或产品,需求是一个渐进明细的过程,过早的锁定范围和细化需求是不明智的。所以,需求的梳理是一个持续的活动,一个just in time的规划过程。即每个迭代的过程中,开发团队除了围绕Sprint的目标,按照Sprint Backlog(SBL)的计划尽力实现承诺的产品待办条目(Product backlog Item - PBI)之外,还要抽出一部分时间来协助PO梳理需求,确保下一个迭代计划会议的需求是就绪的(ready)。这样做的目的,增加了Sprint计划会议团队承诺的信心指数,大大降低了交付的风险。

那么问题来了,准备多少个PBI和PBI梳理到什么程度算是比较合适呢?一般情况下,我们建议准备1-2个Sprint的需求,最多不要超过3个Sprint的内容, 采取刚刚好(just enough)的策略。试想一下,只准备一个迭代的需求可能不够,另外PBL的优先级可能会发生变化,所以稍微多准备一些。但梳理太多会造成不必要的浪费, 因为情况总是在发生变化。产品待办列表的梳理活动上,团队不会承诺下一个Sprint做多少。

有什么样的原则能够指导PBL梳理就绪?

产品待办列表PBL满足“DEEP”的特征。通常我们用DEEP来体检PBL的健康状态。

D: 需求的颗粒度有不同的层级,优先级高的需求细化。

E: 估算PBI的成本大小。

E: 拥抱需求变化,新的涌现出来的需求,以PBI的形式添加在PBL中。 

P: 排优先级,即排序。

对于PBI的就绪,主要满足大家熟悉的INVEST的原则(见下图对INVEST的解释),Scrum的模式语言Definition of Ready(DoR)对我们的实践指导是有效的,尽管DoR不是Scrum的核心内容,但会帮助我们理解PBR活动的重要性。定义DoR的维度,除了INVEST以外,还考虑:提前识别技术难点(spike);依赖关系;UI/UX的设计工作;合规和法律认证的事宜。一个DoR的例子如下:

2. PBR活动包括什么具体内容(what)

主要包括:

  • 对PBI的业务价值和验收标准的澄清,讨论足够的细节,包括新近加入PBL的优先级高的需求条目。

  • 大的需求(Epic)的拆分(breakdown),注意是对PBI的拆分,不是传统的任务分解(WBS)。如果PBI的优先级很高,要拆到这个PBI能够fit到Sprint中,不同PBI拆分有不同的策略,这里不再叙述。

  • 估算,有时也叫Sizing,总之是估PBI的effort。敏捷推荐相对估算。建议对所有的PBI都要给出估算(如果可能的话),注意这里不是指SBL的条目SBI,任务的估算。 

  • 对PBL的重新排优先级,PO会按自己的价值方法对PBL的排序,在PBR活动中,开发团队协助PO审视PBL优先级的合理性,比如涉及PBI之间的技术依赖或资源约束条件等,重新排优先级。

  • 另一个最重要的动作,看看哪些需求没有价值,不合理,从PBL删除,保证PBL的健康度(good shape),有时用邓巴数(150定律)作为参考PBI的个数。

Scrum框架中设计的持续进行的产品待办列表梳理活动(PBR)是一个落地的“对话”实践。研发和业务人员以对话为核心,采用不同的技术和工具,补充丰富并完善细化PBL。敏捷团队的具体实践有:交互式原型(UI prototype),线框图,视觉模型,流程图(flow chart),Mockup,Wiki Page形式支持文档,简短的讨论文案,包括算法和技术要点等等, 都是进一步细化需求的手段。

有人会问,PBI的大小就绪(ready)有什么特征或指导,这里有三个原则供参考:

  • 1/2原则:一个PBI或用户故事(user story)满足sprinting-able,假如由一个开发人员搞定这个PBI,不应该超过Sprint长度的1/2的时间。   

  • 1/4 原则:一个PBI的大小,团队去实现它,不要超过Sprint长度的1/4时间。 

  • 用户故事点8:大于8个点的用户故事,给我们一个信号,需要拆分。具体实践下来,团队会找到大家认可的基准和公用尺码,比如2个点的用户故事意谓着多大的工作量。 

3. 谁来参加PBR(who)?

我们强调全员都参加(inclusive),即整个Scrum团队,PBR活动会增加成员的参与感(engagement)。工作坊的形式很重要,用户故事卡片会自然引发对话。

不像传统的做法,只有少部分人员或资深的工程师参加。全员参加的好处,保证PO与开发团队面对面沟通,通过对话的形式理解业务需求,信息对称。有时候PO会邀请关键的干系人(key stakeholders)参加;特别是需求的提出方,或是Feature Owner。Scrum鼓励开发团队与用户的直接沟通,而不是所有的信息都要通过PO,PO不是中间人(middle man)。这种对话SM可充当引导者,保证沟通高效,PO或客户直接澄清需求给团队。

这样做,也许会有人担心:

(1)业务担心需求“失控”,开发团队会对客户承诺太多。有时候我们担心研发搞砸(mess-up),嫌麻烦,所以会找个借口,比如开发人员驾驭客户的能力不够,演讲(Presentation)能力不“专业”,不邀请他们参加此种会议或对话,图省事。其实,让真正“干活”的人第一时间理解为什么要做这件事情比如何做更要紧。把团队封闭管控起来,不允许与客户用户直接沟通,潜在的风险更大。把“正确”的需求做“对”,是我们的共同目标,PO可以在这个“对话”过程中充当引导者的角色,便于管理。   

(2)干系人(包括sponsor和管理者)平时很忙,没有时间参加此类PBR的活动。每次PBR的活动,PO有责任邀请相关的干系人参加。具体的做法,PBR活动提前在Scrum日历上固定下来,让需求相关的干系人可以分时段参加PBR,不需要干系人全程都参加PBR。合理分配好时间,通过面对面的对话,对需求的充分理解,是把事情做对的关键一步。

你会发现,Scrum设计的PBR活动,从某种角度解释,它把敏捷原则的第四条“项目过程日常工作中,业务人员与开发人员必须在一起工作”实实在在的落地了,业务和研发的“协作”变成了具体可操作的“动作”。

4. 什么时候做?(when) 做多长时间?(how long)

PBR是一个持续的活动,一个不好的消息是,Scrum没有特别“告诉”你什么时候做PBR。推荐的做法:在Scrum的日历上以工作坊(workshop)的形式把它固定下来,有些团队叫Backlog Grooming,比如一个Scrum团队提早约定好在两周迭代的第二周的周二下午3点到4点半做PBR,届时大家都会出席, 当然PO要做好充分的准备。Scrum建议开发团队在每个迭代过程中投资团队容量(capacity)的5-10%时间协助PO梳理PBL,注意5-10%是一个累加总值,PBR可以在迭代中做多次,有时是估算,有时是拆分,也可能是估算和拆分的混合。    

根据我的观察,PBR的活动分布在Sprint过程中的以下时段:

A. PBR在Sprint 1之前的发布(版本)规划中或follow-up session,保证第一个Sprint的需求就绪(ready)。

B. 在Sprint过程中安排每周一次或每个迭代一次的梳理活动,时间固定下来,不需要有专人协调时间。

C. 每日站会结束后,安排单独的小块时间梳理部分需求,特别是分布式团队,PO和团队不在同一地方。考虑到时差和异地的影响因素,不用再单独协调大家PBR时间。

D. Sprint评审会结束之前,留出一部分时间来一起看看未来的1-3个Sprint要做什么,基于评审会的反馈调整PBL,影响到发布计划。好处是干系人正好在现场,不需要单独邀请,节约时间,而且评审会刚刚开完,趁热打铁。不好的地方是离下一个Sprint计划会议太近,有些匆忙,而且评审会已经消耗了能量,需要休整。

最后,期待这篇文章对产品待办列表梳理PBR的困惑有所解答。如果能参加CSM/CSPO课程,你将体验到产品待办列表梳理各项活动:PBI的进一步澄清(业务价值和满意条件),估算,拆分,排优先级的技术和实践。 

Jim Wang王军

写于2022年12月5日

参考资料:

(1) CSPO 教材

(2) Scrum 指南

(3)《Scrum Essential》 By Ken Rubin 

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

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

相关文章

R语言基于树的方法:决策树,随机森林,Bagging,增强树

概观 本文是有关 基于树的 回归和分类方法的。最近我们被客户要求撰写关于决策树的研究报告,包括一些图形和统计输出。 视频:从决策树到随机森林:R语言信用卡违约分析信贷数据实例 从决策树到随机森林:R语言信用卡违约分析信贷…

『微信小程序从0到1』视图与逻辑

🐱‍🐉🐱‍🐉🐱‍🐉 请乘理想之马,挥鞭从此起程,路上春色正好,天上太阳正晴🐾🐾🐾/font> 🌈博客主页👉白小…

【SQL】主从复制

主从复制主从复制的作用主从复制的原理一主一从架构主从配置文件1.主机配置2.从机配置3.主机建立账户并授权4.从机:配置需要复制的主机5.测试6.停止主从同步binlog_format三种格式双主双从架构如何提升数据库并发能力:在实际工作中,我们常常将…

B站运营,B站游戏数据如何分析?

B站聚集了大部分年轻人,用户量和黏性一直持续增长,在B站,游戏也是重点发展的一个分区,而对于运营者想做好游戏运营也并非易事,想做好运营掌握游戏数据必不可少,那么应该如何查看游戏数据呢? 一…

童年 高尔基

每周读一本经典,大概从2022年11月开始了,目前已经读了4本,csdn平台更适合技术分享,知乎比较适合书籍分享 《童年》是高尔基三部曲中的第一部。坐在柳东图书馆像海水浸过的沙子般座椅,周末的下午沉浸在高尔基先生奇特的…

线程池应用(四)

线程池应用线程池线程池应用多线程应用同步和异步1. 需要等待结果1. join 实现(同步)2. Future 实现(同步)3.CompletableFuture 实现(异步)4. BlockingQueue 实现(异步)2. 不需等待结…

5分钟搞定,实现 定时任务 的五种方案!

我们在实际开发中,多多少少都会用到定时任务来处理一些问题。 比如金融项目中的对账,每天定时对昨天的账务进行核对,每个月初对上个月的账务进行核对等。 还比如,我们需要处理一些老数据迁移,修复一些新项目和老项目…

基于java+springboot+mybatis+vue+mysql的财务管理系统

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时…

CI24R1/SI24R1 2.4G无线传输技术--无线门铃

无线门铃是一种基于2.4G无线传输技术的智能家居产品,主要用于亲朋好友探访的语音提醒功能。此次方案采用2.4G无线通信设计,室内和室外子母机组网,在智能家居及办公场所等方面得到广泛的应用。 一、应用场景 适用于居民社区、家庭、公寓、酒店…

2-2-3-5-5、Disruptor详解

目录简介juc包下的队列存在的问题设计方案RingBuffer数据结构数据存取方案常用等待策略写数据流程单线程(一个生产者)多线程(多个生产者)多个消费者读数据多个生产者写数据核心概念使用构造器引入依赖单生产者单消费者模式创建Eve…

微信公众号开发——接收用户消息(图文、语言、上报位置、关注、取消关注)及自动回复

😊 作者: 一恍过去💖 主页: https://blog.csdn.net/zhuocailing3390🎊 社区: Java技术栈交流🎉 主题: 微信公众号开发——接收用户消息(图文、语言、上报位置、关注、取消关注)及…

推动MRO工业品数字化基建升级,数商云采购系统赋能企业采购数字化管理

MRO工业品是工业生产中的重要组成部分,经历了十余年的发展成长,市场规模持续增长,然而据数据显示,MRO工业品市场的线上渗透率仍停留在个位数,这意味着MRO工业品数字化采购仍有巨大的发展空间。 MRO工业品行业发展受困…

非零基础自学Golang 第1章 走进Go 1.1 Go编程语言概述 1.1.1 Go 的历史

非零基础自学Golang 文章目录非零基础自学Golang第1章 走进Go1.1 Go编程语言概述1.1.1 Go 的历史第1章 走进Go 1.1 Go编程语言概述 Go语言也叫Golang,是由谷歌(Google)公司在2007年推出的一款静态编译型语言。Go语言高效、简洁、容易上手&a…

上海诺基亚贝尔-S-010W-AV2B卡刷固件包

上海诺基亚贝尔-S-010W-AV2B卡刷固件包 固件特点: 1、修改dns,三网通用; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、无开机广告,无系统更新,不在被强制升级; 4、大量精简内置的没用的…

最新版Crack:MailBee.NET 2022最后版

MailBee.NET Items Package 包括 SMTP、POP3、IMAP、EWS、Security、Antispam、Outlook Converter、Address Validator、PDF 部件,以及作为免费功能的 BounceMail、HTML、MIME、ICalVCard 部件。MailBee.NET Objects是一组功能强大且功能丰富的 .NET 元素&#xff0…

基于nodejs如何爬取csdn上自己的文章

当你想把自己在csdn上写的文章转为hexo上可以发布的文章或是将文章写入自己的数据库时,可以用到 将所有博客数据写入数据库 获取你的文章的分页接口: 在浏览自己的所有文章时,我们不难发现,文章的数据是往下滑动到底时,才会刷新出新的数据, 那么此时肯定是发送了一个请求来获…

一篇文章教你实战Docker容器数据卷

在上一篇中,咱们对Docker中的容器数据卷做了介绍。已经知道了容器数据卷是什么?能干什么用。那么本篇咱们就来实战容器数据卷,Docker容器数据卷案例主要做以下三个案例 1:宿主机(也就是Docker所安装的机器)与容器之间的映射-让Do…

LeetCode 538. 把二叉搜索树转换为累加树(C++)

标签:二叉树搜索 深度优先遍历 二叉树 思路一:递归实现反向中序遍历,并累加递归过程中的根的值 思路二:使用迭代,给每个根节点添加一个反向中序遍历的前驱节点。 原题链接:https://leetcode.cn/problems/co…

数据分析业务场景 | CTR预估

一.概况 定义 是推荐中最核心的算法之一 对每次广告的点击情况做出预测,预测用户是点击还是不点击 就是预测点击与否的而分类算法,成功的关键之一就是样本的准确性 对于正样本,一般可发挥的空间不是很大,最多就是卡一个停留时…

LinkedList源码解析

LinkedList源码解析 简介 LinkedList 是一个双向链表(内部是 Node 节点)实现的 List,并且还实现了 Deque 接口,它除了作为 List 使用,还可以作为队列或者栈来使用。 这样看来,LinkedList 简直就是个全能…