欢迎来个人博客阅读: 关于 OKR 的一些方法论
OKR 是由前 Intel CEO,安迪·葛洛夫 构建的基本框架。前端
全称是:「Objective - Key Result」,既强调「目标」与衡量目标的「关键结果」程序员
它是一套管理目标,让目标能落地的工具。
它在硅谷科技公司中广为人知,并被世界各地的许多组织采用。
它能够应用在组织中,也能够应用在我的的生活中,就像一种思考的模式。 小程序
过去两年多的 OKR 实践,有一些体会。
做为一个程序员,会天然的去寻找一个工具的最佳实践。 微信小程序
因而,有了这篇文章。微信
OKR 原理很简单。框架
要用好 OKR,个人理解,须要把握三个核心:工具
它们分别回答了三个问题:性能
而后,思考 OKR,我认为还须要 cover 到两点:学习
先抛一个很差的例子优化
来自于我曾经定过的一个 OKR:
O: 持续学习,提升自身战斗力
- KR1: CSS3 学习,阅读《CSS揭秘》产出阅读笔记。
- KR2: 提升英文阅读能力,阅读《Security Your NodeJS Application》,产出一篇译文。
- KR3: 对 Eggjs 或 Vue2 框架的源码进行解读,产出一篇源码解析。
我想先按顺序来说讲「目标」、「关键结果」、「过程管理」。
而后,再回过头来,看看这个例子为啥糟糕,能够怎样修改。
欲望让咱们起航,但只有专一、规划和学习才能到达成功的彼岸
回到最初的时候,一个组织的诞生,绝大多数状况是因为一两我的的想法,而后以此为中心,开始聚拢更多有共同目标的人加入进来。
1976年,乔布斯成功说服沃茲尼克组装机器以后再拿去推销,他们的另外一位朋友韦恩随后加入,三人在1976年4月1日成立苹果电脑公司。最初,Apple 仅仅是在卖组装电脑。
1996年,佩奇和布林在学校开始一项关于搜索的研究项目,开发出了搜索引擎 PageRank,后续更名 Google。最初,Google 仅仅是一个搜索引擎。
随着组织发展,人员壮大,这个能聚拢人的目标,必需要看得远。而后这个目标提高到用另外一个词来形容 —「使命」。
Apple 的使命:「藉推广公平的资料使用惯例,创建用户对互联网之信任和信心」
Google 的使命:「整合全球信息,令人人皆可访问和收益」
阿里巴巴的使命:「让天下没有难作的生意」
有赞的使命:「帮助每一位重视产品和服务的商家成功」
以及最近咱们团队的前端技术委员的使命:「以极致的技术高效支撑业务」
使命描述通常都很简洁,而且容易记忆,像一句广告词,能深深的刻在脑海里。
在工做中遇到问题的时候,这个使命就会一会儿从脑海里蹦出来指引你找到答案。
其实在某个市场闲逛都有可能让你意识到这个市场有某个问题须要解决,而帮市场解决这个问题,就是一个使命。
为了一步步的达成「使命」,咱们须要有目标。相对于使命,它粒度更小,且有时间限制。
因此,目标(Objective)应该:
目标,是 OKR 中最重要,最须要想清楚,最首要肯定的。
在这里,须要回答:你有什么?你要什么?你能放弃什么?
「鱼与熊掌不可得兼」,因此咱们要有所取舍,事情排个优先级。
「重要-紧急象限」是一个不错的指导工具,第一次看到它是在柯维《高效能人士的7个习惯》中的第三个习惯「要事第一」。
但在实施的过程当中颇有可能会遇到这样一个问题,紧急不重要的事情很紧急,总须要花时间和精力去处理它。而后重要不紧急的事情,会经常分配不到时间和精力。
那么就让重要不紧急的事情也变得紧急起来。
若是基础的商业问题没有解决,不论实现多少产品功能,团队总体的绩效必定会大打折扣。
在一个组织中,若是没有充分的理解上一层的目标,就很容易跑偏,没有真正在刀刃上使力,形成效率上的浪费。
达到充分的理解目标,是有难度的,对人的眼界、目标理解能力有很高的要求。这不只仅是执行者责任,更是管理者的责任。
目标定下来了,若是不去执行和落地,那么它永远就只是一个目标。如何去衡量目标是否达到了,就是「关键结果」的任务。
在互联网产品中,一般能够量化的条件有:用户增加、用户激活、收入增加、产品性能、产品质量。
做为技术团队,会更加集中注意力在产品性能和产品质量上面,那么如何去找到这些方向的衡量指标,就要从实际出发了。
好比咱们团队会用「质量系数 = BUG数/估时」,来感觉一个项目的质量状况。虽然它会有些漏洞,但若是创建在互相信任的基础上,能够提供必定的参考价值。
当达到成结果的时候,咱们应该是欢呼雀跃般的兴奋,而不是理所应当的淡定。
定下一个关键结果以后,问一下本身,有多少信心能够完成。若是信心爆棚,就把目标定高些。若是信心不足,就把目标调低些。由于 OKR 的意义不在于完成目标,更重要的是它能挖掘团队以及我的的潜力。
若是以为有必要的话,咱们能够创建一个「信心指数」,用来帮助肯定结果有足够的挑战性而不会让人失去信心。这个指数的开始值最好是 50%,而后经过过程管理来动态变动和追踪。
好比去年我负责的一个「优化微信小程序加载性能」项目中的关键结果:
未优化的加载时间是 6s+,回顾当时对目标的信心指数的话,大概是 20%。虽然最后由于部分不可控因素没有达到这个目标,只能维持在 3s-4s 之间。可是这个过程当中能让人费尽脑汁的找到各类方法,大幅的提高了除首屏加载之外其余方面的加载体验,这也是额外的收获。
做为管理者,你要清楚的知道哪些人推一推会有更高的产出,哪些人实际执行状况会出现问题,要能看获得看得懂目前组织的目标和进度,并与成员进行同步。
OKR 定下来了,在期限内,就要奔着目标努力奋进。尽管中途发现问题,也尽可能不要在中途更改 OKR,让咱们尽力跑完计划的阶段再回来总结。咱们也能够把时间维度切小,好比把年度切分为半年度,把半年度切分为季度。
而且,目标定下来以后,要常常按期共同回顾,共同看见。而不是定下来了,就放在那里,不然过程当中团队发生了问题,成员遇到了困难,很大可能会不被看到。
比较好的形式是每周都一块儿坐下来看看,每一个人分享一下成果,或者说说遇到的困难,看能不能获得其余人的帮助。这个过程,能及时的看到问题,也能让成员对目标有更强的参与感。
那么,OKR应该以什么方式来呈现?《OKR工做法》一书中提供了一种参考:「四象限呈现形式」
糟糕的例子:
O: 持续学习,提升自身战斗力
- KR1:CSS3 学习,阅读《CSS揭秘》 产出阅读笔记。
- KR2:提升英文阅读能力,阅读《Security Your NodeJS Application》,产出一篇译文。
- KR3: Vue2 框架的源码进行解读,产出一篇源码解析。
这个例子的背景是我 2017 年 4 月份加入到有赞,当时定的试用期内的其中一个目标。那时是我第一次认识和使用 OKR,只是单纯的把自身的技能提高计划给罗列了出来,看起来更像是一个 Todo List
如今回过头来看这一份 OKR,有很多问题:
那么咱们从目标开始分析,当时做为一个新人加入到一个新的团队,对团队的技术栈和项目都很陌生,须要填补部分空白,快速上手。因此提高自身实力的底层诉求是:快速上手,胜任开发工做。
而后怎么衡量目的达到了呢?咱们能够经过项目质量直接衡量,经过项目的熟悉程度来间接衡量。
修正后:
O: 快速上手,以专业的姿态胜任开发工做。
- KR1: 质量系数平均在 0.3 之内。(质量系数 = BUG数/估时)
- KR2: 代码评审评分平均 3.5 以上。(咱们有 Code Review 机制,而且有评分环节)
- KR3: 所参与项目评分在 4 以上。(项目也有评分环节)
- KR4: 进行两次的项目分享。
那么若是达到这些关键结果,要经过学习框架,仍是研究项目,仍是熟悉业务,那就是根据实际迎刃而解的事情了。
凡事预则立,不预则废 ——《礼记·中庸》
最后要注意的是,OKR 只是一个工具,当你有一个目标,它会给你一种落实目标的方法论。而若是一开始目标没有想清楚,想明白,那就很容易在错的路上越走越远。
每一个团队都会有不一样的风格,和不一样的实际状况。理解方法和工具的原理,明白这么作是为了解决什么问题,而后再调整定制真正适合此时此刻的团队,才是最好的方法。