效率思维模式与Zombie Scrum
Scrum是由Ken Schwaber和Jeff Sutherland在20世纪90年代提出的概念,并在1995年首次正式确定。起初Scrum是为了解决产品和软件开发固有的复杂性,然而现在Scrum被成功地应用于市场营销、组织变革和科学研究等多个领域的复杂问题。
Scrum主要建立在以下三个原则的基础上:
- 透明度:你需要收集数据(比如一些指标、团队成员的反馈或其他团队的经验之谈),从而找到你的目标。
- 检查:你需要和大家一起监督迭代的进度,并决定迭代完成的标准是什么。
- 适应:你需要做出改变,希望能更好更快地完成你的目标。
在实施Scrum之前首先要用一段时间来定义和调整这些规则,以发现工作中的问题,找到可以改善的方向,这里说的问题不是那种一年一次或项目完成时才发生的问题,而是每天、每周或每月都在持续发生的问题。我们不是将我们的决策建立在对可能永远不会发生的潜在风险的假设上,而是根据我们收集到的数据来做决策,这就是所谓的经验主义。
Scrum的价值?
当你需要接受你并不了解和无法控制一切的时候,Scrum提供的经验方法就会变得非常有用。也正因如此,你会改变之前的想法,虽然可能会犯错,但也会有新的、有价值的想法出现,而这些是你从未考虑过的。与其在前期制定一个精确的计划,然后无论如何都要坚持下去,不如把你的想法当作假设或假说,用Scrum的方式来验证。
Scrum可以让你快速了解自己是否偏离了轨道,是否需要做出调整,而不是简单地按照计划行事,你可以先解决你目前面临的最大风险。当你在一个不确定的、不断变化的环境中工作时,这一点尤为重要。你一开始的假设在当时可能是绝对正确的,但是当你在开发产品的时候,环境可能会发生很大的变化,以至于你的整个方案都失败。在一个漫长的项目结束的时候,经验主义的方法并不是灾难性的失败,而是将其降低为一个小的减速带,需要你修正一下方向。
所以,实际上Scrum是降低了复杂的、适应性问题、固有的不可预测性和不确定性的风险。它允许你不断地验证你仍然在做正确的事情,并朝着解决你设定的目标前进。更好的是,你现在有了一个积极发现更好想法的过程,并将其纳入到下一步的塑造中。现在,不确定性反而变成了一件好事,因为其中蕴含着所有的可能性。
"Scrum降低了复杂的、适应性问题固有的不可预测性和不确定性的风险。"
Zombie Scrum和效率思维模式
那么,Zombie Scrum与这一切有什么联系呢?我们发现一个现象:人们使用Scrum的起因很多都是错误的。当你问一个Zombie Scrum组织中的人,他们希望从Scrum中得到什么时,你会听到诸如 "更快"、"更多的大脑"、"更多的产出 "和 "更高的效率"。这与 "敏捷 "这个词的实际含义是非常不同的。这与Scrum的设计目的也大相径庭。这种矛盾从何而来?
传统的组织管理和产品开发方式是为了实现与敏捷性相反的目标,这种心理模式通常被称为 "效率思维模式"。它的目的是尽可能地减少不确定性,提高可预测性,推动效率的提高。这通常表现为会制定详细的计划,通过协议和程序使工作标准化,高度的任务专业化,以及衡量效率(如每天的工作量、出现的问题) 。这种思维模式当然可以在工作相当重复和简单的环境中发挥作用,比如流水线化的工作或某些行政工作,但在人们处理复杂的、适应性强的问题的环境中肯定行不通,因为这些问题本身就具有不可预测性和不确定性。
"效率思维模式的目的是尽可能地减少不确定性,提高可预测性,推动效率的提高。"
Zombie Scrum与领导强烈关注绩效和工作量是有很大关系的,但最终客户是否满意?是否交付了有价值的东西?却无人问津。而且,这种思维模式在很多企业中是根深蒂固的,它已经成为一个我们不需要讨论的 "真相"。这样的企业是想试图用Scrum来影响效率、速度和产出的角度来理解它是有道理的,只不过当发现Scrum似乎并没有做到这一点时,人们就会感到失望。
从非常广泛的意义上来说,Scrum关注的更多是效率,而不是高效。效率是为了尽可能多的完成工作(产出),而高效则是为了工作的价值和有用性(结果)。虽然完全有可能通过Scrum提高效率,但这既不是承诺也不是目标。
在充斥着 "Zombie Scrum"的环境中,大家是很看重“效率思维”的,以至于人们只看到Scrum的结构性元素:角色、事件和工件。他们没有看到也没有体会到这个过程的价值。这就是为什么Zombie Scrum只是看起来像Scrum,但没有其精髓。
"Scrum更关注的是有效(结果),而不是高效(产出)。"
在这篇文章中,我们提到了Scrum的三个原则,如何在必要的时候重复进行,以捕捉工作中出现的偏差、意外发现和潜在机会。Scrum中的所有内容都是围绕这三个支柱设计的。这也是经验主义发挥作用的原因。采用Zombie Scrum的组织,往往有一种效率思维,目标是尽可能减少不确定性,提高可预测性,推动效率。这与在复杂工作中学习和发现的经验主义过程相矛盾。
原文作者:Barry Overeem
翻译整理:Worktile
Worktile 官网:worktile.com
文章首发于「Worktile官方博客」,转载请注明出处。
效率思维模式与Zombie Scrum的更多相关文章
- 成吨提高开发效率:Intellij Shortcuts精简子集与思维模式
在线精简cheatsheet备查表:intellij.linesh.twGithub项目:intellij-mac-frequent-keymap Intellij的快捷键多而繁杂,从官方推荐的key ...
- 减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同
本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用.而是关于:"业务逻辑是不是要封装在存储过程中实现,这样子php.java等就是调用存储过程". ...
- [转]如果我有jQuery背景,我应该如何切换到AngularJS的思维模式?
导言 stackoverflow上有一个人问了一个问题:如果我有jQuery背景,我应该如何切换到AngularJS的思维模式? 有一个回复非常经典,获得了两千多票. 为了让国内开发者也能领略到其中的 ...
- 轮值CEO胡厚崑:到2025年所有的企业都将用到云(云的2.0时代,会有几千朵云几万朵云升起来,这将产生不同的技术模式、商业模式、思维模式)
2016年09月04日 07:38 中国经营报 李凡 在全国工商联“2016年中国民营企业500强”排行榜上夺得头把交椅的华为,向外界描绘了面向未来进一步做大做强的路径. 华为创始人任正非于201 ...
- 成长型思维模式Not yet
当做一件事失败了,要告诉他 暂未成功,暂时没有成功,继续努力,下次就有可能成功. 不及格,暂未及格 是两种思维模式,成长性的思维方式得到的是一个是努力型的人格
- restapi(7)- 谈谈函数式编程的思维模式和习惯
国庆前,参与了一个c# .net 项目,真正重新体验了一把搬砖感觉:在一个多月时间好像不加任何思考,不断敲键盘加代码.我想,这也许是行业内大部分中小型公司程序猿的真实写照:都是坐在电脑前的搬砖工人.不 ...
- 用例图浅谈以及OOA再到情景分析的面向对象电梯的设计(慕课东北大学)面向对象设计思维模式
上班初期还不太适应,平时学习进度也跟不上,节奏慢下来会有时间更新的了. Diagram 这边以学生课程报名系统为例 这就是一种简单的用例图 用例图可以给读者提供的信息非常丰富,但是缺点是都是概 ...
- S-T-E-A-M Science Technology Engineering Art Mathematics 五种思维模式
S-T-E-A-M五个英文字母分别代表 Science 科学,Technology 技术,Engineering 工程,Art 艺术以及 Mathematics 数学.它们并不是简单地整合原来的分科体 ...
- 转载:Think in AngularJS:对比jQuery和AngularJS的不同思维模式(大漠穷秋)
导言 stackoverflow上有一个人问了一个问题:如果我有jQuery背景,我应该如何切换到AngularJS的思维模式? 有一个回复非常经典,获得了两千多票. 为了让国内开发者也能领略到其中的 ...
随机推荐
- Python的大小整数池跟深浅copy
一.小整数池 可变的数据类型:list dict set 可变: 就是里面的数据类型变了,但是指向的内存地址没变. 不可变的数据类型:str 数值类型 tuple 不可变:如果改变了里面的值,相应的只 ...
- eatwhatApp开发实战(十一)
之前我们实现了点击item项跳转activity,接下来我们再其基础上添加参数的传递. 在MainActivity里面的onItemClick()中: String name = shopList.g ...
- Spring boot Sample 007之spring-boot-log4j2
一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 spring boot 整合多环境log4j2 三.步骤 3.1.点击File -> New Project -> ...
- Verilog缺少一个复合数据类型,如C语言中的结构体
https://mp.weixin.qq.com/s/_9UsgUQv-MfLe8nS938cfQ Verilog中的数据类型(Data Type)是分散的,缺少一个复合数据类型:把多个wire, r ...
- python常见面试题讲解(十三)字串的连接最长路径查找
输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母. 输出描述: 数据输出n行,输出结果为按照字典序排列的字符串. 示例1 ...
- MethodHandle(方法句柄)系列之二:方法句柄的简单使用
二话不说,上代码 /** * * @author LiuYeFeng<897908343@qq.com> * @date 2015年4月8日 下午10:41:13 * @CopyRigh ...
- Cpusets学习
1. cpusets 1.1 什么是cpusets cpusets基本功能是限制某一组进程只运行在某些cpu和内存节点上,举个简单例子:系统中有4个进程,4个内存节点,4个cpu.利用cpuset可以 ...
- Java实现 洛谷 采药
题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...
- Java实现蓝桥杯 最短路
问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环).请你计算从1号点到其他点的最短路(顶点从1到n编号). 输入格式 第一行两个整数n, m. 接下来的m行,每行有三个 ...
- Java实现 LeetCode 517 超级洗衣机
517. 超级洗衣机 假设有 n 台超级洗衣机放在同一排上.开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的. 在每一步操作中,你可以选择任意 m (1 ≤ m ≤ n) 台洗衣机,与此同时将 ...