Sprint Planning 有的书籍叫“冲刺计划会议”,也有的叫“迭代规划会议”,这是sprint event里面开的第一个会议,你可以理解为传统项目的项目启动会,但是和项目启动会有又很大的区别。
一、Sprint Planning 迭代规划会
迭代规划会从大的方面来说其实就是做两件事情:
1、决定迭代阶段需要做哪些事情?(排列Product Backlog Items 产品待办事项优先级)
2、确定开发团队如何合作完成要交付的增量。
二、迭代规划会的输入/输出
正如图一所示,Sprint Planning 迭代规划会的输入有好几个,重点关注的是Product Backlog(简称PB)。
1、输入Product Backlog
这个其实大家应该很熟悉了,在前面的文章中kevin老师有和大家说过。他的中文名称有点奇怪,叫做“产品待办事项”。它来自于客户或者用户的需求,也可能来自于产品自己的需求,也可能来自于开发团队的技术需求。Product Backlog的优先级只能由Product Owner排,他根据产品的价值来排列。
2、输出Sprint Goal
Sprint Goal就是我们这次迭代的目标,这个非常重要,有利于开发团队的聚焦,在每日例会的时候,SM都会问开发团队这次我们的迭代目标是什么?开发团队回答:“实现微信支付”,那么在接下来的迭代周期内,开发团队就是围绕着这个迭代目标奋斗,其他和此迭代目标无关的至少在这个迭代周期内不管。
3、输出Sprint Backlog
Sprint Backlog(简称SB) 《= =# Scrum里面的简称都好奇葩,不是SB就是SM。》中文名有翻译叫“迭代待办事项”,也有翻译叫“冲刺待办事项”。这个其实就是团队定义好了本次的Sprint Goal之后,根据开发团队的迭代速度和这次迭代的迭代周期(例如2周到4周),从Product Backlog 根据优先级选出可以完成的需求,这些需求的集合就叫做Sprint Backlog。
一旦Sprint Goal确定,Sprint Backlog选定,剩下的事情就是敏捷团队大显身手的时候了。
三、Sprint Planning的要点
1、新的开始
敏捷开发是增量式的交付,可能由好几个迭代周期组成,上一个迭代周期结束,新的迭代周期开始。
2、PO定义优先级
Product Owner产品负责人根据产品的价值对 Product Backlog产品待办事项进行优先级排序,如图六所示,高价值的需求放在最上面,价值低的需求放在最下面,
3、开发团队选择将要做的事项
开发团队成员根据PO定义的PB优先级,从高价值的需求里面开始认领你们要做的需求,同时定义了验收条件(DOD)。将这些需求放入到“将要做”的事项中,如图七所示。
4、确定Sprint Goal 迭代目标
敏捷团队确定这次迭代的Sprint Goal 迭代目标,这样让开发团队更聚焦、专注。
5、开发团队自主推动需求
确定好迭代目标之后,开发团队成员就自己认领需求,开始做起来,将手上正在做的就放在“Doing”区域,将已经完成的就放在“Done”,这样,每日例会的时候,团队成员都能看得见。每个需求都经过“To Do”->"Doing"->"Done",直到这个迭代周期内把spring Backlog需求完成。
三、总结
- 冲刺过程中需要完成的产品待开发项数量完全由开发团队决定
- 通常一个冲刺都会有一个冲刺目标,这样让大家更聚焦、专注
- 决定如何完成工作是开发团队的职责,决定做什么是产品负责人的职责
- 开发团队根绝“完成的定义”一起决定如何实现产品的增量,需要有足够的设计和规划
- 开发团队预测并共同承诺他们需要完成的工作量
- 最终产出“迭代待开发项”