用了Scrum越来越累?这三点帮你走出困境
摘要:你有没有一种感觉,团队用了Scrum之后,工作任务越来越多,加班越来越严重?有?好兄弟,这篇文章正好能帮你~
本文分享自华为云社区《用了Scrum越来越累?这三点帮你走出困境》,作者: 敏捷小智 。
你有没有一种感觉,团队用了Scrum之后,工作任务越来越多,加班越来越严重?有?好兄弟,这篇文章正好能帮你~
“用了Scrum之后,团队越来越累”,这应该怪Scrum么?其实,这个锅Scrum还真不背。《2020-Scrum-Guide(简体中文)》有如下描述:“Scrum基于经验主义和精益思维。 经验主义主张知识源自实际经验以及根据当前观察到的事物作出的判断所获得。精益思维减少浪费,专注于根本。”,也就是说Scrum可以帮助团队减少浪费,让团队开发出最具核心价值的产品,但并没有说使用了Scrum,工作量会变多或是变少,那问题出在哪呢?我们来分析一下。
问题分析
本文列举了三个比较具有代表性的原因。
1. 需求没有得到很好的澄清
从计划会议开始,团队就一直处于混沌的状态:部分业务场景相对复杂, PO仅靠计划会议不足以向团队澄清所有重要的业务需求;计划会议结束,很多需求的细节甚至主要功能,都没有被开发人员理解,开发人员带着满脑子问号进入编码阶段,最终结果可想而知——开发人员在迭代中不断地和PO对齐,不断的整改编写完成的代码,测试人员也一直忙于功能测试、回归测试——整个团队忙的飞起,做出的产品却没有起飞。
2. 估算不准确
这里包含两方面估算错误,一方面是对团队速率估算错误,另一方面是对于需求工作量估算错误。
团队速率估算错误比如:团队一个迭代使使劲勉强可以做40个故事点的需求,结果团队高估了自己的能力,以为轻轻松松就可以做50个故事点的需求,最终造成团队疲于交付。需求工作量估算错误和速率错误同理。
3. 团队内卷
IT行业内卷已经成为常态,以前没用Scrum大家都写周报,发给领导汇报工作,谁也不知道彼此干了啥;现在天天开早会,早会上一听说,嗯?这兄弟昨天干了这么多?那我要做的比你更多(比你更好)——这种内卷氛围在团队里蔓延起来,整个团队就会很累。
解决方法
1. 添加需求梳理会,提前了解需求
Scrum框架中预置的5个活动并不包含需求梳理会,所以很多团队对“需求梳理会”(以下简称梳理会)这个词感到非常陌生,那什么是梳理会?
梳理会是PO向团队成员澄清未来迭代要做哪些需求的活动,开完梳理会再开计划会议,团队成员会对需求有更好的理解。梳理会虽然不是Scrum标准活动,但实际生产中,很多Scrum团队都会在迭代中插入梳理会,帮助团队对需求达成共识,确保下一个Sprint顺利进行。
梳理会什么时候开,开多久?
梳理会通常在迭代的中后期进行,和Scrum标准事件一样,梳理会的时间也应该是固定的,且适用于时间盒。梳理会持续时长通常不超过迭代总时长的5%,比如两周一迭代,团队可以选择第二周周三的下午开展需求梳理会。
梳理会怎么开?
首先声明一点,需求梳理会不是计划会议的提前演练,梳理会相对于计划会议,更像是一种辅助关系,梳理会目的是对Product Backlog进行梳理、细化、排序;计划会议更多的是对Sprint Backlog里的需求进行拆分、认领。
梳理会首先需要PO说明下迭代哪些需求需要进行开发,同时PO负责向团队澄清这些需求。如果某个需求太大,PO和团队一起对需求进行拆分。梳理会上的需求拆分目的是弄清楚下迭代底要做什么,这个过程不涉及团队分工,所以需求拆分至Story级别即可,将Story拆分至Task的操作可以放到计划会议去做。
需求拆分完成后,团队和PO一起,对新的Product Backlog Item(PBI)进行优先级排列,并对近期要开发的需求进行工作量估算。所以梳理会给计划会议打了一个很好的基础,同时团队也有更多的时间去深入了解需求,避免需求没有得到很好的澄清。
2. 合理估算团队速率和工作量
如果团队成员对需求理解到位,可每个迭代还是被一大堆工作压着,那就有可能是计划会议上活领多了,这就需要团队对团队速率以及每个需求的工作量有一个很好的估量。
单个需求的工作量可以以小时为单位,高端点的话,可以用故事点做计量单位。工作量估算的过程,最好是整个团队都参与进来——人多力量大,一方面能将需求考虑的更全面,另一方面可以缩小估算偏差。更多估算知识可以参考《【DevCloud · 敏捷智库】估算四篇合集》。
团队速率通常不等于一个迭代100%的时间,因为团队还需要开会、研讨等。
团队速率是以故事点为单位,也就是正常情况下,一个迭代中,团队能够交付多少故事点的需求。如果团队没有尝试过使用故事点来估算团队速率,使用工时来估算也可以。这里推荐以迭代80%的时间作为可工作时间的上限,也就是说,团队认领的工作总量不要超过迭代时间*团队人数的80%。比如团队7个人,迭代时长为两周(每天工作八小时,每周工作五天),8*5*2*7*80% = 448h,也就是说这个团队每个迭代认领的总工作量应该在448h附近(故事点为单位同理)。
如果团队觉得448h时间还比较紧迫(不考虑团队磨洋工的情况)或者有很多闲置时间,那么后续迭代可根据实际情况,重新对团队速率做估算。
3. Scrum Master遵从敏捷原则,让团队远离内卷
团队成员之间稍微卷一点,可能会起到一定的积极影响;可是卷的严重了,比如996甚至007,整个团队就很累,这对于团队发展是不利的。
Scrum本身提倡精益思想,既然团队迭代初期认领的需求工作量是符合团队速率的,那么团队加班在做什么呢?是否是过度开发,后面是否会造成浪费?Scrum Master和整个团队都要反思。
而且敏捷十二原则有一条:“敏捷过程倡导可持续开发,责任人、开发人员和用户要能够共同维持其步调稳定延续”,如果团队按照内卷的节奏,能持续并且高效的发展下去,倒也能接受,可是团队往往很难坚持,这与敏捷的原则是违背的,作为Scrum Master应该注意到这点,并引导团队作出调整。
整个大环境都在内卷,如果Scrum Master改变不了团队内卷的情况,那就为团队成员准备下《颈椎护理指南》《21天弄明白腰间盘》等养生书籍吧。
总结
以上三点分别从不同的角度讲述了用了Scrum之后,团队越来越累的原因和解决方法,希望对你有帮助。
此文由DevSecOps专家服务团队出品,前往 专家服务,获取更多DevSecOps工程方法、工具平台、最佳实践等干货。
用了Scrum越来越累?这三点帮你走出困境的更多相关文章
- 演进之美,越来越美:三分钟看尽 iOS 1 ~ iOS 8 的进化史
演进之美,越来越美:三分钟看尽 iOS 1 ~ iOS 8 的进化史 原文出处: 少数派 9 月 18 日苹果就将推出 iOS 8 正式版了,从 2007 年发布第一代 iPhone 时搭载在 iPh ...
- 第三章 用SDK编译出第一个在Linux下的软件界面
第三章 用SDK编译出第一个在Linux下的软件界面 先创建一个工程目录“mkdir project1”,进入目录,创建main.cpp文件,编写代码如下: 代码内容暂时可以先不理解,先让程序跑起来再 ...
- JS事件 编程练习-自制计算器 使用JS完成一个简单的计算器功能。实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除。
编程练习 使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. 提示:获取元素的值设置和获取方法为:例:赋值:document.getElement ...
- 程序员你为什么这么累【三】:编码习惯之Controller规范
作者:晓风轻本文转载自:https://zhuanlan.zhihu.com/p/28717374 第一篇文章中,我贴了2段代码,第一个是原生态的,第2段是我指定了接口定义规范,使用AOP技术之后最终 ...
- 王者荣耀交流协会 - 第7次Scrum会议(第三周)
1.例会照片 照片由王超(本人)拍摄,组内成员刘耀泽,高远博,王磊,王玉玲,王超,任思佳,袁玥全部到齐. 2.时间跨度: 2017年11月2日 17:00 — 17:20 ,总计20分钟. 3.地 点 ...
- 自己动手做聊天机器人 二十九-重磅:近1GB的三千万聊天语料供出
Reference: http://www.shareditor.com/blogshow/?blogId=112 经过半个月的倾力打造,建设好的聊天语料库包含三千多万条简体中文高质量聊天语料,近1G ...
- Git提交错了不用慌,这三招帮你修改记录
大家好,今天我们来聊聊git当中一个很重要的功能--历史记录的修改. 有的时候我们会突然发现某个地方需要修改,最常见的某个不应该被提交的文件被提交了进来.我们希望它不只是在后序的版本当中不再出现,而是 ...
- Android IOS WebRTC 音视频开发总结(七三)-- 我为什么走上了创业这条不归路?
本文主要介绍自己为什么选择创业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help 2016.06.01对公司来说是个很 ...
- 如何三招帮你排查Linux中的硬件问题
下列贴士帮助你更快速更轻松地为Linux中的硬件排查故障.许多不同的因素可能导致Linux硬件出现问题:在你开始尝试诊断之前,了解最常见的问题以及最有可能找到原因的环节是明智之举. Linux服务器在 ...
随机推荐
- 解决Mui中popover 顶部弹出菜单弹出位置不准确以及无法收回的问题
前言 最近公司的项目转向使用Hbuilder开发移动端项目,其中想要通过在顶部标题栏加入弹出菜单的方式,来定位长列表的位置,如图所示. 问题 Mui的功能貌似还不是很完善,在使用这个弹出菜单的时候,发 ...
- win10 Celery异步任务报错: Task handler raised error: ValueError('not enough values to unpack (expected 3, got 0)
示例代码如下: from celery import Celery app = Celery('tasks', backend='redis://×××:6379/1', broker='redis: ...
- mysql数据乱码
更改数据库安装时的字符编码.打开mysql安装目录,找到my.ini文件,通过使用记事本的方式打开,将这里面的default-character-set=latin1修改成gbk,注意这里面有两处需要 ...
- HttpRequest.Path与HttpRequest.PathBase区别
源自stackoverflow
- 在线操作word和在线预览查找的资料记录
在线操作word和在线预览查找的资料记录 在线操作word查找的资料记录 富文本操作 http://fex.baidu.com/ueditor/ 控件类 通过 js 调用控件操作 word 文档 1. ...
- socket套接字模块及黏包现象
一.socket套接字模块 socket概念 socket层 理解socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模 ...
- 新手入门C语言第七章:C判断
C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). C 语言把任何非零和非空的值假定为 true,把零或 null ...
- Jx.Cms开发笔记(二)-系统登录
界面 此界面完全抄了BootstrapAdmin css隔离 由于登录页面的css与其他页面没有什么关系,所以为了防止其他界面的css被污染,我们需要使用css隔离. css隔离需要在_Host.cs ...
- 论文阅读 DynGEM: Deep Embedding Method for Dynamic Graphs
2 DynGEM: Deep Embedding Method for Dynamic Graphs link:https://arxiv.org/abs/1805.11273v1 Abstract ...
- AOT和单文件发布对程序性能的影响
前言 这里先和大家介绍一下.NET一些发布的历史,以前的.NET框架原生并不支持最终编译结果的单文件发布(需要依赖第三方工具),我这里新建了一个简单的ASP.NET Core项目,发布以后的目录就会像 ...