OKR与敏捷开发的结合

news2024/11/28 10:38:31

当你想达成某件事情时,你在内心会有一个设想的期望结果。这是一个非常简单、基本的概念,并且是从很多人小时候就培养起来的。我们可以将这种现象总结一句话:

通过 ________ 来衡量__________ 。

这就是 John Doerr 在其著作《Measure what Matters》中对目标和关键结果 (OKR) 的解释。虽然这是一个简单的概念,但面对复杂且灵活多变的商业环境,通过坚持这个简单的原则,企业却可以取得巨大的成果。

一、什么是 OKR?

OKR 是一种流行的目标管理策略,用于定义目标并跟踪结果。它有助于围绕可衡量的目标提升团队的一致性和参与度。它于 1970 年代由英特尔引入并普及,此后更是广泛应用于科技企业,作为一种帮助员工理解和参与企业战略的方式。研究表明,当团队成员清楚地了解团队正在努力实现的目标,以及任务的重要性时,他们会更加投入工作并提高工作效率。 

OKR 是对广泛使用的目标管理方法 (MBO) 的改进。不同之处在于,OKR 是一个更具协作性的过程,而不是自上而下的管理过程。率先推广 MBO 的彼得·德鲁克(Peter Drucker)建议管理者应该先制定组织的目标,然后制定员工的目标。

相比之下,OKR 依赖于组织内的团队共同产生高级别目标并针对每个特定领域对其进行细化。如果团队必须与组织中的其他人/部门合作以实现高级别目标,那么这些团队可能会合作共同编写 OKR,以确保一致性。这是一种思维方式的转变,从“我们是否忙于完成任务” 的问题到“我们是否为我们组织的发展奠定了基础”转变。

关注“OKR 过程”比只关注“目标”和“关键结果”更有价值。随着经营环境的变化,没有得到定期检查和修改的目标很快就会变得过时并且失去意义。将明确的目标与一些具体的、可衡量的措施相结合,并定期检查这些措施的进展,这才是 OKR 真正起作用的地方。

二、OKR的定义

OKR 有两个重要部分:你想要实现的目标和关键结果,这是衡量实现目标的方式。

菲利佩·卡斯特罗(Felipe Castro)是 OKR 教练、作家、演说家,他将 OKR 总结为两个组成部分:

  • 目标:对你想要实现的目标进行深刻的定性描述。目标应该简短、鼓舞人心、引人入胜,应该对团队产生激励和挑战作用。
  • 关键结果:是一组衡量你目标实现进度的指标。每个目标,应该有两到五个关键结果。注意,太多的关键结果可能会导致混乱。

这个定义有几个关键点。首先,目标应该简洁且鼓舞人心,以便团队可以很容易记住它。接着是要有少量的指标来检查关键结果,这些指标应该是可及时衡量的。

1.OKR 目标示例

正如史蒂文·科维在《成功人士的七个习惯》一书中所阐述的“以终为始”的道理一样,这是比较好的确定目标的方式。比如,一些高级别的目标是:

  • 提高客户满意度
  • 增加经常性收入
  • 扩展系统性能
  • 增加服务的客户数量
  • 减少系统中数据错误的数量

对每个企业而言,重要的是确定与特定环境(市场规律、客户需求、竞争格局、监管环境等)相关的目标,确定这些目标应有助于指导组织内每个团队的活动。对于大多数公司来说,有一个“盈利”的目标是对的,但是这个目标太大了,它并不能帮助团队确定他们将如何“盈利”。而根据“我们在下一季度可以实现什么,以帮助我们实现长期目标”这种方式来制定目标,有助于团队将他们的精力聚焦在更小的步骤中,以便定期复盘、重新调整行动方案。

2.关键结果示例

“关键结果”是采取一系列行动后的预期结果。OKR 的一个常见错误是将期望的结果与用于实现目标做要做的任务混淆。例如下边这个案例,目标是减少系统中数据错误的数量,但制定的关键结果是安装新的供应商软件包版本。然而,这没有提到跟踪数据错误或可以影响下一个目标。以及安装最新版本是否会使事情变得更好、更坏或没有效果,也不得而知。

常见错误:将实现目标所采取的行动误认为是关键结果。例如:

目标:减少系统中数据错误的数量

关键结果:安装供应商软件包的 10.0 版

在下面的示例中,我们将展示:如何相同的目标下,制定过程指标来跟踪是否实现了改进的关键结果。为了实现预期目标,可能会有许多不同的活动协同进行。

改进意见:确定可衡量的结果:

目标:减少系统中数据错误的数量

关键结果: 

  • 通过向支持台报告的数据质量错误数量来衡量
  • 通过无法自动填写的订单数量来衡量
  • 通过客户报告的订单错误进行衡量

3.匹配目标和关键结果

找到对的关键结果在目标制定的过程中应该是非常重要的事,因为这决定了目标能否被正确的定期衡量,并指导目标的完成。

三、通过 OKR 打分跟踪目标

分数通常介于0到1之间,用来代表KR既定目标的完成程度。例如: 

0.3 = 未达成目标,差距比较大 0.7 = 你没有达到你的目标,但是已经很了不起了 1 = 你已经超预期达成了目标(达成了延伸目标)

一般关键结果得分 0.7 就可以被认为是成功的! 因为目标设置是有的所以要你应该设定更具挑战的延伸目标,这样如果你在季度结束时没有获得满分,你也不会觉得自己失败了。如果你成绩经常得分为 1.0,那么说明你的目标需要设定的更具挑战性。

比如我们研发团队就是通过 PingCode 目标管理子产品对 OKR 进行设定和评分,并将我们的进展共享给组织的每个团队和个人。

四、OKR 和敏捷开发

敏捷开发和 OKR 可以完美地结合在一起

有人说敏捷开发降低了需求变更的成本。这是因为敏捷开发要求定期、有计划地检查开发进度、评估企业环境(竞争、客户要求、法规要求、市场条件),并根据这些信息进行调整。而 OKR 中明确地传达目标和关键结果的方法可以提高组织整体的透明度。季度回顾则可以从“我们是否交付了我们说过要交付的东西?” “我们是否实现了我们想要的目标?” 这两个问题的结合,来帮助组织决定是继续前进还是停下来修改它。

五、OKR 与业务战略保持一致

在建立 OKR 时,同时不要忽视其在组织引导方面的作用。因此,企业应该将最高级别 OKR 与组织的使命、愿景和价值观保持一致。在 OKR 定义“什么”和“如何”的时候,利用愿景解释“为什么”。如下图,这有助于说明公司的愿景应如何与你的年度和季度 OKR 联系起来,以及 OKR 在整体战略规划活动中的地位。

你的目标应该支持你的使命和公司的价值观,并且它们也要与你的长期和短期目标紧密结合。

六、开始使用OKR

引入 OKR 的一种方法是:让组织确定全年想要实现的三或四个目标,这通常是 CEO 这一级别要做的事。然后让组织的每个部门确定他们在一年中每个季度可以实现的相关目标。这种大年度目标与较小季度目标的组合方式可以帮助组织了解某个特定领域/部门的目标如何为整个组织目标做出贡献。

最后值得提醒的是,确定可衡量的关键结果非常重要,这样你才可以检查实现目标的进度。如果你设定了一个一年只能衡量一次的关键结果,那么你每年只有一次机会评估你的工作是否有助于你实现目标。随着组织应对变化速度的加快,每年检查一次进度是不够的。

如何利用 PingCode 这类工具获得帮助

PingCode 为OKR管理专门打造了一款子产品,可以把你的组织战略目标和产品研发管理联系起来。

通过目标的设定来驱动研发结果的呈现。同时 ,提供对目标、关键结果以及实现目标的工作的清晰洞察。PingCode 的协作空间覆盖 OKR 工作法的全部流程,可帮助您的团队保持一致,并将工作与价值交付联系起来。

延伸阅读:敏捷开发指南

Scrum 开发指南: Scrum 框架详解  |  Scrum 四个会议及正确召开方式  |  正确的计划和执行Sprint的方式  |  做好迭代计划的4大关键点 |  做好这4点让每日站会更适配敏捷团队  |  开好迭代评审会的3个关键步骤  |  为什么要召开迭代回顾会  | Scrum 3大角色及其岗位的具体职责  |  Scrum三大工件在敏捷开发中的作用  |  2022年14个最佳 Scrum 敏捷项目管理软件  |  更多 

Kanban 敏捷指南: 使用看板(Kanban)管理方法的5大好处  |  看板 VS Scrum:如何选择? |  看板和 Scrum 的混合模式适合在哪些场景使用  |  更多 

规模化敏捷: 规模化敏捷的价值及五大规模化敏捷框架  |  规模化敏捷之 Spotify 模型  |  规模化敏捷框架之LeSS框架  |  SAFe 规模化敏捷框架  |  Scrum@Scale 模型  |  敏捷项目组合管理  |  OKR与敏捷开发  |  更多 

产品管理: 如何构建合格的产品路线图  |  如何成为一个优秀的产品经理  |  敏捷路线图的重要性以及构建  |  如何构建简单有效的产品需求文档  |  利用 NPS 确定功能优先级  |  每个产品经理都需要了解的产品分析技能  |  更多 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb开发 —— Maven

目录 一、概述 1. 介绍 2. 安装 二、maven-idea 集成 1. 配置及创建Maven项目 2. IDEA 创建Maven项目 3. IDEA导入 Maven 项目 三、依赖管理 1. 依赖配置 2. 依赖传递 3. 依赖范围 4. 生命周期 一、概述 1. 介绍 ① Apache Maven 是一个项目管理和构建工…

【UDP报文和TCP协议特性】

目录1.UDP报文1.1报文长度1.2校验和2.TCP协议特性2.1确认应答2.2超时重传2.3连接管理2.3.1三次握手2.3.2四次挥手2.4滑动窗口2.5流量控制2.6拥塞控制2.7延时应答2.8捎带应答2.9面向字节流2.10异常情况3.小结3.1tcp小结3.2tcp和UDp应用场景的差异4.寄语1.UDP报文 udp是传输层最…

【Android】之【内存管理】

一、Android内存运行是如何运行的? 物理内存即移动设备上的ram,当启动一个android程序时,会启动一个dalvik vm进程,系统会给它分配固定的内存空间【16m,32m,64m,不定,没有统一标准,每个虚拟机会有堆内存阈…

【Minecraft开服教程】使用 MCSM 面板一键搭建我的世界服务器,并内网穿透公网远程联机

文章目录前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址7. 使用固定公网地址远程联机前言 MCSManager是一个开源…

C++ float 数据的保存格式

总体上,在计算机中, float 数据的的保存按照如下转换逻辑:10进制数 >二进制数>科学计数法二进制数>c 条件下下浮点数在内存中的保存格式(这里面有个转换算法,需要理清楚)。 下面举出一个案例&…

Python+selenium自动化测试实战项目(全面,完整,详细)

前言 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过清明一直没有更新,今天整理一下实战项目的代码共大家学习。(注:项目是针对我们公司内部系统的测试,只能内部网络访问,外部网络无…

使用fetch()异步请求API数据实现汇率转换器

任务8 https://segmentfault.com/a/1190000038998601 https://chinese.freecodecamp.org/news/how-to-master-async-await-with-this-real-world-example/ 跟随上面的指示,理解异步函数的编写,并且实现这个汇率转换器。 第一步:在工作区初始…

AI失业潮来袭,某些部门裁员过半

历史的车轮滚滚向前,每次生产力的大幅跃进,都会造成一批失业潮。想当年,纺纱机的出现让无数手工作坊的织布师傅失业。如今,在AI技术的催化下,同样的事正在互联网行业的各个领域重演。疯狂的裁员浪潮 “AI15秒做的&…

图神经网络汇总和总结

下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。 数据集 1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1、EEG-SEED数据集作者的—基线论文阅读和…

LeetCode——二叉树的层序遍历

102. 二叉树的层序遍历 I 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]…

超级详解MySQL执行计划explain

1、什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解。 MySQL本身的功能架构分为三个部分,分别是 应用层、逻辑层、物理层,不只是MySQL ,其他大多数数据库产品都是按这种架构…

窗函数的总结

1. 为什么要加窗 每次FFT变换只能对有限长度的时域数据进行变换,因此,需要对时域信号进行信号截断。即使是周期信号,如果截断的时间长度不是周期的整数倍(周期截断),那么,截取后的信号将会存在泄…

C++算法初级10——动态规划

C算法初级10——动态规划 文章目录C算法初级10——动态规划最优化问题动态规划分析流程和条件最优化问题 生活中我们常常遇到这样一些问题: 看到上面的例子,我们发现这些问题都是在最大化(或者最小化)某个指标:最小化…

leetcode重点题目分类别记录(三)动态规划深入与素数理论

文章目录动态规划背包问题01背包抽象出求解目标尝试进程子问题拆分基本情况根据拆分过程定义dp数组与转移方程遍历顺序与状态压缩模板归纳题目应用变种提升组合问题多维01背包有特殊限制的01背包完全背包尝试进行子问题拆分转移方程题目应用变种提升-求组合/排列数打家劫舍变种…

二维数组的总结

一、时间复杂度和空间复杂度 时间复杂度和空间复杂度是衡量算法效率的两个重要指标。时间复杂度是指算法执行所需的时间,而空间复杂度是指算法执行所需的内存空间。 计算时间复杂度和空间复杂度需要分析算法中各个操作的执行次数和内存使用情况。具体的计算方法可以…

【matlab代码】提取任意多边形内的nc数据--以海洋温度为例子

【matlab代码】提取任意多边形内的nc数据–以海洋温度为例子 本文来源于对象想提取一个矩形内的温度数据,从而求平均能看出时间序列变化。 由于平时我们矩形是和经纬度平行,我们可以直接使用lon,lat进行寻找。 例子如图: 图片 这样的水平图,大家都会,直接: find(lon…

数据库作业合集

目录[TOC](目录)数据库作业第七章(1)习题7关系模式(2)习题8关系模式数据库作第三章34数据库作第二章6数据库作业第三章59数据库作业第八章(1)统计离散数学的成绩分布情况,即按照各分数段统计人数…

ROS--URDF集成Gazebo仿真小车和rviz结合

ROS–URDF集成Gazebo仿真小车 实现流程: 需要编写封装惯性矩阵算法的 xacro 文件为机器人模型中的每一个 link 添加 collision 和 inertial 标签,并且重置颜色属性在 launch 文件中启动 gazebo 并添加机器人模型工作目录 1.编写封装惯性矩阵算法的 head.xacro 文件…

【MySQL】B+树索引——InnoDB 中的索引方案;MylSAM 中的索引方案 和 InnoDB 中的索引方案 对比

一、InnoDB 中的索引方案 1. 聚簇索引 聚簇索引 有两个特点: 使用记录主键值的大小进行记录和页的排序,这包括3方面的含义. (1)页〈包括叶子节点和内节点〉内的记录按照主键的大小顺序排成一个单向链表,页内的记录被…

MongoDB 介绍和基本操作

一、MongoDB数据库 1、MongoDB是一种非关系型数据库,是用C语言编写的。其特点是高性能、易部署、易使用,存储数据方便。 2、MongoDB特点: 面向集合存储,易于存储对象类型数据;支持动态查询,支持完全索引&…