【审视】Scrum Master的检查清单
一般情况下,一个Scrum Master如果更多的是做组织会议、确保时间盒以及对流程中的障碍快速响应等事项的话,可以同时引导2-3个团队。在这种情况下,团队会在降低问题发生率的基础上提高一定的绩效。
但如果Scrum Master想要将一个团队打造成让所有人都眼前一亮的敏捷团队,那就需要考虑如何成为优秀的Scrum Master,以及如何更好地引导团队。这时的Scrum Master最好是成为某一团队(尤其是在团队初创阶段)的全职引导者。接下来是一个Scrum Master的检查清单,来看看Scrum Master要从哪些方面入手引导团队吧:
一、产品负责人做得如何?
Scrum Master可以在很多方面提高产品负责人的效率:
不论有几个团队,一个产品是否只有一个产品负责人?
产品待办事项列表是否根据产品负责人最新想法进行优先级排序的?
待办事项列表是不断更新的,新反馈的需求是否已经放入产品待办事项列表?
产品待办事项列表的数量是否可管理?为了维护可管理的待办事项数量,需要将高优先级待办事项的颗粒度细化,低优先级的事项可以保持一个粗颗粒度的状态。过度分析优先级不高的待办事项会适得其反,因为需求是在不断变化的。
需求(特别是处在高优先级的)是否能表述为独立的、可磋商的、有价值的、可估计的、小的和可测试的用户故事?
产品负责人是否在关注并避免技术债务的问题?比如在待办事项的“完成”定义中加入自动化测试和重构。
待办列表是否对所有利益相关人可见?
团队成员是否都了解如何使用自动化工具来管理待办列表?因为自动化工具的不正确引入往往不利于协作。
是否能够通过更为宏观的可视化方式来促进信息传播?
有没有帮助产品负责人梳理待办事项的优先级?
所有的利益相关人(包括团队)是否知道发布计划与团队现有速率的符合情况?可以尝试在每个Sprint回顾会议上,确认项目已经“完成”后演示产品或发布燃尽图。这会让我们更及时地发现范围和时间的偏差。
产品负责人是否会在Sprint评审后调整发布计划?一些产品负责人会在Sprint交付后,及时调整发布计划。因为在这一过程中会不断地发现其他重要工作,一些原有工作会被推迟发布。
二、团队做得如何?
团队的状态是否流畅?一般流畅的团队会呈现以下特征:
明确的目标(期望和规则清晰可见,目标可以实现,且与个人的技能和能力适当匹配);
全神贯注并全力以赴;
在下意识状态中,行动和认知相统一;
直接及时的反馈(行为可以随反馈不断地进行调整);
在能力与挑战寻求平衡(不要太容易也不要太难);
控制力:对形势和任务的控制力;
存在内在激励,因此工作起来很轻松。
团队成员是否相互合作、相互理解,并经常一起庆祝项目成功?
团队成员是否相互以高标准监督、相互挑战以促进成长?
有没有一些话题因为大家感觉难受,所以在团队里没有进行讨论的?
是否尝试过通过不同的形式和地点做Sprint回顾?
团队是否在Sprint中一直关注验收标准?考虑一次在Sprint中期检查来重新评估Sprint计划。
Sprint任务是否反映出团队实际在做的事情?与Sprint无关的工作是Sprint的障碍。
团队是否由5-9个跨职能人员组成?能否来构建潜在的可交付的产品增量?
团队的任务板是否包含最新信息?
团队用于自管理的工件(任务板、Sprint燃尽图等等)是否对团队可见?方便使用吗?
这些工件是否受到充分保护,不受外界干涉?团队外部的人对团队日常活动的过度审视可能会阻碍团队内部的透明化和自我管理。
团队成员是否会自愿领取任务?在Scrum团队中,应该感觉自己就像得到了报酬的志愿者。如果没有这种感觉,那一定是哪里出问题了。
偿还技术债务的需要有没有放在待办列表里?如果没有的话,团队有没有和产品负责人沟通?
团队成员能否抛开各自的岗位定义,对约定工作的所有方面(测试、用户文档等)集体负责?
管理层是否以集体的成功来衡量团队?
三、工程实践做得如何?
团队开发中的系统是否有一个“按下测试”的按钮,让每个人(同一团队或不同团队的)都能方便地检测到系统被破坏了?通常可以使用XUnit框架(JUnit等)来实现。
是否自动化的端到端系统测试(或功能测试)与自动化的单元测试之间寻求适当的平衡?
团队是否用开发系统的同种语言来写系统功能测试和单元测试(而不是用只有部分团队知道如何维护的专用脚本语言或捕捉回放工具)?
团队是否发现在系统测试和单元测试之间存在有用的灰色区域吗?
当有人引起回归失败时,是否有个持续集成服务器会在一小时甚至几分钟内自动发出警报?
是否将所有测试汇总到持续集成服务器的结果中?
团队成员们是否发现了持续设计和不断重构的乐趣?重构有一个严格的定义:改变系统的内部结构而不改变其外部行为,且在存在重复的代码、复杂的条件逻辑、糟糕的命名标识符、对象之间的过度耦合等情况下进行。重构应该连续进行,至少每小时进行几次。只有在自动化测试覆盖的情况下,才可能有信心地进行重构。
产品待办事项列表的“完成”的定义是否包括完整的自动化测试覆盖和重构?测试驱动开发(TDD)可以增加实现此目标的可能性。
团队成员是否大多数时间来结对编程?结对编程可以显著地增加代码的可维护性,并减少Bug率。
四、团队/组织做得如何?
团队之间是否有充分沟通?Scrum of Scrums是实现沟通的一种方式。
团队在需要跨越架构边界的情况下是否能够独立交付工作?
是否在组织内进行全面回顾以解决跨团队、系统的问题?
在适当的时候,是否有将团队障碍有贴在研发主管的办公室墙上吗?这些障碍带来的浪费是否能被量化为失去的钱、投入市场的时间、质量或者客户线索?
团队或组织是否是为数不多的能提供和团队集体目标一致的职业道路的组织?如果是以牺牲测试、自动化测试或用户文档为代价来做编程或架构工作,请回答“否”。
团队或组织是否被专业刊物或其他独立来源公认为最佳组织或行业引领者?
是否在创建学习型组织?
像Scrum Master一类的创造性的工作没有一个标准实践,上面列出的点可能会帮到Scrum Master,也有可能帮不到。不过,一旦Scrum Master开始意识到自己可以做些什么来改变现状,尽管可能不敢去做。但没关系,你已经走上了一条成为优秀Scrum Master的道路。
【审视】Scrum Master的检查清单的更多相关文章
- Scrum Master教你四招,瓦解团队内部刺头
摘要:<Scrum精髓>一书中将Scrum Master的职责总结为六类:敏捷教练,服务型领导,“保护伞”,“清道夫”,过程权威,“变革代言人”.作为“保护伞“,Scrum Master应 ...
- Scrum Master 面试题 – 你必须知道的22个Scrum基础知识
以下的22个问题基本上涵盖了Scrum所涉及的内容,如果你能够正确回答出所有问题,那么你已经具备了作为一名Scrum Master的基本素质:当然,作为一名合格的Scrum Master,更重要的是你 ...
- 产品经理和Scrum Master都必须是领域专家吗?
注明:原文来自 Mike Cohn的邮件推送,我已将原文贴在最后供参考,翻译的目的是为了锻炼自己的能力和理解水平,如有版权侵犯,请告之. Scrum Master 和 产品经理应该是领域专家吗?让我们 ...
- Scrum Master如何让敏捷团队正常运转?
官方<Scrum指南>中定义:Scrum Master在Scrum团队中属于服务型领导,负责践行和支持<Scrum指南>中定义的Scrum,要帮团队的每个人理解Scrum理论. ...
- 敏捷之旅--携程Scrum Master 新官上任三把火?
随着敏捷在国内的推行,越来越多的公司和组织开始使用敏捷领导团队. 敏捷团队如雨后春笋之势涌现. 敏捷教练的团队也越来越壮大. 原先只需要一个敏捷教练就能搞定,但是随着团队越来越多,我们难免会将 ...
- CSM(Certified Scrum Master) 敏捷认证是什么?
Scrum 是用于开发和持续支持复杂产品的一个框架.Scrum 基于试验性过程控制理论,借鉴了精益思想.时间盒.模块化设计等,并完整地体现了敏捷宣言和敏捷原则.Scrum 采用一种迭代.增量式的方法来 ...
- 获得CSM(Certified Scrum Master)-价值驱动交付。
2019年越来越多的企业开始实行敏捷转型,紧随时代潮流,学习最先进的科学管理方法,找到正确的人(团队),为企业交付高价值的产品服务. 导师Ethan ,培训的课程让人收益匪浅,活到老学到老,丰富的知识 ...
- 权威的国际敏捷认证Certified Scrum Master (CSM)
权威的国际敏捷认证Certified Scrum Master (CSM) A. 认证前 在学习Certified Scrum Master (CSM)之前,你需要了解: 什么是CSM CSM认证与其 ...
- Certified Scrum Master CSM 中文资料大全
课程概览 本课程由中国唯一一位获CST认证培训师及LeSS-Friendly Scrum Trainer双重认证讲师,丰富一线实战经验的Scrum教练讲授:姜信宝 BoB Jiang. 敏捷变革中心是 ...
随机推荐
- 【Python 第1课】安装
在Windows系统上安装Python的方法还算简单,比平常装个软件稍稍麻烦一点.进入Python的官方下载页面Python.org/download,你会看到一堆下载链接.我们就选"Pyt ...
- 什么是 NetflixFeign?它的优点是什么?
Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 启发的 java 客户端联编程序.Feign 的第一个目标是将约束分母的复杂性统一到 http apis,而不考虑其稳定 ...
- spring-boot中的AOP
public class User { private Integer id; private String username; private String note; public User(In ...
- 什么是 bean 的自动装配?
Spring 容器能够自动装配相互合作的 bean,这意味着容器不需要和配置,能通 过 Bean 工厂自动处理 bean 之间的协作.
- SQLAlchemy 使用教程
前戏: 不用怀疑,你肯定用过Django中的orm,这个orm框架是django框架中自己封装的,在Django中配置和使用较为简单,但是并不适用于其他web框架,而今天说的sqlalchemy是 ...
- Leetcode26——删除有序数组中的重复项(双指针法)
Leetcode26--删除有序数组中的重复项(双指针法) 1. 题目简述 给你一个升序排列的数组 nums ,请你原地 删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度.元素的相对 ...
- Python3通过字符串访问与修改局部变量
技术背景 在Python中定义一个函数时,就会把变量空间划分为全局变量(global)与局部变量(local),如果是定义在一个类的成员函数中,那么就还有额外的成员变量(self)空间.那么,如果在实 ...
- mysql 合并查询结果
UNION 使用 UNION 关键字是,数据库系统会将所有的查询结果合并到一起,然后去除掉相同的记录: UNION ALL 使用 UNION ALL,不会去除掉系统的记录:
- jdbc连接MySQL数据库+简单实例(普通JDBC方法实现和连接池方式实现)
jdbc连接数据库 总结内容 1. 基本概念 jdbc的概念 2. 数据库连接 数据库的连接 DAO层思想 重构设计 3. 事务 概念 事务的ACID属性 事务的操作 4. 连接池 为什么要使用连接池 ...
- python---运算符和编码
格式化输出 在输出数据时,会有用户需要输入的信息被输出,没办法预先知道,这就需要使用格式化输出.先在相应位置放置一个占位符,再把字符串里的占位符与外部的变量做个映射关系. name = input(& ...