我们收到很多问题询问如何把OKR和其他框架结合起来使用,以便管理组织的人员、流程和活动。

软件开发公司最喜欢用的框架之一就是Scrum,Scrum是一个诞生于20世纪90年代的软件开发框架,我们公司内部一直在使用这一框架。

Scrum的优点以及为什么它能优于瀑布流开发

相较于瀑布流开发的其他传统框架,Scrum最大的优点是关注持续快速迭代以及对变化的适应性。

如果使用瀑布流开发,在项目一开始就要确定项目结果,并且要对此达成一致,通常还要有详细的范围和项目规范。

项目计划是从这些规范中产生的,方法是通过以项目在未来的完成情况为出发点,向后推进,以线形的方式规划出时间、预算和依赖性。

靠这种方法做出的成品是一份路线图,概述出到软件推出之日为止,需要完成的软件开发工作。那么不足之处是什么呢?如果在软件开发过程中出现了变动,时间线,依赖性,以及在大多数情况下连预算都需要完全重做,实际上就破坏了计划。

与此不同,Scrum关注的是为了达到一个理想终点的持续快速迭代。取代详细计划的是精益规范或者是需求和回顾会议,这些会衡量每一次迭代成果。这些回顾应该围绕一个问题: “我们所做的工作有没有让我们离目标需求更近?”

Scrum 的力量来自于它能够管理工作,实现一个未知的、独特的、或者前所未有的结果。 这一框架系统地、渐进式地问题解决过程。瀑布流开发与此不同,只有在其所涉及的过程和工作都是可预测的,并且此前已经有人尝试过的情况下,瀑布流开发开发才能发挥最大功效。

这其中的差别犹如建一座桥和建一艘火箭搭载船的差别。

火箭技术相对较新,建造一艘火箭搭载船要有很多增量步骤,重复多次才能获得成功。美国太空探索技术公司(SpaceX)为了能让火箭在船上着陆所做的工作就是一个很好的例子。

反之,人们对建桥这一工程难题的理解十分透彻,也已经无数次解决过这一难题。建桥不需要重复很多次,对时间和成本规划的要求高,而这是瀑布流开发经常应用的领域。

OKR和Scrum的异同

OKR和Scrum的相似之处在于 两个框架都需要有一人专门管理框架的实施情况, 称为“Scrum负责人”或“OKR负责人”。两个职位职责明确,他们的责任是保证团队依照框架行事。

Scrum是一个高度规范的框架,有明确的职责和仪式。Scrum的益处包括透明性、项目可见性以及频繁沟通。团队集体决定他们在为期2周的一个短期“sprint”内能够完成什么样的工作,这也使得Scrum是一个很民主的过程。

OKR也有一套规则,虽然这套规则不如Scrum的规则条理清楚。这些规则决定什么是目标O,什么是关键结果KR,以及如何把二者结合起来衡量目标的实现。

和Scrum一样,OKR有时间表,但是比为期两周的sprint要长得多(季度和年度)。设定OKR首先需要做的是,公司领导决定需要实现何种目标,接着,团队设定自己的OKR,需要确保团队的OKR与公司的目标保持一致。

如何把Scrum和OKR结合起来

只要每个人都清楚两个框架的范围和参数,OKR和Scrum可以成功地结合在一起使用,效果也确实不错。我们在确立公司OKR后,会进一步落实实现OKR的行动方案。Sprints和行动方案能在行动周期内有机结合,促进团队OKRs的达成。

为了能让这两个框架合拍,重要的一点是在每个季度开始的时候,一位OKR负责人和一位Scrum负责人与他们的研发团队坐在一起,决定需要在这个季度完成的最重要的事情(通常为3项)。

由于OKR周期更长,目标更宏观,而Sprint涉及的更具体的执行层面工作, 因此需要首先考虑OKR。

要让OKR在这一阶段就能有效开展, 相对于强调对结果实现的追求,更应关注对结果的衡量。比如,如果你想要解决的问题是有缺陷的软件,那么,统计消灭了多少个软件缺陷就不是一个有效的关键结果。修复了一个缺陷,缺陷的数量就少了一个,但是如果有更多的软件缺陷被报出来,你就没有让软件变得更完善,你仅仅是在数自己修复了多少个缺陷。

一个更好的关键结果应该是统计出现了多少缺陷,或者统计一个季度内出现了多少客户需求。如果这个评估指标的趋势有所下降,那么你就可以自信地认为你正在解决你最初想要解决的问题。

设定了OKR的目标和关键结果后,就可以开始规划Sprint。在这一个阶段,重要的是要决定Sprint的周期。如果一个Sprint为期一个月,一个单一的Sprint目标很可能会直接对应开发团队3个OKR目标的其中一个。至于更常见的为期2周的较短Sprint,Sprint目标则变成OKR目标的行动方案。

我们更推荐第二种方法,因为这种方法在连接两个框架的同时还保持了二者最初的目标,即Sprint管理生产和代码传输, 而OKR设定目标,衡量评估工作结果。

但是,这也意味着每一个OKR都需要有自己的Sprint时间线。如果你有一个大型的开发团队在一个产品的不同领域开展工作,比如前期工作、后期工作和系统管理,这一方法就能发挥很好的效果。使用这种方法的话,每一个领域引导1个OKR和1条Sprint时间线,而整个小组内部有3个OKRs。

对于规模较小,没有能力运转3条Sprint时间线的开发团队,我们也推荐这种方法,但是只需要专注一个单一的OKR即可。

原文作者|Rob Davies
翻译|周雁洁

文章来源:Worktile技术博客

欢迎访问交流更多关于技术及协作的问题。

文章转载请注明出处。

OKR与Scrum如何强强联手的更多相关文章

  1. 产品研发团队如何融合OKR与Scrum敏捷开发?

    「 OKR 」现在非常的火爆,很多公司都在使用,不仅国外的 Google.英特尔等大公司在用,国内的一线知名互联网企业今日头条和一些创业团队也都在使用. 那为什么「 OKR 」这么受欢迎呢,因为把它可 ...

  2. 【可视化】DataV接入ECharts图表库 可视化利器强强联手

    DataV接入ECharts图表库 可视化利器强强联手 摘要: 两个扛把子级产品的结合,而且文末有彩蛋. DataV 数据可视化是搭建每年天猫双十一作战大屏的幕后功臣,ECharts 是广受数据可视化 ...

  3. 什么是OKR?

    什么是OKR OKR全称是Objectives and Key Results,即目标与关键成果法.OKR是一套定义和跟踪目标及其完成情况的管理工具和方法.1999年 Intel公司发明了这种方法,后 ...

  4. 转帖 OKR

    什么是OKR OKR全称是Objectives and Key Results,即目标与关键成果法.OKR是一套定义和跟踪目标及其完成情况的管理工具和方法.1999年Intel公司发明了这种方法,后来 ...

  5. 苹果HomeKit联手海尔的三大原因

    2014已成智能家居元年,无论是资本市场还是巨头企业无不把触角向这一领域延伸.刚有人称,智能家居将成三星和谷歌对决,但不成想,前几天的苹果WWDC大会上,苹果就发布了自家的智能家居平台HomeKit. ...

  6. 百人研发团队的难题:研发管理、绩效考核、组织文化和OKR

    分享一个公司规模近200,研发占一半的创业公司 Worktile 在研发团队管理方面的玩法,仅供百人左右研发团队参考~ 什么是研发团队?简单的说,你熟悉的那帮穿格子衬衫,以程序员为核心组成的团队,就是 ...

  7. Apache Log4j 2 报高危漏洞,CODING 联手腾讯安全护卫软件安全

    导语 12 月 9 日晚间,Apache Log4j 2 发现了远程代码执行漏洞,恶意使用者可以通过该漏洞在目标服务器上执行任意代码,危害极大. 腾讯安全第一时间将该漏洞收录至腾讯安全漏洞特征库中,C ...

  8. 从阿里巴巴IPO联想到创始人和资方关系

    [小九的学堂,致力于以平凡的语言描述不平凡的技术.如要转载,请注明来源:小九的学堂.cnblogs.com/xfuture] 5月7日,阿里巴巴于今日向美国证券交易委员会(SEC)提交了IPO(首次公 ...

  9. 如何寻找“真爱”型合伙人

          曾与朋友笑侃,现在找人结婚,跟合伙开公司差不多,各自条件一一对比,细细斟酌,最后双方达成一致,才得凑成一对冤家.谁说不是呢?两种关系都实为"伙伴",开公司重" ...

随机推荐

  1. IDEA+Tomcat+Maven+SpringMVC基于Java注解配置web工程

    1.在IDEA中新建Maven工程,使用archetype. 2.添加Maven依赖 <dependencies> <dependency> <groupId>ju ...

  2. 纯javascript实现可拖住/大小的div

    好久没写了,不得不说人懒了好多.. 也不打算实现什么太厉害的功能,因为不喜欢网上那些一大堆代码的,看的头晕,于是自己写了一个 旨在越简单越好(当然也走点形式- -其实是自己菜),所以一些宽度和高度都写 ...

  3. react-router路由地址变了页面却没有跳转的解决办法

    最近,自己在摸索react的时候,遇到一个很奇葩的问题,大概是这样的: 我从列表页使用Link跳转到详情页面,列表页面的路由是'/list',详情页面的路由是'/list/detail',由于详情页面 ...

  4. node02

    1.使用已有的知识实现一个简单的登录和注册的界面 请求有请求接口有请求页面的,我们需要加以区分 以下是客户端代码 <!DOCTYPE html> <html lang="e ...

  5. PLC不能初始化问题

    检索COM 类工厂中 CLSID 为 <28e68f9a-8d75-11d1-8dc3-3c302a000000> 的组件时失败,原因是出现以下错误: 80040154 解决方案: Win ...

  6. mysql根据字符截取字符串(总结)

    mysql根据字符截取字符串(总结) 1.1 前言   为结合自己平常查资料的习惯,我会先给出例子,然后再对相关知识进行详解.该案例使用到的函数为:SUBSTRING_INDEX 1.2 需要实现的实 ...

  7. python语法_模块_time_datetime_random

    模块:可以被公共调用的. time import time print(time.time()) 时间戳方式显示时间. time.sleep(3) 休眠3秒 time.clock() 计算cpu执行时 ...

  8. Razor Page Library:开发独立通用RPL(内嵌wwwroot资源文件夹)

    ASP.NET Core知多少系列:总体介绍及目录 Demo路径:GitHub-RPL.Demo 1. Introduction Razor Page Library 是ASP.NET Core 2. ...

  9. [Swift]LeetCode442. 数组中重复的数据 | Find All Duplicates in an Array

    Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others ...

  10. [SQL]LeetCode627. 交换工资 | Swap Salary

    SQL架构 create table ), sex ), salary int) Truncate table salary insert into salary (id, name, sex, sa ...