【Scrum模式语言9】准备就绪的定义(Definition of Ready - DoR )

article/2025/9/26 6:50:03

       译者序:在很多敏捷项目中,秩序诞生的标志之一是有了成文的DoR。但是项目组和需求方的折中往往也无可奈何地始于将没有就绪的需求纳入到Sprint待办事项列表,并为Sprint实施阶段带来一系列的不可控因素。为什么市场和产品人员时常要求技术人员在Sprint里实施一些没有充分精炼过的需求?如何制定DoR,并使之解决市场和技术之间的断层问题?推动DoR的过程中出现问题要怎么办?本文作者立足于自己的经验,分享了对以上问题的看法,对正在踌躇是否制定、正在制定和推动DoR的团队有一定的借鉴意义。

图片

原文:

       您有一个精炼过的产品待办事项列表,或者说是非常接近精炼的。与此同时,您正在准备做Sprint计划。万不得已的情况下,产品待办事项列表上的某些项目依旧太模糊,开发团队无法对它们进行实施。然而Sprint待办事项体现了实现Sprint目标所必需的工作,同时它指导开发。因此,“ Sprint待办事项”中的项目必须是具体的。它们不可以是模糊的。但是,开发团队需要多“具体”才能开始他们的工作呢?

       如果开发团队不能完全理解产品待办事项(PBI),开发工作和开发时间往往会激增,从而导致Sprint目标未能达成,或者是交付无法符合利益相关者的期望。

       开发的挑战在于获得新的想法并使它们变为现实,这实际上是在开发这些想法。这是思想从根本上的一个改变:一个想法开始时很抽象,但是开发要求这个想法在每个细节中都很具体化。这种思想上的改变最终只有在开始开发的时刻才会真正的发生。但是,如果您希望可以进行详细的计划(并且您需要详细的短期计划以使您的流程保持清晰明确),那么这些需要开发的想法必须足够具体,才能回答设计的问题。具体到什么程度?具体到足以让团队可以充满信心,来进行详细的计划。

       我曾经作为自由顾问为一家小公司做一段程序。有一次,首席执行官要求我编写一些软件,并提出了固定价格。“我们可以达成一致了吗?” 他问。“不,”我说。“该软件的定义不够精确,我无法评估完成它需要多长时间。”

       换句话说,在市场的世界和设计的世界之间,存在着一个断层。他们各自创造的认知以不一样的量级演进:市场了解逐步而缓慢,而设计往往会迅速聚焦(参考《实现规范 Enabling Specifications》)。它们之间需要一个组织级的边界。否则,您会同时削弱了对市场和项目的焦点。理论上,您可以通过流程的边界来实现这种分离。然而组织人员关系跨越了整个过程,因此您仍然面临着一个问题:是关注业务和价值领域,还是关注产品和技术领域,在这两者之间,人们可能依旧会举棋不定。反过来,要解决该问题,您可以从时间上来划分人员在这两个领域之间的关注点。但这会导致人员在任务上下文之间切换,众所周知,这会导致效率的降低。Scrum将这些问题从组织级别上区分开来,分成产品负责人和开发团队。而它成功的关键点在于,在这两个领域之间有一个接触点。

       当您处于计划的困境中时,有一种强烈的诱惑让您想要快速做出假设,并将棘手的问题(例如详细的估算)推迟到以后。而当一个小组一起计划时,往往会面临一些隐性的同僚压力,为了使计划过程能够顺利进行而将困难的问题推迟。要解决这个问题,团队必须达成一致,最先解决最棘手的问题。为了避免在不确定的情况下开始工作,团队对截止点需要有一个明确的共识,并共同遵守这个客观标准。

       在精益的思维中,反复不定是造成浪费的原因之一。如果开发团队不足以理解某些产品待办事项的真正含义,或者不能很好的理解如何开发或评估它,那么Sprint交付成果的偏差就会增加,同时这种工作还可能会导致成本,风险和不确定性增加。

       因此:

       每个产品待办列表上的项目必须至少满足以下条件,开发团队才能在Sprint计划会议上将其选为Sprint待办列表的候选项:

1.团队可以针对这项工作立即采取行动。

2.预计的交付物具有价值。

3.产品负责人和开发团队对它进行过讨论。

4.开发团队对它估算过。

5.它是可测试的,并且产品负责人对此测试有具体说明。

6. Scrum团队已经把它调整到合适的大小(请参阅缩小项目Small Items)。

       如果产品待办事项列表的顶部具有满足这些条件的产品待办事项,而这些产品待办事项多到足以填充一个Sprint,那么它就是“就绪”的。

       良好的就绪定义可以帮助指导团队处理外部依赖性。如果某个待办项取决于团队无法控制的外部事件,将其放入Sprint待办事项列表中会大大增加在Sprint结束时不能交付潜在的定期产品增量(Regular Product Increment)的风险,而您对此无能为力!您需要自始至终的在产品待办项级别上进行依赖性分析,而不能仅仅在定期产品增量级别上粗糙的管理依赖性;团队最终都需要了解产品待办项级别的依赖性,才能在生产过程中对工作进行排序。您需要考虑将涉及外部依赖性的标准作为“就绪定义”的一部分。

       定义就绪与实现规范之间存在重要的相互作用。下一个Sprint的待办候选项必须最迟在该Sprint计划期间准备就绪。Sprint计划的产出物,包括产品待办事项连同产品负责人的说明和澄清,必须能让团队无所畏惧地开始实施。

       Scrum团队的目标是要满足所有就绪标准,因为它致力于精炼产品待办列表,并争取在Sprint计划之前制定实现规范。这项活动的目的是使PBI不受干扰地通过“就绪门”,每个待办项仅需遵守简短的清单即可。清单对于不成熟的团队来说,允许他们能够“停止生产线”,这很重要,但更大的好处来自于可预期的约束条件,以及提前筹备PBI,让它们在Sprint开始时已完全准备就绪,从而使得整个流程畅通无阻 。

       请注意,并非产品待办事项列表中的所有PBI都需要准备就绪,但随着它们在产品待办列表中的上移,它们应该朝着就绪状态迈进。“就绪”定义了那些可以进入Sprint的PBI; 与此相对,“完成”定义了那些在Sprint期间或结束时可以交付的PBI。

       如果PBI没有准备好怎么办?尽管整个团队都致力于PBIs,产品负责人有责任充分做好Sprint Planning的准备,以使得团队能够不受阻碍地为当前Sprint的开发PBI候选项。在大多数情况下,“未准备就绪”表示产品负责人必须回去做更多的分析,再将PBI带回团队。Scrum的传统是,如果在Sprint计划时没有准备就绪的产品待办列表,则开发团队有权“去海边度假”,就如同于Jeff Sutherland在《 Scrum:一半的时间内完成两倍工作的艺术》(第137页,“准备完成”)中所描述的一样。这让产品负责人没有把待办列表准备好的事实变得显而易见。如果您总是“在海滩上”,则可能是工作流出了问题。您对未就绪的产品待办列表有何贡献?团队能如何帮助产品负责人?

       为了区分Scrum中的就绪概念是一种与语言中的“就绪”不同的术语,Scrum的人有时会使用短语“ 就绪的就绪(Ready-Ready)”,而不是单个单词“ 就绪”。理查德·科隆法尔特(RichardKronfält)在2008年最先发布了关于“就绪定义”的正式描述。25

非常感谢Peter Gfader的评论!

【25】. Richard Kronfält. “就绪的就绪: 为可以进入Sprint计划的用户故事定义就绪.” Blogspot.dk, 2008年10月, http://scrumftw.blogspot.nl/2008/10/ready-ready-definitionof-

ready-for.html (访问于2017年11月1日).

译者:Emma

校对:Suzzi 

参考资料:

(1)A Scrum Book:65 Definition of Ready

图片


http://chatgpt.dhexx.cn/article/2oRKB2CZ.shtml

相关文章

敏捷开发中的 DoD 和 DoR 是什么?

在敏捷开发中,让所有成员保持目标统一、步调和节奏一致非常重要,但是在团队协作中,认知偏差却在所难免。需求在不同环节中流转,是否存在某种途径能保证所有成员的理解一致,将偏差最小化? 今天跟大家介绍敏…

传播动力学--SIR模型及其应用

王道谊 2020年3月 1. 传播动力学 “道生一,一生二,二生三,三生万物。” ---《道德经》 所谓“不积跬步无以至千里”,任何变化都是由点滴变化决定并发展起来的。知道所有的微观点滴变化,就能够掌握宏观变化。点滴…

SIR传播模型的科普和预测

>关注公众号:大数据技术派,回复资料,领取1024G资料。 注:本文仅是个人对于几个疾病模型做的一些概念性描述(科普),并进行了简单的编程实现。切勿当做现实的行动指导。因为文章内容原因&#…

6.复杂网络实验六:SIR病毒传播模型(matlab)

一、SIR模型简介 在典型的传染病模型中,种群(Population)内的N个个体的状态可分为如下几类: (1)、易染状态S(Susceptible),即健康状态,可被感染的个体。 (2)、感染状态I(Infected),处于感染状态的个体还能够感染将康…

传染病SIR传播模型(搬运,含带MATLAB代码)

学习笔记之SIR传染病模型TOC 本文主要是对此篇文章代码部分的详解 function ysir(~,x)a0.8; %感染率0.8b0.2; %治愈率0.2y[-a*x(1)*x(2),a*x(1)*x(2)-b*x(2),b*x(2)]; end %t 为持续时间,%x为三维矩阵,其中x(1)为易感染者,x(2)为传染者&…

传染病模型(4)——SIRS模型和SIER模型及matlab具体程序

前言 常见的传染病模型按照具体的传染病的特点可分为 SI、SIS、SIR、SIRS、SEIR 模型。其中“S”“E”“I”“R”的现实含义如下: S (Susceptible),易感者,指缺乏免疫能力健康人,与感染者接触后容易受到感染; E (Ex…

信息传播模型——SIR的Python实现

本文通过Python语言实现SIR模型,并进行可视化,所用例子为足球俱乐部数据集。 author:xiao黄 缓慢而坚定的生长 我之前还写过SI和IC模型的Python实现及可视化,请点击传送门查看,希望对你们有帮助。 SIR模型是传染病模型…

疫情模拟中的SIR模型与扩展的SIRD模型

一.SIR模型 SIR模型起源于流行病学的研究,是模拟传染病动力学的经典模型。至今仍在流行病学中占据中心位置,核心在于微分方程。 SIR模型描述了流行病下三大人群:易感者 susceptible、感染者 infectious、痊愈者 recovered之间的关系。 SIR模…

基于SIR模型的疫情预测 matlab

基于SIR模型的疫情预测 庚子年 庚辰月 丁丑日,疫情从爆发到今天,已经有100多万人感染,而我国有一群这样的逆行者他们以自己的生命筑起了我国的防疫长城,鲁迅先生曾说“我们从古以来,就有埋头苦干的人,有拼…

python实现SI、SIS、SIR、SIRS、SEIR、SEIRS模型

传染病传播模型 SISISSIRSIRSSEIR(相比较贴合新冠状病毒)SEIRS 在家闲着无事,搜了一些关于传染病模型的知识,在此做个总结。 SI 最简单的SI模型首先把人群分为2种,一种是易感者(Susceptibles),易感者是健康…

流行病模型(SIR Model)

流行病模型(SIR Model) by : ZhuoFei, Zhou 首先定义一个函数bernoulli(p) #以概率p判断是否会被感染或恢复 function bernoulli(p::Number)if rand(1)[1] < preturn trueelsereturn falseend endbernoulli (generic function with 1 method)恢复所需的时间函数recovery_…

SIR模型与R模拟

SIR病毒模型R模拟 文章目录 SIR病毒模型R模拟[toc]1.SIR病毒模型2.R模拟 1.SIR病毒模型 SIR病毒模型的的三个字母分别为病毒传播过程中的三种状态&#xff0c;其中 S&#xff0c;表示易感染者&#xff0c;即没有被感染病毒的人群I&#xff0c;表示已感染者&#xff0c;即被感…

【python】SIR模型实现

SIR模型python实现 SIR模型是传染病模型中最经典的模型&#xff0c;其中S表示易感者&#xff0c;I表示感染者&#xff0c;R表示恢复者。SIR模型中&#xff0c;染病人群为传染的源头,他通过一定的几率把传染病传给易感人群,他自己也有一定的几率/可以被治愈并免疫,或者死亡;易感…

传染病模型(3)——SIR模型及matlab运行结果

前言 常见的传染病模型按照具体的传染病的特点可分为 SI、SIS、SIR、SIRS、SEIR 模型。其中“S”“E”“I”“R”的现实含义如下&#xff1a; S (Susceptible)&#xff0c;易感者&#xff0c;指缺乏免疫能力健康人&#xff0c;与感染者接触后容易受到感染&#xff1b; E (Exp…

关于SIR模型性质的进一步摘录

1 SIR模型的性质 又是成为SIR搬运工的一天。以下内容来自陈卫老师在《大数据网络传播模型和算法》。纯纯自我记录&#xff0c;不够美观不够细致&#xff0c;不喜欢看出门左拐。 1.1 SIR模型中的basic reproduction rate&#xff08;基础再生数&#xff09; R 0 R_0 R0​ 它是…

SIR模型II

SIR II (Epidemic modeling) by Zhuofei(fregoticloud.com) jupyter notebook link 在这个模型中&#xff0c;考虑一个在一定空间内的流行病模型。人只能与附近的人交互作用&#xff0c;所以给人在一定的空间里随机运动。 首先&#xff0c;在一个2维平面&#xff0c;随机游走&…

SIR信息传播模型

SIR信息传播模型 SIR模型及python复现SIR模型SIR数学模型传播动力学方程python实现 模拟社交网络中SIR模型的信息传播过程 SIR模型及python复现 SIR模型 SIR模型是传染病模型中的经典模型&#xff0c;可以用在传染病过程中的模拟预测&#xff0c;也可以用作抽象表达社交网络中…

SIR模型 matlab模拟

需要一个单独的m文件&#xff1a; %即写上三个微分方程 function ySIRModel(t,x,lambda,mu) y[-lambda*x(1)*x(2),lambda*x(1)*x(2)-mu*x(2),mu*x(2)]; 再进行作图 >> ts0:1:100; >> lambda0.00001; >> mu1/14; >> x0[45400,2100,2500]; >> […

SIR及SEIR建模的简单示例

目录 概述1.一些定义1.1 一些名词1.2 一些符号1.3 一些定义 2.方法论2.1 SIR2.2 SEIR2.3 代际传播2.3.1 传播矩阵 3 模型实现3.1 参数设定3.2 SIR&#xff08;1&#xff09;模型&#xff08;2&#xff09;参数&#xff08;3&#xff09;计算&#xff08;4&#xff09;绘图 3.3 …

SIR模型python实现

python新手&#xff0c;代码不规范之处敬请见谅&#xff0c;第一次发帖排版也不太懂&#xff0c;各位将就看。 参考&#xff1a; SIR模型和Python实现_阿丢是丢心心的博客-CSDN博客_sir模型 【保姆级教程】使用python实现SIR模型&#xff08;包含数据集的制作与导入及最终结…