项目管理是项目的管理者在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效的管理。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价, 以实现项目的目标。[1]

在有赞,进行项目前会经过一系列的规划流程,确认资源后即启动项目进行。本文接下来会讨论的是如何透过 OKR 的方式来管理项目研发过程。

一、简介 OKR

OKR(Objectives and Key Results) 全称为目标和关键成果[2]。是由英特尔公司制定,由 John Doerr 引入谷歌后,广为大众所知道。在 OKR 的系统中,首先要制定一个「目标」,这目标要非常明确可衡量的,且必须要能符合 SMART (Specific、Measurable、Achievable、Relevant、Time-bounded) 原则,这样才能用来衡量是否已经实现目标。例如:不能说「想让网站成长」,而是要说「让网站的营收较去年同期成长 10%」或者说「让网站的 APRU 每月成长 15%] ,这就是给定一个明确、可量化的目标给大家完成,OKR 的目标不能是模糊、不明确的。

OKR 流程

  1. 明确事项的目标
  2. 对关键性结果进行可量化的定义,并且明确标定「达成目标」与「未达成目标」的措施
  3. 共同努力,达成目标
  4. 根据项目进展进行评估

二、项目管理与 OKR

简单介绍过 OKR 后,再回到项目管理上来看,大部分的项目会有几个关键内容:

  1. 里程碑、完成时间
  2. 工作/任务量
  3. 资源

下图为我司一般通用的项目研发流程

2.1 结合 OKR 与项目过程进行目标拆解

将 OKR 运用在项目管理的过程里,我们会需要订定长期目标、关键指标,这非常简单,因为项目本身就是一个具有范围定义的,所以:(你也可以结合一些敏捷开发方法论来辅助,像是 Scrum[3]、Kanban[4])

  • 目标 (O) - 项目上线,当然,你的项目也可以定义与业务指标相关,这样会让项目更有价值,例如:让 xxx 位使用者能使用等
  • 关键指标 (KR) - 里程碑,当达到一个里程碑时,其实就是完成了一个项目里的关键指标
  • 行动 (AC) - 投入哪些资源、需要哪些团队共同合作的策略、方式等

当长期的目标已经制定了,但项目过程中的每个环节仍旧有许多未知、不明确的问题等待挖掘,且不同的项目内容,问题也各不相同。以 Scrum 方法论举例,在 Scrum 的过程中,提到了一些会议环节,像是 Planning Meeting、Daily Meeting 等,在大部分的会议中,我们会强调同步「昨天做了什么」、「今天要做什么」、「目前遇到了什么问题」。我们可以简单的将 OKR 结合进这些会议里,让会议的价值再提升一些。这时候我们就能切出一些更细致的目标、关键指标与行动方式,此时产出的就会是中期目标、短期目标。

透过一连串的自上而下的拆分、定义目标,会让项目的各个里程碑更明确、更细致。另外,跨团队的协作上,也能根据目标凝聚出当前应该要有的目标意识,某种程度上来说,可以避免不同团队在过程中虽然是奔着大目标在执行,但是在中间环节彼此目标不同所导致的资源等待与浪费。

随着目标的细分、关键指标的不同,粒度愈细的目标对于项目管理者来说愈容易管理,可以想成是在一个大的项目里,有许多不同时间点的小项目。在笔者手里进行的项目中,一般常用来订目标与检验结果的时间,提供给各位读者参考下:

  • 每月第一天,制订当月目标,对于疑问制定行动策略,月底检验关键指标
  • 每周第一天,制订当周目标,对于疑问制定行动策略,每周最后一天检验关键指标
  • 每日上午 10 点制订当日目标,对于疑问制定行动策略,晚上 6 点检验关键指标

看似有了更多的会议,但这些会议通常会在 20 分钟内结束,且价值极高,因为目标就在眼前:

  • 完成的目标明确且可被检验
  • 对于产生出来的问题,所提出的行动策略能大大的提高响应速度
  • 不同团队间的协作聚焦提升
  • 不同的阶段,目标是自上而下被拆分,能在下层的目标 (日目标、半日目标) 上进行检验,进而调整上层目标 (周目标、月目标等),降低因市场变化等因素,导致最后完成的内容与当初的规划的差异过大

2.2 人员的要求

在 OKR 的理论中,会要求每个人都能找到自己的目标,这时候就会需要有人来检视这个目标是否合理、是否太大或太小、或是是否跨职能/业务上的目标有一致,在一个项目里我们通常会有几类负责人可以对目标进行把控。

  • 业务负责人
  • 产品负责人
  • 技术负责人
  • 测试负责人
  • 运维负责人

在不同的目标制定上我们会需要这些负责人能够识别出来各成员、不同职能团队的目标是否在同一目标上。透过这个方式能间接的提升

  1. 各负责人对于项目与业务目标的对齐、节奏,可以安排更精细节点做出适当的决策,像是是否能在某些功能完成时先上线给使用者使用。
  2. 要求各负责人对于全局观的把控更为强烈,在项目的过程中,其实也是培养未来的新团队小组长/负责人的一种路径。
  3. 原本可能沟通较少、节奏不一致的情况能够降低,风险也能提前被挖掘出来,并在前期就能先进行调研、修正。

2.3 目标检验的方式

在每个 O (目标) 订出时,也会有与之相对应的 KR (关键指标) 和相对应完成 KR 的 AC (关键动作),在实际的操作中这些 KR 能提供明确的目标定义,协助项目成员、负责人在进行检视时,有明确的验证标准。像是

  • 日目标:完成客户管理模块,KR1:客户管理模块能完全跑通,KR2:单测覆盖率 70%
  • 周目标:完成 CRM 系统,KR1:完成各模块整合且无严重系统流程阻塞,KR2:集成测试覆盖率 70%

这时我们便可在目标检验时,进行演示、操作,看看相对应的指标是否达成,未达成的部分可以透过订定新的 AC 来加速、加强各相关人的行动方式,也可以转换 AC 为下一个目标的行动点或关键指标。透过这样一连串的目标管理过程,使得项目的目标明确且可控,各个与目标的相关人也能知道当前的目标与进度,能适时的提出改进点或行动点,进而降低项目偏离预期的可能。

三、后记

本文虽然只是简单的介绍了下 OKR 与项目管理过程的结合方式,但是其中有许多敏捷方法隐含在其中,像是 Scrum、Kanban、XP 等,也有些传统的项目管理隐含在其中,像是 WBS、里程碑等。不同的项目类型、复杂度,我们可以选择性的加减某些方法、工具的使用方式与节奏。进而找出计划驱动与价值驱动的平衡点,达到保证一有一个「好过程」与「好结果」的双赢目的。

不同的企业、团队可以有更多丰富、深入的玩法。但其最终目的皆是以达成目标、减少资源浪费、可控为出发点。对于目标制定的方式也可以结合「吃掉那只青蛙[5]」的方式来达到更好的效果。

最后附上一些常见的管理方式比较表


[1]项目管理 - wiki.mbalib.com/wiki/项目管理
[2]OKR - wiki.mbalib.com/zh-cn/OKR
[3]Scrum - wiki.mbalib.com/wiki/Scrum
[4]Kanban - wiki.mbalib.com/wiki/Kanban
[5]吃掉那只青蛙 - book.douban.com/subject/337…

透过 OKR 进行项目过程管理相关推荐

  1. 透过 OKR 进行项目过程管理 1

    项目管理是项目的管理者在有限的资源约束下,运用系统的观点.方法和理论,对项目涉及的全部工作进行有效的管理.即从项目的投资决策开始到项目结束的全过程进行计划.组织.指挥.协调.控制和评价, 以实现项目的 ...

  2. 为什么选择使用 OKR 进行项目过程管理

    延续上次讨论的透过 OKR 进行项目过程管理的内容,有位朋友给了反馈,但是碍于回覆的字数有限,无法说明的更多,索性将内容弄得多点,变成一篇文章 ??? 一.OKR OKR 是一个目标管理框架,可以帮助 ...

  3. 通过OKR 进行项目过程管理

    项目管理是项目的管理者在有限的资源约束下,运用系统的观点.方法和理论,对项目涉及的全部工作进行有效的管理.即从项目的投资决策开始到项目结束的全过程进行计划.组织.指挥.协调.控制和评价, 以实现项目的 ...

  4. 项目过程管理(七)排期和立项

    术语解释 里程碑(时间):重要的时间节点,例如提测.发布.来自英文milestone. 风险点:任何可能造成项目延期的事项 立项:经过核心和高优先级的全体需求评审后,由项目经理收集各职能的工- 作量. ...

  5. 项目过程管理(一)团队分工与意识规范

    团队构成 本系列文章谈论的互联网项目团队主要包括项目经理.产品经理.开发.测试.UI设计师这几种职能,也可以包括某些类型的运营人员,不包括商务.客服等.其中项目经理可以由其它职能的人兼任,也可以单独设 ...

  6. 项目过程管理(三)文档组织规范

    总则 所有文档以在线文档系统(Online Documentation System,下文简称ODS)为中心进行管理,ODS不方便存放的东西才放到SVN(或Git).因为ODS有URL链接可以点击直达 ...

  7. 项目过程管理系列文章链接汇总

    前言 本系列文章可以作为项目开发制度的一部分.对中小型互联网公司的单个团队(100人内)有较大参考意义. 如果有足够的人力资源,可以根据这些流程自行开发出一个内部的项目管理系统,目前(2019年初)业 ...

  8. 项目过程管理(十八)集体加班制度

    加班的标准 及时上线能带来可观收入 外力因素(政策.时事.市场.第三方故障等) 延期了太久,要把进度赶回来 别人过失导致的个人加班,应根据自己意愿决定是否加.不加是合理的,项目延期是符合流程的.如果选 ...

  9. 项目过程管理(十六)项目周报

    原则 有事起奏无事退朝 项目经理可在周一上午召开站会收集信息,各职能负责人需积极配合. 周一下午3点前发出邮件 邮件 接着立项邮件全体回复,每周接着上一周发直到结项 收件人:项目组群 标题:[项目周报 ...

最新文章

  1. 《预训练周刊》第6期:GAN人脸预训练模型、通过深度生成模型进行蛋白序列设计
  2. 关于bash的执行过程
  3. 〖Linux〗Kubuntu KDE开机后总是提示“system program problem detected”的解决方法
  4. pytho sin(1/x)震荡间断点
  5. java bean 数据库表_如何从数据库的表格自动生成javabean,包含get/set方法等
  6. wordpress安装_WordPress第三课:使用SOFTACULOUS安装WORDPRESS
  7. 已知三角形三点坐标求角度_细心研磨椭圆焦点三角形,这肯定是最全的解释。...
  8. 移动硬盘“脱机”(签名冲突)的硬盘如何正常使用
  9. 23种设计模式之模板方法模式
  10. 【入门】用matlab做数字信号处理(学习记录)
  11. stm32f4的数字摄像头接口(DCMI)使用
  12. 如何购买一只好的基金
  13. 银河战舰服务器无响应,银河战舰帝国起源
  14. 2020,只争朝夕,不负韶华
  15. 学校计算机科室管理制度,学校科室管理制度资料.doc
  16. React开发(250):react项目理解 ant design loding控制页面转圈加载
  17. 移远4G模块通信模块使用
  18. 【强化学习论文合集】三十五.2021神经信息处理系统大会论文(NIPS2021)
  19. java判断两个数互质_AcWing 458. 比例简化-java(无需判断互质)
  20. Redis监听失效的字段

热门文章

  1. UA OPTI570 量子力学33 Time-dependent Perturbation基础
  2. UA PHYS515A 电磁理论V 电磁波与辐射4 反射与折射
  3. UA MATH563 概率论的数学基础 鞅论初步4 Radon-Nikodym定理,条件期望的存在唯一性
  4. WPF 3D 基础学习 - 相机、裁剪、光线入门(2)
  5. VC++ ATL 学习总结
  6. 图解用工具对PE文件格式做初步研究
  7. java 两行代码解析json文件
  8. 微信小程序http转https
  9. python学习笔记day08 文件功能详解
  10. Javascript绝句欣赏