Backlog refinement meeting是scrum开发实施中的五大会议之一,也被称为Backlog grooming meeting或者User story meeting。其主要目的在于开发团队帮助PO完善下一个迭代的用户故事,以利于下个sprint的开发。它一般持续的时间为两个小时,在此期间scrum团队中的每一个角色都应列席,包含敏捷教练,PO,开发团队。
它需要解决以下3个问题:
第一,解释用户故事,排定优先级;
我们知道用户故事是由PO编写完成,他/她通过采集用户需求或者市场调研不断充实完善用户故事。针对每一个用户故事,在backlog refinement meeting的第一件事情就是PO需要向团队解释用户故事,并在大家都讨论后最终由PO拍板决定用户故事的优先级。
在backlog列表中,优先级的大小与在backlog中的位置相关。优先级越高的用户故事处于backlog的最上面,以此往下优先级越来越低。
第二,分解用户故事,评估工作量;
会议的第二部分的工作是分解用户故事。PO编写的用户故事往往是一些范围比较宽泛的内容,比如:做为一个用户,我需要能够登录,以便查看我自己的隐私内容。可以看出,这类用户故事内容并没有细化到一个可以单独完成的最小工作单元。比如登录的界面该如何显示,后台API该如何对接,登录时的错误信息该如何显示等等。这个时候我们要做的就是将用户故事细化分解,使每一个细化后的工作项都可以在一个sprint周期内完成。
用户故事被细化成一个个工作项后,接着我们要做的就是评估每一个工作项的工作量。通常scrum中工作量的计量方式通过斐波那契数列标定,即1,2,3,5,8,13,21,34,55。在实际的项目中,我们通过扑克牌估点。针对每个工作项,开发团队的每个人都给出自己的扑克点数,最后经过大家协商讨论,给出最终的评估。需要注意的是在整个工作量评估的过程中,PO没有决策权,真正的决策权在团队的手上,大家协商一致,最终达成共识。
第三,完善工作项内容,编写工作项的完成标准。
工作项被从用户故事中分解出来以后,在会议的最后我们要做的就是描述工作项的具体工作内容,这个工作由PO完成,开发团队以及敏捷教练为辅助。其内容的格式与用户故事基本一致:做为一个用户,我需要⋯⋯,以便于⋯⋯。这个阶段的最为关键的一点在于,PO应明确工作项完成的标准。只有有了明确的完成标准,在迭代的过程中,开发团队才能有的放矢,在迭代的后期进行验收的时候PO也才能根据具体的完成标准进行验收。
经过上述内容的讨论过后,Backlog refinement meeting基本圆满结束了,我们完成的所有新的用户故事以及工作项会在下个迭代的计划会议中被使用,并最终在迭代的最后被交付给用户。