OKR与敏捷开发的原理有着相似之处,但已经使用敏捷的团队再用OKR感觉会显得多余。这种误解的根源就在于对这两种模式不够了解,运用得当的情况下,OKR和敏捷可以形成强强联合的效果,他们可以创造出以价值为驱动的团队,改变团队的工作方式。

本文最后一部分分析了OKR的正确使用方法,以及如何赋予团队更多自主权。

回顾第一部分请点这里:系列文章|OKR与敏捷(一):瀑布式目标与敏捷的冲突
回顾第二部分请点这里:系列文章|OKR与敏捷(二):实现全栈敏捷

使用OKR的正确方式

与其他工具一样,OKR也可能会被滥用并沦为待办事项列表。但如果你想要专注于价值实现,那么你的目标就必须要体现这一点。因此你需要设定价值导向的关键结果:

价值就像讲笑话:你没法告诉对方它到底好不好。

价值导向的OKR不仅仅衡量结果。你还需要明白对你的客户和公司来说,什么样的结果才是有价值的。

下面的例子展示了两种关键结果的差别:

在敏捷中使用行为导向的关键结果会产生摩擦。既然敏捷团队已经有了明确的路线图,为什么他们还需要OKR呢?我遇到的所有尝试将OKR与敏捷相结合的团队,都在专注于开发活动本身。

使用价值导向的OKR能够带来变革,它可以成为连接敏捷和精益的桥梁,弥补产品和开发之间的空白。

改变侧重点

尽管敏捷使用的命名法专注于交付。我们也需要抛开一些概念,比如“完工、燃尽图、速度”。

与之相反的,我们应该专注于价值。我们不需要验收标准,需要利用OKR来定义成功的标准。

从意见转变为数据

敏捷并不是独立的数据驱动,而是HiPPO(HighestPaid Person’s Opinion)模式,即听从薪酬最高者的意见。

《谷歌的经营之道》一书生动形象地描述了这个模式:

这种敏捷模式下隐藏着一个巨大缺陷。即公司的利益相关者告诉团队应该去做什么工作,并对工作进行审查。

罗恩·杰弗里斯(Ron Jeffries)描述了一场与利益相关者的虚拟对话:

“每周你可以告诉我们你最看重什么,然后我们会告诉你哪些要求是我们可以实现的。一周之后,你就可以拿到我们的成果。如果你乐意,你就可以交付出去。”

按照泰勒管理模式,由利益相关者来决定团队应该做什么,以及交付的成果是否可以出售。这种做法默认利益相关者知道什么具有价值,且他们的意见可以作为实际价值的衡量指标。

但数据表明实际上正相反。例如,罗恩·卡哈维发表了一篇论文,对微软的一系列创意和结果进行了分析。结果,仅有 1/3的创意对期望指标在统计层面产生了积极效应。

如果敏捷开发摒弃了数据统计和成果衡量,转而选择HiPPO(听从薪酬最高者的意见)来决定应该开发什么功能,那么其误差将超过66%。

很多公司还在使用“客户意见至上”的管理模式。这种模式中,个别人的意见代表了终端客户。在过去这个做法尚且行得通,因为在数据采集上很困难。但到了数字化的现代社会,这已经成为了瀑布模型的又一个遗留问题。

用实验取代HiPPO模式

事实上,开发团队不需要个别人来代表客户的意见。因为团队可以自己采访客户以判断开发行为是否得当。OKR可以取代HiPPO,通过实验让团队学习和复盘。

OKR可以帮助团队采用假设驱动开发模式,巴里•欧莱礼将其描述为:

我们认为……
可得到……
当……我们有信心继续进行……

在这个模型中,复盘不再是为了展示可交付成果。团队在复盘中通过讨论主题和主要假设来不断完善交付成果。

赋予团队自主权

命令与控制依然存在。

命令与控制心理依然贯穿敏捷交付的全过程。利益相关者有权决定开发什么功能。因此,团队的工作模式依然是“因为这是山姆说要做的”,直到“山姆觉得不错”之后才算完工。

公司发展需要团队全身心的奉献,所以他们需要理解公司的业务问题并能够就构建内容发表意见。

马蒂·卡根曾写道:“如果你只让你的工程师写代码,那你只得到他们一半的价值。”

为了赋予团队自主权,你要给予他们自主决定如何实现预期成果的自由。因此团队的目标也需要改变:

玛丽·帕彭迪克(Mary Poppendieck)曾写道:

“或许敏捷开发实践最大的缺陷是哪个来团队决定做什么的方式。在很长时间以来,人们认为团队本身并没有责任来回答应该做什么这个问题。”

团队不需要执行由利益相关者提出的瀑布式计划,他们可以利用双轨敏捷和设计冲刺等方法来发现有价值的产品。

END

原文作者|Felipe Castro
内容编译|Worktile

文章来源:Worktile官方博客

文章转载请注明出处。

系列文章|OKR与敏捷(三):赋予团队自主权的更多相关文章

  1. 系列文章|OKR与敏捷(二):实现全栈敏捷

    OKR与敏捷开发的原理有着相似之处,但已经使用敏捷的团队再用OKR感觉会显得多余.这种误解的根源就在于对这两种模式不够了解,运用得当的情况下,OKR和敏捷可以形成强强联合的效果,他们可以创造出以价值为 ...

  2. 系列文章|OKR与敏捷(一):瀑布式目标与敏捷的冲突

    OKR与敏捷开发的原理有着相似之处,但已经使用敏捷的团队再用OKR感觉会显得多余.这种误解的根源就在于对这两种模式不够了解,运用得当的情况下,OKR和敏捷可以形成强强联合的效果,他们可以创造出以价值为 ...

  3. JVM系列文章(三):Class文件内容解析

    作为一个程序猿,只知道怎么用是远远不够的.起码,你须要知道为什么能够这么用.即我们所谓底层的东西. 那究竟什么是底层呢?我认为这不能一概而论.以我如今的知识水平而言:对于Web开发人员,TCP/IP. ...

  4. 彻底搞懂 etcd 系列文章(三):etcd 集群运维部署

    0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管.etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件 ...

  5. 微信JS图片上传与下载功能--微信JS系列文章(三)

    概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){ v ...

  6. openstack系列文章(三)

    学习openstack的系列文章-glance glance 基本概念 glance 架构 openstack CLI Troubleshooting 1. glance 基本概念 在 opensta ...

  7. Office 365 开发概览系列文章和教程

    Office 365 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual St ...

  8. 开篇:软件项目的整个流程 - IT软件人员学习系列文章

    这段时间闲来无事,就在总结以前的项目经验,然后写成博客的形式以进行记录.本文就对<IT软件人员学习系列文章>做个开篇吧. 对于IT软件的开发来说,无外乎B/S.C/S和Android.iO ...

  9. IT软件人员的技术学习内容(写给技术迷茫中的你) - 项目管理系列文章

    前面笔者曾经写过一篇关于IT从业者的职业道路文章(见笔者文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章).然后有读者提建议说写写技术方面的路线,所以就有了本文.本文从初学者到思想 ...

随机推荐

  1. 【小白学C#】浅谈.NET中的IL代码

    一.前言 前几天群里有位水友提问:”C#中,当一个方法所传入的参数是一个静态字段的时候,程序是直接到静态字段拿数据还是从复制的函数栈中拿数据“.其实很明显,这和方法参数的传递方式有关,如果是引用传递的 ...

  2. 毕业原版=[约克大学毕业证书]York原件一模一样证书

    约克大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...

  3. appium在android 7.0真机上运行报错command failed shell:............ps:'uiautomator"的解决方式

    appium版本:1_4_16 在CSDN中找到相关解决的方案,根据此解决方案顺利的解决了让人惆怅的问题,再次记录. 1.找到appium安装目录下的adb.js文件,目录为:Appium\node_ ...

  4. Hive 查询元数据库获取某个分区的count数

    =========查询分区的大小========= select d.NAME,t.TBL_NAME,p.PART_NAME,prm.PARAM_KEY,prm.PARAM_VALUE from TB ...

  5. Django文件上传(经典上传方式)

    经典文件上传方式 创建URL from django.contrib import admin from django.urls import path from django.conf.urls i ...

  6. SpringBoot进阶教程(三十)整合Redis之Sentinel哨兵模式

    Redis-Sentinel是官方推荐的高可用解决方案,当redis在做master-slave的高可用方案时,假如master宕机了,redis本身(以及其很多客户端)都没有实现自动进行主备切换,而 ...

  7. 从壹开始微服务 [ DDD ] 之九 ║从军事故事中,明白领域命令验证(上)

    烽烟 哈喽大家周二好呀,咱们又见面了,上周末掐指一算,距离 圣诞节 只有 5 周的时间了(如果你还不知道为啥我要提圣诞节这个时间点,可以看看我的第二系列开篇<之一 ║ D3模式设计初探 与 我的 ...

  8. C#相等性 - 三个方法和一个接口

    简介 C#(.NET)的object类里面有三个关于判断相等性的方法: public virtual bool Equals(object obj) public static bool Equals ...

  9. 第13章 Base64 URL编码 - IdentityModel 中文文档(v1.0.0)

    JWT令牌使用Base64 URL编码进行序列化. IdentityModel包括Base64Url帮助编码/解码的类: var text = "hello"; var b64ur ...

  10. 第2章 授权端点(Authorize Endpoint) - IdentityModel 中文文档(v1.0.0)

    对于大多数情况,OAuth 2.0和OpenID Connect授权端点的GET请求需要具有许多查询字符串参数. 虽然您可以使用任何方法创建带参数的URL来创建正确的字符串,但RequestUrl类是 ...