2017年7月16日 星期日

OKR 要怎麼跟Scrum 搭配進行呢? (1)


第一次聽到OKR 的完整範例是從吳軍的硅谷來信中聽到的 Google 的目標管理法,聽完的感想是,哇~原來OKR 可以這樣使用,不管是目標和關鍵成果都很明確,是個簡單易懂的工具。對於個人是這樣,但是對於公司組織制訂OKR似乎就沒那麼簡單了...


對於許多組織來說,都會有訂立年度目標的習慣,也會根據年度目標來當作績效考核的參考,不過這對我們跑敏捷的組織來說是不太適用的,如同這篇文章有提到 : Agile Goal Setting: Using OKR to link Agile and Lean to company goals
But if your teams are working on 1–4 week iterations, getting out of the building to talk to customers, testing hypothesis and learning what works and what doesn't work, how can you use a static set of goals?    -  The answer is, you can't.

像我們以Sprint 為基礎在運行,本來就等於週週在規劃,週週都在Review,而且Scrum Team 本來就應該是以整個團隊成果來考核,所以績效考核這套跟我們有點格格步入,經過內部討論後,我們想乾脆就趁機開始試試看OKR。而本著敏捷學習試錯的精神,反正就先讓大家試試看,過一季後在來檢討一下,看看實行上有什麼困難和不順的地方,再當作修改的依據。

而團隊成員和我運行一季後遇到最大的問題就是:
個人Object 跟Sprint Goal 無法 Match 的狀況下,根本無法達成任何Key Result

這顯然有什麼地方出錯了?理論上 OKR 的制訂必須跟組織和團隊的目標一致,而團隊成員就依據討論出來的組織目標去思考到底我們可以對組織有什麼貢獻?並且訂出一些覺得可以對組織有貢獻的改善方案當作我們的 OKR,但這個問題就來了,我們個人的OKR 如果沒有排入 Backlog 那有什麼時間可以做呢?

(這邊就有個怪味道,是不是個人OKR 跟組織或  Team 沒有 alignment 呢?)

你真的了解OKR吗? 這篇文章也有提到,所有的OKR 都必須排入Backlog 才能被有效追蹤和執行,但是Backlog 不都是PO 在管理的商業需求嗎? 那個人建議的改善方案要怎麼排進去呢?


後來發現網路有不少人有跟我一樣的問題:
有人提到在Scrum team 跑OKR 對工程師來說會有些疑惑:
"company-level OKRs work fine, when it comes to group-level and individual OKRs, often developers get the feeling that the two systems are overlapping or even competing."

其中有一個人講的我覺得蠻有道理的,也比較像我覺得OKR與Scrum 用起來有點不順的地方:

Personally, I think OKRs fit better with pull based systems (e.g. kanban/lean) over push based systems (e.g. Scrum iterations).  Autonomy is key. Once OKRs are set, it's great to see the team define their own work to help achieve their own OKRs.


然後我看到說有成功結合Sprint 和 OKR 的就是直接把Sprint Goal 要做的User story 當作是RD的Object,那RD產出的KRs就是如何設計和開發這些功能.......這超奇怪的....XD

For example, let's say we want to release our recognition version 2.0 this quarter. This will be our OKRs. The key results will consist of the team member's sprints to achieve the goal. E.g. Redesigning the "Recognize" button, x amount of code reviews before push etc.

透過OKR 幫助團隊對齊


Agile Goal Setting with OKR - Objectives and Key Results 這篇文章中提到,透過團隊共享OKR可以達到 Reinforcing Alignment,這個觀點我認同,同一個team 對於同一個產品應該要有相同的目標和檢驗標準,不過這邊指 team 似乎不只是RD team還包含 BD sales  吧?

Objective: Successfully Launch Acme Product
Key Results:
  • 500.000 Daily Active Users of the free version.     
  • 8% conversion rate from free to paid customers.     
  • Net Promoter Score of 75%.     
  • Less than 5 critical or blocker bugs reported by users.     
  • Achieve at least 40% revenue share with 5 of the target content partners.

此外許多篇文章最後都會看到這個結論:
  • OKR gives autonomy to the team
  • OKR helps prioritize the product backlog

讓我開始重新思考我真正的問題是什麼,到底Scrum Team要交出的OKR是什麼? Scrum 會需要個人的OKR嗎?

首先 OKR 的確適合用在Lean 的環境,甚至可以用來補強,因為Lean 的重點就是驗證假設與學習,而OKR 正好用來定義 Success Criteria 的量化指標,在過去 Agile & Scrum 其實是沒有著重在Goal 與 Business Success 這塊的,它重視的比較是交付,要知道Product Deliver  與 Product Success 是有差距的,而且很多地方是RD無法着力的? 有個 OKR 教練 Christina Wodtke 提到:

Success is not checking a box.
Success is having an impact.
If you complete all tasks and nothing ever gets better, that's not success.

而參考自Riachard的文章 Scrum Master 的職責 - 引領團隊的流程,進而得以交付成功的產品,原始的Scrum 定義分工是:
  • Product Owner: Makes Product Success (讓產品得以成功)
  • Scrum Master: Makes Process Success (讓流程得以成功)
  • Scrum Team: Makes Deliverables Success (讓交付得以成功)
Team 的 OKR 只需要專注在 交付嗎?  此外 A Key Result is NOT something you do, it IS something that happened because of what you did,所以我們要造成什麼Happen?


假使單獨談 OKR 和 Scrum 應該都沒什麼疑問,但是合在一起看我就迷糊了~XD 而且看了越多文章問號越多~

講了那麼多到最後不但沒結論,反而造成更多疑問這樣好像不道德,浪費大家的時間...Orz...


Well 至少我可以分享給各位我看過的幾篇好文章,然後我會繼續研究思考這個議題~

Reference:

[1] What is the difference between MBO and OKR
[2] oreilly - Introduction to OKRs
[3] How OKRs Complement Scrum – and Why You Should Use Them Together
[4] Monday Commitments and Friday Wins
[5] OKR Mistakes (and how to fix them)
[6] OKR for Agile Teams
[7] Lean Performance’s Beginner’s Guide to OKR:




張貼留言