透過 OKR 進行項目過程管理

項目管理是項目的管理者在有限的資源約束下,運用系統的觀點、方法和理論,對項目涉及的所有工做進行有效的管理。即從項目的投資決策開始到項目結束的全過程進行計劃、組織、指揮、協調、控制和評價, 以實現項目的目標。[1]運維

在有贊,進行項目前會通過一系列的規劃流程,確認資源後即啓動項目進行。本文接下來會討論的是如何透過 OKR 的方式來管理項目研發過程。工具

1、簡介 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. 根據項目進展進行評估

2、項目管理與 OKR

簡單介紹過 OKR 後,再回到項目管理上來看,大部分的項目會有幾個關鍵內容:3d

  1. 里程碑、完成時間
  2. 工做/任務量
  3. 資源

下圖爲我司通常通用的項目研發流程cdn

2.1 結合 OKR 與項目過程進行目標拆解

將 OKR 運用在項目管理的過程裏,咱們會須要訂定長期目標、關鍵指標,這很是簡單,由於項目自己就是一個具備範圍定義的,因此:(你也能夠結合一些敏捷開發方法論來輔助,像是 Scrum[3]、Kanban[4])blog

  • 目標 (O) - 項目上線,固然,你的項目也能夠定義與業務指標相關,這樣會讓項目更有價值,例如:讓 xxx 位使用者能使用等
  • 關鍵指標 (KR) - 里程碑,當達到一個里程碑時,其實就是完成了一個項目裏的關鍵指標
  • 行動 (AC) - 投入哪些資源、須要哪些團隊共同合做的策略、方式等

當長期的目標已經制定了,但項目過程當中的每一個環節仍舊有許多未知、不明確的問題等待挖掘,且不一樣的項目內容,問題也各不相同。以 Scrum 方法論舉例,在 Scrum 的過程當中,提到了一些會議環節,像是 Planning Meeting、Daily Meeting 等,在大部分的會議中,咱們會強調同步「昨天作了什麼」、「今天要作什麼」、「目前遇到了什麼問題」。咱們能夠簡單的將 OKR 結合進這些會議裏,讓會議的價值再提高一些。這時候咱們就能切出一些更細緻的目標、關鍵指標與行動方式,此時產出的就會是中期目標、短時間目標。ci

透過一連串的自上而下的拆分、定義目標,會讓項目的各個里程碑更明確、更細緻。另外,跨團隊的協做上,也能根據目標凝聚出當前應該要有的目標意識,某種程度上來講,能夠避免不一樣團隊在過程當中雖然是奔着大目標在執行,可是在中間環節彼此目標不一樣所致使的資源等待與浪費。項目管理

隨着目標的細分、關鍵指標的不一樣,粒度愈細的目標對於項目管理者來講愈容易管理,能夠想成是在一個大的項目裏,有許多不一樣時間點的小項目。在筆者手裏進行的項目中,通常經常使用來訂目標與檢驗結果的時間,提供給各位讀者參考下:資源

  • 每個月第一天,制訂當月目標,對於疑問制定行動策略,月底檢驗關鍵指標
  • 每週第一天,制訂當週目標,對於疑問制定行動策略,每週最後一天檢驗關鍵指標
  • 每日上午 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 爲下一個目標的行動點或關鍵指標。透過這樣一連串的目標管理過程,使得項目的目標明確且可控,各個與目標的相關人也能知道當前的目標與進度,能適時的提出改進點或行動點,進而下降項目偏離預期的可能。

3、後記

本文雖然只是簡單的介紹了下 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…
相關文章
相關標籤/搜索