主頁 > 軟體工程 > 谷歌OKR指導手冊 (譯)

谷歌OKR指導手冊 (譯)

2020-09-10 14:23:20 軟體工程

這是一本關于 OKR 迷你小冊子,名為《google OKR playbook》,由 www.whatMatters.com 網站發布, 該網站由John Doerr 團隊經營, 而John Doerr 正是 1999年將 OKR 引入 谷歌的那個人,

本文僅供大家學習參考,雖然文章較長,但值得一讀,歡迎收藏,

文章的末尾有一些 8 道自我測驗題,用來驗證你的OKR是否在正確的實施,

如果你正實施OKR,可以用它們來驗證一下吧~

在實作OKRs方面
沒有人比谷歌更有經驗

隨著公司規模的擴大,它定期發布 OKR 指南和模板,以下摘錄主要來自內部資源,并經谷歌許可轉載,
(注:這是谷歌對 OKRs 的做法,你的方法可能不同,也應該不同,)

在谷歌,我們喜歡大張旗鼓,我們使用一個稱為目標和關鍵結果(OKRs)的程序來幫助我們溝通、衡量和實作這些崇高的目標,

我們的行動決定了谷歌的未來,正如我們在互聯網搜索、Chrome 和 Android 中多次看到的那樣,一個由少量員工組成的團隊,朝著一個雄心勃勃的共同目標努力,就可以在不到兩年的時間里改變整個成熟的行業,

因此,作為谷歌的員工和經理,我們必須有意識地、謹慎地、明智地選擇如何分配我們個人與團隊成員的時間和精力,OKR 是這種謹慎選擇的體現,也是我們協調個人行動,以實作偉大集體目標的手段,


我們使用 OKR 來規劃要生產的產品,跟蹤它們的進度與計劃,并協調人與團隊之間的優先級和里程碑,
我們也用 OKRs 幫助大家專注于最重要的目標,并幫助他們避免被緊急但不太重要的目標分散注意力,


OKR是有野心的,它不是逐步增量式的,我們并沒有希望一次性就完成所有這些野心,(如果我們真的這樣做,那么,我們就不會具有足夠的進取性),

我們用色階來衡量我們做得有多好:

  • 0.0 -- 0.3 是紅色●
  • 0.4 -- 0.6 是黃色●
  • 0.7 -- 1.0 是綠色●

正確的OKR制定方法規則

沒有認真實施和管理的OKR,是一種時間上的浪費,是管理上的假大空,與之相反,如果實施得好,OKR將是一種很好的動機激勵工具,它能讓團隊明白什么是真正重要的,哪些地方需要優化,在日常作業中應當如何去進行利弊權衡,

要寫出好的OKR可不是一件容易的事,但也不是不可能,請遵循如下這些簡單的OKR制定規則:

  1. 規則1:O 要回答的是 "What" 的問題,它應當:
  • 表達清楚目的和意圖;
  • 挑戰且現實可行;
    - 必須真實、客觀,絕不含糊;
    - 旁觀者應該能夠明確無誤地判斷出一個O是否達成;
    - O的達成應對Google產生明確的價值和意義,
  1. 規則2:KR 要回答的是 "How" 的問題,它應當:

- 清晰可衡量,一旦KR達成了,能有力地推動O的完成; - 必須是產出導向,而非動作導向,如果你的KR包含有像"咨詢"、"幫助"、"分析"、"參與"這樣的詞匯,那么它描述的實際上是動作而非結果,與之相反,如果描述的是這些動作對最終用戶所帶來的影響,例如:"在3月7日前公布6個巨細胞的平均潛伏期和最長潛伏期"就是一個合格的KR,而"評估巨細胞潛伏期"則不是, - 必須能自證其是否已完成,這個證據取消績效是可輕易獲取的和可信賴的,例如,證據可以是變更串列、檔案鏈接、已發布的質量報告等,

  1. 規則3:跨團隊OKR

在谷歌,很多重要的專案需要多個不同的團隊一起協同方能完成,OKR是幫助致力于這種跨團隊協同的理想工具,跨團隊OKR的責任人應包括所有需要參其中的團隊,每個團隊都應當將它所負責的跨團隊OKR明確無誤地寫到它自己團隊的OKR中去,

舉例來說,如果廣告開發部、廣告SRE部和網路開發部三個部門需協同交付一個新的廣告服務,那么這三個團隊就應該有一個共同的團隊OKR,來描述他們的這項交付作業,指明各個部門在這個專案中所應做出的貢獻,

  1. 規則4:指令性OKR和挑戰性OKR

通常,存在兩種型別的 OKR(指令性OKR和挑戰性 OKR ),有必要對他們進行區分:

指令性 OKR 指的是那些我們必須承諾達成的OKR,我們必須調度充足的資源在指定時間內確保達成它,

對指令性 OKR 而言,目標分數是 1.0 ;如果得分低于 1.0 必須做出相應的解釋,因為這意味著計劃上或者執行上存在偏差,

與之相反,挑戰性 OKR 則意味著即便在我們對未來一無所知,或者在無法獲得必要資源支持的情況下,也依然應該去探索的那些事,挑戰性 OKR 承載的是我們改變世界的夢想,

挑戰性 OKR 的目標分數是 0.7 分,因為它存在高度的不確定性,

OKR寫作常見錯誤與陷阱

  1. 錯誤1:把指令性 OKR 和挑戰性 OKR 混為一談

把指令性 OKR 當成是挑戰性 OKR ,會增加 OKR 達成的風險,團隊可能不會去認真對待挑戰性 OKR ,確保高優先投入其中以成功交付這些 OKR ,

另外一方面,如果把挑戰性 OKR 標記成了指令性 OKR ,就會出現優先級倒置情況,一方面,真正的指令性 OKR 沒有資源去完成,而另外一方面,挑戰性 OKR 又不能真正的獲得必要的資源支持,這會在團隊中制造抵觸心理,

  1. 錯誤2 :OKR 只是在例行公事

所制定的 OKR 都是些團隊無須做任何改變即可輕而易舉完成的作業,而不是團隊或者客戶真正想要實作的那些事情,

  1. 錯誤3:挑戰性 OKR 并不挑戰

如果在制定挑戰性 OKR 時的基本假設是:"假如有額外的人力支撐,或者再幸運一些,那么我們可以做點什么?",這樣制定出來的 OKR 還不能算做是挑戰性 OKR ,更好的做法是,在制定挑戰性 OKR 時,問我們自己這樣一個問題:"如果我們解除了絕大多數限制,那么我或者我的客戶的世界看起來應該是什么樣的?"

對挑戰性 OKR 而言,當它最初被制定出來的時候,你并不知道如何才能實作它,這才是挑戰性 OKR 的真正要義,但如果你不去理解和描繪這種最終狀態,你就必然實作不了,這和知道目標但不知道如何實作它是有本質區別的,

你可以做一個小測驗:問你的客戶他們真正想要的是什么,然后看看你定出的挑戰性 OKR 是否達成或者超越了他們的預期?

  1. 錯誤4:OKR 不敢于挑戰

毫無疑問,一個團隊的指令性 OKR 會消耗他們大多數可用資源和精力,但不是全部資源和精力,指令性 OKR 和挑戰性 OKR 合在一起所消耗的資源量,應當是超出團隊目前的可用資源范圍的,不然這個團隊的 OKR 就全部都只是指令性 OKR ,因為指令性 OKR 是要求必須在現有資源范圍內要能全部達成的 OKR ,

如果一個團隊只使用部分人力/費用就能達成他們所有的 OKR ,那么這個團隊事實上是在浪費資源,或者說團隊一把手沒有管理好他們的團隊成員,這意味著上層管理團隊需要重新分配其人力和資源,把它們調配給那些真正可以做得更好的團隊,

  1. 錯誤5:低價值O(戲稱"沒人在意"型 OKR)

OKR 一定要體現清晰的商業價值,否則,就不值得浪費資源去做它們,低價值O(LowValued Objective, 簡稱 LVO )指的是那些即使你百分百完成了,得分達到1.0 了,也沒有人會真正注意到的 O ,

一個經典(也很有傭訓力)的低價值 O 示例:"將 CPU 利用率提升 3 個百分點,"

這個 O 本身對用戶和谷歌并不能帶來什么幫助,然而,如果將 O 描述成這樣:"在不改變質量/延遲/...的情況下,將峰值查詢所需內核數量減少 3 %,并將多余的內核回傳空閑資源池,"則清晰地描述出了經濟價值,就是一個好的 O 了,

這里有一個小測驗可以幫到你:OKR 能否在沒有直接最終用戶參與,或者產生經濟收益的情況下就得到 1.0 分?如果是,那么你需要重新組織你的 OKR 描述,讓它顯性地體現有形收益,比如:"發布X" 就沒有道出成功的標準,更好的描述是:"將 X 發布到 90% 以上的集群管理器網元,使集群 Y 容量翻番," 則是一個不錯的 O ,

  1. 錯誤6:KR 不足以支撐 O 的達成

OKR 包含 2 個部分:O 描述的是期望達成的結果,KR 是達成這個結果所要經歷的步驟,因而,關鍵的一點就是,如果所有 KR 的分數都是 1.0 了,那么與之相關的 O的分數也應該是 1.0 ,在制定 OKR 時,一個常見的錯誤是,所有的 KR 都是必要但卻非充分的,也即當這些 KR 都完成了,卻無法支撐 O 的實作,這個錯誤很有可能是故意造成的,因為這讓團隊躺在舒適區,不去做必要的資源/優先級/風險等承諾,這比交付"困難"的 KR 要容易得多,

這一陷阱極其有害,因為它拖延了發現達成 O 所需資源的時機,沒有及時暴露 O 不能按計劃達成的風險,

可以做一個小測驗:如果把所有 KR 的得分都標記成了 1.0 ,是否仍沒有達成所希望的目標或意圖?如果是,那么請增加 KR ,或者重新組織 KR ,直到 O 下所有KR能完整無誤地支撐其達成為止,

OKR查閱、解讀和實施:

指令性OKR

要求團隊要及時調整其他事項的優先級,以確保這部分 OKR 能按計劃 100% 交付,這部分 OKR 的得分須為 1.0,

如果團隊不能承諾在指令性 OKR 上達成 1.0分,團隊須適當地將這一風險及時進行升級上報,這一點很關鍵:這種情形下的升級不僅是合適的,而且你必須這么做,無論是因為對 OKR 的分歧、對其優先級的分歧,還是由于無法分配足夠的時間/人員/資源而導致無法按承諾達成 OKR ,都應對之進行升級,這讓管理層能提前思考應對策略,

推論:這意味著每個 OKR 都會涉及到適度升級,因為它需要基于已有優先級或者承諾做出改變,一個不需要做任何修改的 OKR 只是一個例行性 OKR ,即便以前沒有被明確制定成 OKR,它們也不可能是新的 OKR,

不能按時達成 1.0 分的 OKR 都應進行事后回溯,這不是要懲罰哪個團隊,而是要弄清楚究竟發生了什么,是計劃制定不合理?還是 OKR 執行上出現了問題,找到真正的問題所在,持續提升團隊能力,以便未來更好地完成指令性 OKR,

指令性 OKR 的示例有:

- 確保服務達成 SLA(服務水平協議), - 發布預先定義好的特性,或者在指定日期提升基礎設施系統的性能, - 以一定成本制造并交付一定數量的服務器,

對挑戰性OKR

挑戰性 OKR 被設計成需要團隊在某季度付出額外的努力才能達成的那些 OKR,挑戰性 OKR 的優先級指明了團隊成員在完成了指令性 OKR 后,還需要在哪些地方進行額外的時間和精力投入,當團隊有多個挑戰性 OKR 時,團隊應優先完成高優先級挑戰性 OKR ,然后再完成次優先級挑戰性 OKR......依此類推,以確保資源和精力的聚焦,

挑戰性 OKR 及其優先級,同樣應該出現在一個團隊的 OKR 串列上,直至其完成為止,如有必要,這些 OKR 可以持續多個季度,并不斷推進其進展,僅僅因為一件事情進展不佳就將其從 OKR 串列中洗掉是不對的,這是在掩蓋問題而非真正解決問題,

推論:如果另外一個團隊既有充足的專家資源也有充足的時間投入,那么把一個挑戰性 OKR 轉交給這個團隊去做會更合適,

團隊管理者需要每季度定期評估挑戰性 OKR 的資源滿足度,履行其職責確保業務的已知需求得以滿足,管理者不是要接受所有的資源需求,而是應在團隊所有指令性 OKR 完成之后,按目標優先級去進行資源調度,

關注公眾號
回復 "OKR" 獲取《OKR小測驗》,
檢測一下你的組織OKR狀態吧,

wechat

本文首發于 Bob Jiang的博客 ,轉載請聯系 Bob Jiang

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/2441.html

標籤:其他

上一篇:gitlab-runner的安裝

下一篇:自我介紹+軟工5問

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more