百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

OKR与Scrum如何强强联手?(okr slogan)

ccwgpt 2024-10-14 08:37 25 浏览 0 评论

OKR是一套明确、跟踪目标及完成情况的管理工具和方法,如何把它和其他框架结合起来使用呢?

我们收到很多问题询问如何把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即可。

本文由 @倩 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

相关推荐

RACI矩阵:项目管理中的角色与责任分配利器

作者:赵小燕RACI矩阵RACI矩阵是项目管理中的一种重要工具,旨在明确团队在各个任务中的角色和职责。通过将每个角色划分为负责人、最终责任人、咨询人和知情人四种类型,RACI矩阵确保每个人都清楚自己...

在弱矩阵组织中,如何做好项目管理工作?「慕哲制图」

慕哲出品必属精品系列在弱矩阵组织中,如何做好项目管理工作?【慕哲制图】-------------------------------慕哲制图系列0:一图掌握项目、项目集、项目组合、P2、商业分析和NP...

Scrum模式:每日站会(Daily Scrum)

定义每日站会(DailyScrum)是一个Scrum团队在进行Sprint期间的日常会议。这个会议的主要目的是为了应对Sprint计划中的不断变化,确保团队能够有效应对挑战并达成Sprint目标。为...

大家都在谈论的敏捷开发&Scrum,到底是什么?

敏捷开发作为一种开发模式,近年来深受研发团队欢迎,与瀑布式开发相比,敏捷开发更轻量,灵活性更高,在当下多变环境下,越来越多团队选择敏捷开发。什么是敏捷?敏捷是一种在不确定和变化的环境中,通过创造和响应...

敏捷与Scrum是什么?(scrum敏捷开发是什么)

敏捷是一种思维模式和哲学,它描述了敏捷宣言中的一系列原则。另一方面,Scrum是一个框架,规定了实现这种思维方式的角色,事件,工件和规则/指南。换句话说,敏捷是思维方式,Scrum是规定实施敏捷哲学的...

敏捷项目管理与敏捷:Scrum流程图一览

敏捷开发中的Scrum流程通常可以用一个简单的流程图来表示,以便更清晰地展示Scrum框架的各个阶段和活动。以下是一个常见的Scrum流程图示例:这个流程图涵盖了Scrum框架的主要阶段和活动,其中包...

一张图掌握项目生命周期模型及Scrum框架

Mockito 的最佳实践(mock方法)

记得以前面试的时候,面试官问我,平常开发过程中自己会不会测试?我回答当然会呀,自己写的代码怎么不测呢。现在想想我好像误会他的意思了,他应该是想问我关于单元测试,集成测试以及背后相关的知识,然而当时说到...

EffectiveJava-5-枚举和注解(java枚举的作用与好处)

用enum代替int常量1.int枚举:引入枚举前,一般是声明一组具名的int常量,每个常量代表一个类型成员,这种方法叫做int枚举模式。int枚举模式是类型不安全的,例如下面两组常量:性别和动物种...

Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!

Maven简介Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。Maven是一个跨平台的项目管理工具。主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。仔...

Java单元测试框架PowerMock学习(java单元测试是什么意思)

前言高德的技术大佬在谈论方法论时说到:“复杂的问题要简单化,简单的问题要深入化。”这句话让我感触颇深,这何尝不是一套编写代码的方法——把一个复杂逻辑拆分为许多简单逻辑,然后把每一个简单逻辑进行深入实现...

Spring框架基础知识-第六节内容(Spring高级话题)

Spring高级话题SpringAware基本概念Spring的依赖注入的最大亮点是你所有的Bean对Spring容器的存在是没有意识的。但是在实际的项目中,你的Bean必须要意识到Spring容器...

Java单元测试浅析(JUnit+Mockito)

作者:京东物流秦彪1.什么是单元测试(1)单元测试环节:测试过程按照阶段划分分为:单元测试、集成测试、系统测试、验收测试等。相关含义如下:1)单元测试:针对计算机程序模块进行输出正确性检验工作...

揭秘Java代码背后的质检双侠:JUnit与Mockito!

你有没有发现,现在我们用的手机App、逛的网站,甚至各种智能设备,功能越来越复杂,但用起来却越来越顺畅,很少遇到那种崩溃、卡顿的闹心事儿?这背后可不是程序员一拍脑袋写完代码就完事儿了!他们需要一套严谨...

单元测试框架哪家强?Junit来帮忙!

大家好,在前面的文章中,给大家介绍了以注解和XML的方式分别实现IOC和依赖注入。并且我们定义了一个测试类,通过测试类来获取到了容器中的Bean,具体的测试类定义如下:@Testpublicvoid...

取消回复欢迎 发表评论: