ScrumMaster的教练职责

2023-05-16

ScrumMaster是Scrum团队的敏捷教练。Ken Rubin说,“类似于运动团队的教练,ScrumMaster观察团队使用Scrum的过程,帮助团队提高工作绩效”。教练不是顾问,不提供解决问题的方案,而是支持Scrum团队自己去发现属于自己的最适合的答案。教练犹如一面镜子,反映Scrum团队的真实现状和局限,同时引发团队看到更多的可能性,鼓励团队尝试变革,不断提高。


ScrumMaster指导团队的日常活动


ScrumMaster指导团队的时候都干啥呢?我们把ScrumMaster指导团队的日常活动概括为如下这五个方面:留意、反馈、引导、教育、和支持。


1. 留意

好的ScrumMaster要眼观六路,耳听八方,注意观察团队的工作方式,仔细思考他们为什么会这样做,想想有哪些诱因。例如,刚导入Scrum的团队经常会出现这样的问题,开发团队不及时更新看板上的任务状态,在站会上说某个任务已经完成了,但看板上的任务状态还是To-Be。如果留意开发团队的工作环境,就会发现团队使用软件工具(例如JIRA)实现看板的功能,开发者需要登录到这个系统上,才能看到看板的状态。不像物理看板,一直竖在开发团队的座位旁。平时这个Scrum管理工具没人去看,也就没人记得要去更新它。简单的说,是可视化出了问题。


2. 反馈

注意观察是第一步,看到问题以后要反馈,这是第二步。ScrumMaster要把自己观察到的情况反馈给团队,帮助他们利用这些反馈改进工作方式。继续上面的例子中谈到的问题,应该怎么改进呢?引用一个案例。在开会前,ScrumMaster Linda请开发者Jack登录到这个软件系统中,在他的计算机上把团队的开发任务的状态显示出来,请大家在这台计算机前围成一个半圆,让大家都看到当前的状态。然后说:“昨天站会,我听到这个任务已经完成,但看板上它的状态还是To-Be。”那几个没有及时更新看板状态的开发者就说:“我马上更新。”上过导入Scrum的培训课以后,开发者知道怎样做是正确的,教练不用批评或指责,只需要告诉团队自己看到的现象,团队就知道该怎样改正了。这就是反馈的作用。


3. 引导

ScrumMaster需要促进有建设性的沟通和协作,帮助团队走向敏捷。《敏捷教练》这本书里有很多关于教练怎样引导会议的案例。这里引用其中一个。有一次在规划会议中,项目经理颇为沮丧地对开发团队说道:“别扯了!我只是想拿到这些故事的数字而已。”项目经理给团队造成一种错觉,以为规划会议就是完成项目管理的工件。他没有抓住要点,召开规划会议的目的是弄明白要做什么,而这必须得先搞清楚它需要多长时间。团队不可能在讨论清楚需要做的事情前就“给故事弄个数字”,而这种讨论往往会涉及软件设计方面的交流。会后,敏捷教练跟项目经理分享了观察到的情况,项目经理很高兴敏捷教练指出了问题。随后那次会议,设计议程的时候,项目经理就预留出时间来进行技术讨论。


4. 教育

ScrumMaster要想方设法鼓励团队学习敏捷,方法包括演示Scrum中的一些实践;分享其他团队使用Scrum的经验;还可以开设培训课程。例如,在一个团队刚刚导入Scrum的时候,可以给全团队做一次集中培训,讲解Scrum价值观,原则和各个实践,演示怎样使用Kanban,怎样用估算扑克估算用户故事点,并分享其他团队的案例供大家参考学习。在运用Scrum的过程中,如果遇到什么特殊情况,也应该开设一些有针对性的专题培训,例如代码重构。还可以在组建了微信敏捷讨论组,分享一些敏捷相关的资讯,提高大家对敏捷的认知水平。


5. 支持

当团队遇到困难时,要鼓励他们,帮助他们保持动力。讲个案例。Amy是一位敏捷教练,他指导的开发团队中有一个小伙子叫David。有一段时期,开站会的时候,轮到David发言,David一直低着头抠他的手指头,说话声音也非常小,几乎听不见。Amy心里纳闷儿:“David以前并不这样,最近这是怎么了?”后来Amy约David在一起吃中饭,并告诉他,自己注意到他抠手指头、说话声音很小。David打开话匣子,说了他的迷茫:继续干下去没动力,换岗或离职又不知道要到哪里去。David问了Amy几个问题,Amy回答了David,帮助David了解到一些信息,包括他当前所从事的技术领域在组织内的重要性,和在行业中的领先地位;其他岗位的工作内容和挑战;离职的补偿政策和风险。Amy又引导David重新认识自己,看到自己的强项,鼓励他在当前这个技术领域坚持下去。最后David说:“我明白了,我要留下来,干出成绩。我该早些找你谈谈的。谢谢你Amy!”


ScrumMaster和开发团队之间的关系


ScrumMaster培养团队,提升团队自身的产出能力,提升团队成员的自我判断能力,帮助团队成员顺利度过从不敏捷到敏捷这个转型的困难时期,让他们走上自己的敏捷之路,最终找到自己的路。在处理ScrumMaster和开发团队的关系时,有两个误区要小心。


第一、ScrumMaster不要越俎代庖


例如,开发团队做单元测试不到位,这在很多组织都是个老大难问题。怎么办?ScrumMaster撸起袖子自己上,秒变tester?不要这样做。这样做会导致开发团队以为ScrumMaster就是负责测试的,自己不必测试,这样的想法反而会导致发布质量下降。再讲一个案例。Amanda是一位擅长测试技术和工具的敏捷教练。她找开发团队聊天“为啥不做测试呢?”开发团队说:“手工测试花时间太多。”Amanda就推荐一个测试工具给他们,有人说这工具不好用,Amanda就坐在开发团队旁边给他们演示怎样使用。Amanda运行了一个例子,告诉开发团队只要把例子换成他们产品需要测试的模块就行了。开发团队一看,原来这么简单啊!Amanda早上花了30分钟给开发团队演示,这个开发团队下午就把第一份自动化测试报告发出来了。后来这个团队坚持自动化测试,一直到产品开发结束。


ScrumMaster的职责是培养团队,提升团队自身的产出能力。这就好比,排球比赛,教练能上场替队员打球吗?郎平带的球队也输过球,你什么时候见过郎平把主攻手换下来,自己上场扣球呢?培养团队,功夫在场外,要演示,要辅导,要答疑,就是不要替做他该做的工作。


第二、ScrumMaster不要监控惩罚


还说开发团队做单元测试的问题。有的ScrumMaster是这样做的,设立测试覆盖率KPI,目标值100%,不达标就扣考核的绩效分数。开始开发团队还抱怨,后来被管理层强力压下去了。谁也不敢再抱怨。但口服心不服啊!管理层要看覆盖率100%是吧?开发者用Excel手工填一张覆盖率100%的报告,和工具自动生成的一模一样。开里程碑会议的时候,微笑着告诉经理“我们的覆盖率达到了目标值。”心里说:“一个星期几十个项目结束,我不信你有精力查下去。”ScrumMaster这样处理和开发团队的关系,对开发团队、对产品都没有好处。


ScrumMaster和产品负责人之间的关系


ScrumMaster和产品负责人之间的关系,既是互相制衡的,又是互补的。


先讲制衡。产品负责人的目标是产品,ScrumMaster的目标是培养团队,两个角色的目的不同。雄心勃勃的产品负责人开发产品追求多、快、好、省,难免要对开发团队举起小皮鞭,催促开发团队加班赶工。ScrumMaster要保护团队,使团队可持续发展,要做产品负责人和开发团队之间的润滑剂。产品负责人和ScrumMaster这两个角色设计的初衷就是为了彼此制衡,所以不推荐让一个人兼任ScrumMaster和产品负责人这两个角色。


再讲互补。产品负责人主要负责“目标”--开发正确的产品,ScrumMaster主要负责“方式”--使用正确的方式来实施Scrum,通过使用Scrum帮助产品负责人取得最大的业务成果。只有使用正确的方式来创建正确的产品,才能取得持久的成功。把眼光放长远,优秀的产品背后必须有一直优秀的开发团队。所以,产品负责人和ScrumMaster又是互补的。


以上我用严肃的语言一本正经的讲ScrumMaster的第一个职责:敏捷教练。下面咱们也灌点儿心灵鸡汤,讲点励志故事。我的少年时代,是在学习中国女排拼搏精神的氛围中度过的。在我们那一代人里,没有人不知道郎平。郎平退役后,成为一名职业教练,把美国女排带到奥运亚军,成就了美国女排的奖牌梦,美国女排也成就了郎平作为女排教练的世界知名度。也正是因为郎平执教女排的光辉战绩,中国体委才会邀请郎平回国执教。这才有了当年的“众望所归”。与运动教练类似,优秀的ScrumMaster和优秀产品负责人、优秀的开发团队三者之间互相成就。与之相反,中国某体育运动项目,几十年来,教练换了二十几任,球队就是不出成绩。有网友调侃说:此运动项目的教练可以划分为两种状态:已经下课的,和等着下课的。


小结

ScrumMaster的第一项职责是Scrum团队的敏捷教练。ScrumMaster通过留意、反馈、引导、教育、和支持,帮助团队驾驭敏捷,开发出色的软件。ScrumMaster培养开发团队。ScrumMaster与产品负责人之间既相互制衡,又互补。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ScrumMaster的教练职责 的相关文章

  • python 的StringIO

    1 IO的含义 在计算机中 xff0c IO是Input Output的简写 xff0c 也就是输入和输出 由于程序和运行时数据是在内存中驻留 xff0c 由CPU这个超快的计算核心来执行 xff0c 涉及到数据交换的地方 xff0c 通常
  • python 的fcntl模块

    python 中给文件加锁 fcntl模块 import fcntl 打开一个文件 f 61 open 39 test 39 当前目录下test文件要先存在 xff0c 如果不存在会报错 对该文件加密 xff1a fcntl flock f
  • Jmeter添加MD5方法插件

    1 xff1a 下载 https jmeter plugins org install Install 2 xff1a jmeter plugins manager 1 3 jar放到 apache jmeter 5 0 lib ext目录
  • sql 语句 将查询结果中数字等标示转成汉字

    使用case 语句 将sex 字段进行转换 0 1 2 男 xff0c 女 xff0c 未知 SELECT u userid u username CASE u sex WHEN 0 THEN 39 女 39 WHEN 1 THEN 39
  • linux的more命令

    more命令 xff0c 功能类似 cat xff0c cat命令是整个文件的内容从上到下显示在屏幕上 more会以一页一页的显 示方便使用者逐页阅读 xff0c 而最基本的指令就是按空白键 xff08 space xff09 就往下一页
  • docker入门实例

    1 image文件 Docker 把应用程序及其依赖 xff0c 打包在 image 文件里面 只有通过这个文件 xff0c 才能生成 Docker 容器 image 文件可以看作是容器的模板 Docker 根据 image 文件生成容器的
  • vim批量替换&行首尾增加&删除列

    删除列 删除列的方法 xff1a 1 ctrl 43 v 这样会启动可视模式 xff0c 按 j k 可以发现它能够在一列上面选中字符 2 按下 G 这样可以从文本的第一行选中到最后一行 3 按下 x 就会把这一列删掉 行首尾替换 xff1
  • vim 支持 python

    https www jianshu com p 3e606e31da5f 前段时间刚玩linux时为了图个简单打算直接用vim来写python代码省得再下个软件 xff08 好吧 xff0c 其实是自己下了好多次都失败了 xff0c 一气之
  • 用户态和核心态的概念以及为什么要区别?以及两者之间的切换

    一 用户态和核心态的概念 用户态 xff1a 内核态与用户态是操作系统的两种运行级别 当程序运行在3级特权级上时 xff0c 就可以称之为运行在用户态 xff0c 因为这是最低特权级 xff0c 是普通的用户进程运行的特权级 xff0c 大
  • strstr(str1,str2)函数使用时注意事项

    可能有的人还没听过strstr函数 xff0c 个人认为这个一个很实用的函数 xff0c strstr str1 str2 函数是字符串处理函数之一 xff0c 位于头文件 string h 中 对于处理字符串的一些问题有很大的帮助 定义
  • Java This 的用法

    JAVA This的用法 先写一个要调用的类 都放在名为test的包下面 在这里插入代码片package test span class token keyword public span span class token keyword
  • 关于松耦合和紧耦合的理解

    松耦合系统通常是基于消息的系统 xff0c 此时客户端和远程服务并不知道对方是如何实现的 客户端和服务之间的通讯由消息的架构支配 只要消息符合协商的架构 xff0c 则客户端或服务的实现就可以根据需要进行更改 xff0c 而不必担心会破坏对
  • 第六篇 键盘中断与应用程序读取键盘缓冲区

    这篇博文主要介绍在X86下键盘的中断过程 xff0c 以及应用程序如何利用中断读取键盘缓冲区内容 一 撰写该篇博文的背景介绍 在我们全屏看视频时 xff0c 按下Esc键 xff0c 播放器还原或者最小化 xff1b 在利用其他软件的时候
  • 发现一个aruco在线生成器,可以在线生成aruco CharucoBoard GridBoard AprilTag 图片, 真香

    最近在研究 opencv 检测 aruco标记项目 xff0c 想弄点aruco标记码来测试 xff0c 发现网上很少在线生成aruco标记码的工具 xff0c 导致在做测试时候浪费了很多时间去搞这个码 xff0c 基本上大家都用 xff0
  • FreeRTOS基础六:中断管理1

    嵌入式实时系统需要对外界的某个事件做出及时的响应动作 例如串口外设收到了一帧数据后 xff0c 需要通知数据解析任务 xff0c 同时还要将数据帧传递给解析任务 xff0c 完成数据的处理 设计出一种好的策略来完成这个过程时需要考虑以下几个
  • FreeRTOS基础四:队列

    简介 FreeRTOS中的队列是一种用于实现 任务与任务 xff0c 任务与中断 以及 中断与任务 之间的通信 机制 此外 xff0c 任务从队列读数据或者写入数据到队列时 xff0c 都可能被阻塞 这个特性使得任务可以被设计成基于事件驱动

随机推荐

  • FreeRTOS基础二:堆内存管理之heap_4方案

    背景知识 从FreeRTOS V9 0 0内核版本开始 xff0c 内核对象占用的内存可以在编译期间静态分配 xff0c 也可以在运行期间动态分配 内核对象如 xff1a tasks xff08 任务 xff09 xff0c queues
  • MQ与Webservice的区别

    Webservice 和MQ MessageQueue 都是解决跨平台通信的常用手段 xff0c 两者有哪些区别呢 xff1f 个人认为最本质的区别在于 Webservice近乎实时通信 xff0c 而MQ却通常是延时通信 什么意思呢 xf
  • uORB通信机制和添加自己的topics学习笔记

    本文参考 Ubuntu16 04下PX4环境快速搭建及uORB通信机制进行操作 结合网上一篇uROB的介绍PX4 Pixhawk uORB深入理解和应用进行深入的了解 1 简介 uORB Micro Object Request Broke
  • 看到一篇很好的介绍磁力计原理的博客

    详细内容戳这里http blog sina com cn s blog 402c071e0102v8ig html
  • QT工程转换为VS2013项目文件

    xff08 win7系统 xff09 1 点击开始 xff0c 输入cmd xff0c 打开cmd 2 输入cd c apm点击回车键 注 xff1a apm是我的qt的工程文件夹 xff0c 最好放在c盘 xff0c 其他盘转换都不成功
  • C语言:函数返回字符串的四种方法

    转载连接 xff1a 1 https blog csdn net turkeyzhou article details 6104135 comments 2 https www cnblogs com qingergege p 649668
  • C语言:字符串中查找指定字符——strchr()和strrchr()

    参考文章连接 xff1a 1 http c biancheng net cpp html 161 html 2 http c biancheng net cpp html 172 html 1 头文件 xff1a include lt st
  • C语言:整型、浮点型和字符串间转换

    参考文章链接 xff1a 1 http c biancheng net cpp html 1573 html 2 http c biancheng net cpp html 1574 html 1 整型 浮点型 gt 字符串 整数转换为字符
  • 学习贵在坚持!

    最近学习颇为不顺 xff0c 周围都是一些不利的消息 xff0c 有些心灰意冷 可是这不是与我写本文的初衷相悖了么 xff1f 看到了比自己优秀的人干出来辉煌的事情 xff0c 写出来文字优美的文章 xff0c 自己就有相形见绌的自卑感 可
  • Qt中 QString 和int, char等的“相互”转换

    原文链接 xff1a https blog csdn net ei nino article details 7297791 Qt中 int float double转换为QString 有两种方法 1 使用QString number 如
  • 计算器第二版:C语言,VC++6.0

    使用栈实现 xff0c 前缀表达式变后缀表达式的原理 xff0c 但是没有转换 xff0c 是边转换边实现 xff1a include lt stdio h gt include lt stdlib h gt include lt coni
  • 计算器第三版:C语言,递归,VC++6.0

    参考文章 xff1a https blog csdn net u011692041 article details 49796343 https blog csdn net u011692041 article details 497991
  • 计算器第四版:C++,QT

    核心算法和第二版一样 xff1a 头文件 xff1a calculate h ifndef CALCULATE H define CALCULATE H include lt QMainWindow gt include lt QPushB
  • USB协议概念学习

    1 USB总线结构 usb的总线拓扑结构如下所示 xff1a 从USB总线结构可以看出 xff0c 主要由3部分组成 xff1a USB主机 Host USB线缆 USB设备 hub Func等 USB主机 xff1a 一般成为USB Ho
  • 创新工场两道笔试题0919

    题目1 字符串去重 xff0c 老题目 xff0c 只是要求不能开辟新空间用来复制原字符串 思路 xff1a 使用布尔型的简单hash表可以节省空间 xff0c 用来存储字符是否出现的信息 xff0c 刚开始hash表里面都是false x
  • ROS仿真机器人学习笔记二:创建4轮小车模型及相关xraco文件修改

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 例如 xff1a 第一章 Python 机器学习入门之pandas的使用 提示 xff1a 写完文章后 xff0c 目录可以自动生成 x
  • 旧电脑升级Windows11时检查CPU和TPM2.0不满足的解决方案(慎重)

    上个月微软发布了Windows11 22H2正式版 xff0c 不少新电脑也接收到了推送 xff0c 楼主的台式 xff08 i3 8100 军规星H310M xff09 也接收到了推送 xff0c 但是碍于Win11蛋疼的右键和状态栏消息
  • windows下安装docker

    windows下安装docker 0 前置条件 环境说明 xff1a windows11 家庭中文版 开启Hyper V xff08 可以百度如何开启 xff09 如何添加Hyper V 创建hyper txt xff0c 复制如下内容 x
  • STM32CubeMX配置生成FreeRTOS项目

    文章目录 1 安装STM32CubeMX软件1 1 下载安装1 2 安装要用到的芯片软件包 2 配置FreeRTOS项目2 1 创建工程2 2 配置SYS2 3 配置RCC2 4 配置系统运行时钟2 5 配置UART1串口作为调试代码2 6
  • ScrumMaster的教练职责

    ScrumMaster是Scrum团队的敏捷教练 Ken Rubin说 xff0c 类似于运动团队的教练 xff0c ScrumMaster观察团队使用Scrum的过程 xff0c 帮助团队提高工作绩效 教练不是顾问 xff0c 不提供解决