记录OKR在小公司实施的一次经历
00 前言
前段时间看了本书叫《OKR工作法》,顺便了解了一下OKR的相关知识,感觉这个起源于英特尔公司的东西,正是为那种小而美的团队准备的好东东。如果你还不知道什么是OKR,那我给你个传送门,可以去那里扫扫盲。恰逢我当时所带领的技术团队是小团队,而公司的业务和技术都处在需要变革的前夕,这简直就是老天爷给予的实施OKR的良机啊。那么我是如何导入OKR,并且将OKR实施落地的呢?下面且听我慢慢分解。
01 黎明前的黑暗
在开始给大家讲述我的OKR经历之前,先给大家交代一下背景情况。我当时所在的公司是一家做通讯产品业务的小公司,说白了就是帮移动、联通这些电信公司销售手机号卡,流量套餐以及做一些自己的新零售业务的渠道商。我当时空降过去的时候,这公司的日子过得可以说是相当难受,因为:
1. 公司的系统经常崩溃停机,严重影响业务
2. 公司的系统开一单要10分钟到半小时,而且开单成功率不到50%
3. 公司的系统存在一号多开,丢单等的问题
4. 最最让人不爽的是,公司的几个竞争对手,他们的系统开单成功率都在90%以上,开单还快。所以他们天天向公司老总秀肌肉。
以上的这些情况,充分说明了,这是一个彻头彻尾的烂摊子。也正是因此,才让公司的这个业务平台到了不得不改变的地步。因为不改肯定会死,改可能还有活的机会。
就是在这样非常糟糕的情况下,我接手了这个烂摊子。恰好这个项目面临变革,技术团队人又少,所以,这绝对是一个实践OKR的绝佳机会。
02 确定目标,备好粮草
要实施OKR,首先第一步肯定是要确定O,也就是目标。公司虽然使用KPI的方式考核绩效,但是OKR不是绩效考核工具,所以跟公司的考核机制不冲突,可以做目标对齐。既然这样,那如果我是公司老板,我会怎么定目标呢?很简单,就四个字,开源节流。但是目前来看,节流不如开源(不是开源软件的那个开源哈)。既然竞争对手们开发的系统,开单成功率在90%以上,开单速度在1分钟以内,那我就把部门的季度O定为技术支撑业务能力高于竞争对手。
OK,我现在有O了,那下一步,肯定是key result,然后推导出key action。前面提到过,竞争对手的开单成功率是90%,开单速度在一分钟以内,好,那我的第一个KR就定为开单成功率95%以上,第二个KR就定为开单时间半分钟以内。此外,由于系统经常崩溃,所以我又加了一个KR,即线上故障2小时内修复。现在我的OKR模型是这样的:
- O:技术支撑业务能力高于竞争对手
- KR1:平均开单成功率95%以上
- KR2:平均开单时间半分钟以内
- KR3:线上故障平均2小时内修复
为了能达成这几个KR,我认为需要公司的一些支持。这些支持包括:
人员支持:现有的技术人员能力参差不齐,需要调整。但是,凡是涉及到人事的变动,就需要和相关的人提前沟通好,比如公司老板,行政HR等,因为有些技术人员有点沾亲带故的关系。
资金支持:既然要改变,肯定是要花钱的。系统都已经烂到家了,快活不下去了,还有啥理由不投钱?除非老板不想做这生意了。
然后我就开始了和老板的漫长的交涉沟通(其实也没多长,两三天吧),终于争取了下来。现在人和钱这两方面都有保障了,可以放心大胆地干了。
03 落地三部曲,想好了就干
OKR实施的第一步,先解决人的问题。首先我让小伙伴们根据部门的OKR来制定自己的OKR,并一起开会评审,做出承诺。然后每周复盘,并对那些没有达标的小伙伴,逐一谈话,能干的愿意干的可以再给一次机会,不愿意干的就可以另谋出路了。对于愿意留下来继续干的小伙伴,我会在平时去验收他们的工作成果,例如review他们的代码,查看他们编写的文档等,不断提升他们的战斗力,并逐步建立起工程师文化,改变技术部以往死气沉沉的氛围。
在解决了人的问题后,第二步就是解决工具的问题。以前小伙伴们使用的办公电脑,普遍配置一般,甚至偏低(赛扬处理器,内存4个G,甚至2个G),键盘鼠标全都是二手货,手感贼差。于是我向公司申请,将办公电脑的配置全部升级(i7处理器,8G内存,带固态硬盘),键盘鼠标全部换新的。这样一来,小伙伴们编程时的体验好了不止多少倍。除此以外,我还将技术部使用的宽带升级,并更换了带宽更大的路由器,提升设备之间的数据传输效率。另外,还有为搭建测试环境采购的服务器,平时沟通用的玻璃白板等等。有了这些家伙什,大家的工作效率就有了保障。
最后的一步,就是解决系统的问题。公司使用的业务系统,是找外包团队花了两个星期的时间做出来的,是一个跑在tomcat容器中的web单点应用,外加一套不怎么好用的app。我通过一两天的观察发现,开单慢,是因为数据库设计不合理,也没有做数据库优化导致的(mysql中查询100万条数据有多慢,相信经历过的人都懂)。开单成功率低,是因为前端app未做参数校验,后端应用也没有过滤无效数据,程序出错导致开单失败。至于系统经常崩溃,是因为内存溢出导致tomcat容器停止运行。好吧,这都是很低级的问题。既然系统要重构,那就索性把这个巨石架构的应用换成微服务架构。正好当时流行springcloud框架,于是我决定将系统中的业务模块都做成独立的微服务。同时,让做app开发的小伙伴们重新开发app。在重构系统的过程中,顺带解决以前系统中的一号多开,丢单等影响业务的问题。
小伙伴们听说要使用很潮的技术开发微服务,兴趣都非常的高。做app开发的小伙伴一听说让他们从头开发app,也都非常高兴(因为不用再给外包的app擦屁股了)。大家在热火朝天的干劲中奋斗了两个多月。最终我们重构的新系统上线了,并且上线一周后,数据显示平均开单成功率在93%,平均开单时间在半分钟以内。而后我们针对开单失败的情况又制定了一套补偿机制,最终将平均开单成功率稳定在了98%。嗯,真香……
04 复盘总结,展望未来
总体来说,这一次实施OKR的经历,收获真的是非常的多,而且充分验证了OKR真的很适合在小团队或者创业团队中去实施。通过两个多月的OKR经历,大家都有了不同程度的成长和提高。而这,才是OKR真正给我们大家带来的好处。当然了,取得了这么好的成绩,庆功会是肯定不能没有的。所以,有条件又有时机的小伙伴们,强烈建议你们去尝试实施一下,真的很香。
记录OKR在小公司实施的一次经历的更多相关文章
- 3星|《OKR:源于英特热和谷歌的目标管理利器》:OKR原理、实施手册、实施过的公司的访谈
OKR原理与实施手册,另外附了几家实施过OKR的公司的访谈. 书中表述的OKR思想,我认为是这两点: 1:始终聚焦在最重要的目标上: 2:不以OKR为考核员工的指标: Kindle电子版排版有小缺陷, ...
- geotrellis使用(十二)再记录一次惨痛的伪BUG调试经历(数据导入以及读取瓦片)
Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 BUG还原 查找BUG 解决方案 总结 后记 一.前 ...
- 如何在mac上安装docker[记录自己在mac上安装docker的经历]
0.引子 最近入手了一台mac笔记本,想在本地安装docker. 1.找安装文档. 文档地址:http://www.widuu.com/chinese_docker/installation/mac. ...
- 记录遭遇挖矿程序kthrotlds的失败处理经历
1 发现问题 在腾讯云上购买了一个centos7的服务器,平时用来练手,偶尔也安装一些程序进行测试,上面安装了mysql和redis,前段时间数据库经常掉线,连不上,到腾讯云后台进行查看,通过服务器实 ...
- ASP.NET MVC学习中记录下使用JavaScript和CSS层叠样式表的经历
首先我是想要在ASP.NET MVC 5.0中使用从jQuery之家下载下来的插件. 在下载了许多我觉得好用方便的插件之后,我在VS2017中新建了一个项目叫MVCTest,然后选择MVC模板,等待自 ...
- 记录面试龙腾简合-java开发工程师经历
/** * ############ * 变强是会掉光头发的!现在的头发还是很茂盛,是该开心还是难过呢.. * ############ * / 总结下近期面试龙腾简合-java开发岗的经历.附上笔试 ...
- 记录一次线上OOM调优经历
现状: k8s 的一个pod 有32G内存,每秒产生新对象的峰值在900Mb ---- 1900Mb(根据jstat计算Eden区获得) . 修改之前的参数 就一个命令行参数是-Xmx31g; 我修改 ...
- OKR之剑(理念篇)02—— OKR布道之旅
作者:vivo互联网平台产品研发团队 1.我们是如何引入的 1.1.企业文化匹配 大概是在2013年底,一些创业者在硅谷深受OKR洗礼,并在自己的公司内小范围运用,以此OKR开始传入中国.而vivo初 ...
- foreach_break 面试记录
版权所有@foreach_break] [博客地址 http://www.cnblogs.com/foreach-break] 可以转载,但必须注明出处并保持博客超链接 背景 自从2013年离开北京后 ...
随机推荐
- 【LG5330】[SNOI2019]数论
[LG5330][SNOI2019]数论 题面 洛谷 题目大意: 给定集合\(\mathbb {A,B}\) 问有多少个小于\(T\)的非负整数\(x\)满足:\(x\)除以\(P\)的余数属于\(\ ...
- Cobalt环境搭建及 Web开发注意事项
一.在Linux系统上搭建Cobalt运行环境 Cobalt是一款开源轻量级HTML5/CSS/JS浏览器,旨在于用最少的CPU.GPU.RAM等资源消耗提供丰富的应用程序开发.为了使前端开发者验证自 ...
- lombok的使用以及其中的坑
1.lombok踩坑与思考 https://www.cnblogs.com/heyonggang/p/8638374.html 2.Lombok介绍.使用方法和总结 https://www.cnblo ...
- LInux 就该这么学 笔记分享
看了Linux就该这么学的前部分书,觉得写的还可以,就在网上找了下面这个同学写的笔记,觉得很详细,所以保存地址,供以后查阅参看.这里对作者表示感谢!!! 博客地址: https://www.cnblo ...
- Oracle体系结构学习笔记
Oracle体系结构由实例和一组数据文件组成,实例由SGA内存区,SGA意思是共享内存区,由share pool(共享池).data buffer(数据缓冲区).log buffer(日志缓冲区)组成 ...
- Java代码质量检查checkstyle, pmd, cpd, p3c,findbugs, jacoco, sonarquebe以及和Jenkins集成
概述 又搞一边质量扫描插件,之前做过一遍,然后后面各种忽略,然后就放弃了,所以,应该寻找一种方法,循序渐进的实施.本次将实施一个基本的打包扫描方案,包含 checkstyle 固定团队编码风格,固定命 ...
- Docker 部署ELK
1.安装docker前安装pip sudo yum -y install epel-release sudo yum install python-pip 2.安装docker #安装依赖包 yum ...
- KVM虚拟机典型配置文件xml
<domain type='kvm'> <name>vm64-1</name> //虚拟机名称 <memory unit='MiB'>2300</ ...
- 【maven】idea的pom文件修改,引入新的jar包,无效,本地仓库始终没有下载新jar包的问题解决【idea pom Dependency not found】
引入问题: idea的pom文件修改,引入新的jar包,无效,本地仓库始终没有下载新jar包的问题解决[idea pom Dependency not found] 如题,引入一个新的jar包,在 ...
- SpringBoot+Mybatis+Druid批量更新 multi-statement not allow异常
本文链接:https://blog.csdn.net/weixin_43947588/article/details/90109325 注:该文是本博主记录学习之用,没有太多详细的讲解,敬请谅解! ...