4大Scrum敏捷会议要怎么“敏”才有意义,敏捷的核心是什么?如何掌握核心4大Scrum会议的精髓?一个Scrum要怎么安排,有哪些必备要素?
我们来聊一聊,4大Scrum敏捷会议要怎么“敏”才有意义?
我的程序员男朋友有一天和朋友约了晚饭,然后意识到当天是一个重要节日又不想爽约,他小心翼翼地问我,晚一些需不需要来找我?
我说:你不用来了。
男票沉默了大概3秒。没有接话。
我说:你是不是在理解这句话什么意思?
他尴尬地哈哈大笑,说:如果我理解成因为你约了饭会比较晚,就不用再辛苦跑一趟了,那我就放心不过来了。如果理解成你生气了,我是不是还是来一趟比较好。
你看,小到情侣互动,大至软件开发,企业管理,我们都会遇到以下几个终极问题:
敏捷开发的魅力所在,也正是冲着这三个问题来的。以Scrum为例,理解Scrum是什么,和瀑布开发有什么区别,有一个很好的框架概括——
其中,冲刺会议(Scrum Ceremonies)就是通过4种不同的交流方式,来解决上面三大问题:
这些会议,不是流程,也不是为开会而开会。这恐怕也是他们在英语中不叫Meeting,而叫Ceremonies(仪式)的原因吧。
为了方便大家思考/想象,这里以小明给女朋友准备6月礼物为例。在女朋友的产品需求池Product backlog里,可能会有如下需求:
我可以负责的告诉你们,这类不清晰的需求在没有完善之前都应该丢在需求池里面,清晰以后才可以开始产出。
当然考虑到小明的求生欲和实际操作的复杂程度,他需要绞尽脑汁和女友讨论出具体几个需求。这个确认需求及其优先顺序的过程/会议, 就是Backlog Refinement。
这个过程中你会发现她并不知道自己要什么。或许可能知道,但并不愿意直截了当的告诉你。
很多客户也是一样的。
作为Product Owner, 总之你不要逼他们,你要引导。
同时记住:你认为的需求并不一定是真的需求。
这个过程中,Product Owner只负责理解客户需求,不提供解决方案。
通过沟通,很(if you)快(are lucky),你的需求就会清晰起来。假设以下是排到了优先级别的需求。
接下来,冲刺就可以开始了……
这是第一场真正意义上的Scrum会议。Team、Scrum Master、PO坐到一起,规划冲刺的内容。作为软件开发项目,进入规划冲刺的用户故事,用户故事应该已拆分完成,并且完成了视觉设计。在冲刺的过程中,任何人不能单方面擅自变更冲刺内容。
会议目的:通过预计用户故事,确定在这个冲刺中的迭代目标。
与会者:开发团队,scrum master,产品负责人
时间:冲刺开始时。
持续时间:通常每周一小时的迭代。例如:为期两周的冲刺将在两小时的计划会议上开始。
会议准备:产品负责人已经排好优先顺序
产物: Sprint Backlog
在以上的案例中,小明经过衡量自己的钱包时间和理解力,决定选用这2个故事:
作为你女朋友,我希望可以XXX,这样我就可以有安全感 (故事价值:13)
作为一个有品味的女子,我想要有一个XXX的包,这样我会觉得XXX (故事价值:8)
并且这2个故事经过沟通,需要有接受标准Acceptance Criteria, 即完成到什么样的程度,算是满意。一般是用可以量化的标准,而不是看心情。
所以这个会议的魅力在于,沟通清楚团队自身的能力和让用户清楚自己到底需要什么。接受标准的提出,也会让测试在一开始就有清晰的方向。
这样做的意义在于:让整个团队清楚地知道在这一个冲刺周期内各项任务的进展,所有任务是否能够按时完成。
与会者:开发团队,scrum master,产品负责人。
时间:每天,通常在早上。
持续时间:不超过15分钟。不要预订会议室并坐下来站起来。站起来有助于缩短会议时间!
敏捷框架:Scrum和看板。
Daily Scrum看上去像是对女友的每日汇报——
每个团队成员需要回答的问题,真的是极好的吾日三省吾身——
这个会议的魅力是,让团队每日有一个沟通的习惯,有任何问题都可以及时解决,甚至调整计划。同时,这个会议最重要的注意事项就是要短,平,快,不要让15分钟变成讲故事或者长篇大论。Scrum Master负责消除团队面临的障碍。
这个会议最重要的工作是功能和成果演示,验证用户故事的实现场景,并接受评价。
参与团队:开发团队,scrum master,产品所有者
可选:项目利益相关者
时间:冲刺或里程碑结束时。
持续时间:30-60分钟。
团队应该只展示那些符合“完成定义”的事项,也就是全部完成,不需要再做工作就能交付的成果。这个成果或许不是完整的产品,但至少是一项完整的、可以使用的功能。
比如,小明在两周内完成了第一个关于安全感的故事,给女票买了一款旅行意外险,只要她点头就当日生效。
因为时时和女友沟通需求和确认期待,这个充满浪(cao)漫(dian)的用户故事和解决方案正好是这个女友的需求。并没有什么特别的惊吓。
第二个买包的故事因为女友对于颜色还没有选好,被延期到下个冲刺。
冲刺回顾会一般在本次迭代发布之后的第二天或当天下午召开,会议时间最好不做具体的限制。
与会者:开发团队,scrum master,产品负责人
时间:迭代结束时。
持续时间:60分钟。
技术总结
最后,团队确定一个最值得改善的地方,将其设定为下一个冲刺迭代的首要任务。
这四个冲刺会议出现在每个冲刺中,渗透到了计划(Planning), 执行(Implementation), 产品展示(Review)和复盘(Retrospective)的每一个环节。类似于一个小瀑布开发,但因为每个用户故事都做了合理分割,不会区分特定的开发和测试阶段。同时,团队之间又会有充足的交流和反思。
在一个冲刺周期中,会议要怎么安排呢?
Scrum的周期一般会分成两周和三周。
需要注意的是,Backlog Refinement作为冲刺最重要的预备会议,会穿插在前一个冲刺中。
两周安排例子:
三周安排例子:
每个团队适应方式和磨合方式都不尽相同。
但正如前文所说,敏捷会议的目标是及时沟通和解决问题,达到这些目标,其中一个重要方式确立时间盒子(Time Box)的概念,不拖堂,不开没有准备的会。
本着这样的原则去落实会议,我们说过的未来,画过的饼,才有意义。