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