項目管理是項目的管理者在有限的資源約束下,運用系統的觀點、方法和理論,對項目涉及的所有工做進行有效的管理。即從項目的投資決策開始到項目結束的全過程進行計劃、組織、指揮、協調、控制和評價, 以實現項目的目標。[1]運維
在有贊,進行項目前會通過一系列的規劃流程,確認資源後即啓動項目進行。本文接下來會討論的是如何透過 OKR 的方式來管理項目研發過程。工具
OKR(Objectives and Key Results) 全稱爲目標和關鍵成果[2]。是由英特爾公司制定,由 John Doerr 引入谷歌後,廣爲大衆所知道。在 OKR 的系統中,首先要制定一個「目標」,這目標要很是明確可衡量的,且必需要能符合 SMART (Specific、Measurable、Achievable、Relevant、Time-bounded) 原則,這樣才能用來衡量是否已經實現目標。例如:不能說「想讓網站成長」,而是要說「讓網站的營收較去年同期成長 10%」或者說「讓網站的 APRU 每個月成長 15%] ,這就是給定一個明確、可量化的目標給你們完成,OKR 的目標不能是模糊、不明確的。測試
OKR 流程網站
簡單介紹過 OKR 後,再回到項目管理上來看,大部分的項目會有幾個關鍵內容:3d
下圖爲我司通常通用的項目研發流程cdn
將 OKR 運用在項目管理的過程裏,咱們會須要訂定長期目標、關鍵指標,這很是簡單,由於項目自己就是一個具備範圍定義的,因此:(你也能夠結合一些敏捷開發方法論來輔助,像是 Scrum[3]、Kanban[4])blog
當長期的目標已經制定了,但項目過程當中的每一個環節仍舊有許多未知、不明確的問題等待挖掘,且不一樣的項目內容,問題也各不相同。以 Scrum 方法論舉例,在 Scrum 的過程當中,提到了一些會議環節,像是 Planning Meeting、Daily Meeting 等,在大部分的會議中,咱們會強調同步「昨天作了什麼」、「今天要作什麼」、「目前遇到了什麼問題」。咱們能夠簡單的將 OKR 結合進這些會議裏,讓會議的價值再提高一些。這時候咱們就能切出一些更細緻的目標、關鍵指標與行動方式,此時產出的就會是中期目標、短時間目標。ci
透過一連串的自上而下的拆分、定義目標,會讓項目的各個里程碑更明確、更細緻。另外,跨團隊的協做上,也能根據目標凝聚出當前應該要有的目標意識,某種程度上來講,能夠避免不一樣團隊在過程當中雖然是奔着大目標在執行,可是在中間環節彼此目標不一樣所致使的資源等待與浪費。項目管理
隨着目標的細分、關鍵指標的不一樣,粒度愈細的目標對於項目管理者來講愈容易管理,能夠想成是在一個大的項目裏,有許多不一樣時間點的小項目。在筆者手裏進行的項目中,通常經常使用來訂目標與檢驗結果的時間,提供給各位讀者參考下:資源
看似有了更多的會議,但這些會議一般會在 20 分鐘內結束,且價值極高,由於目標就在眼前:
在 OKR 的理論中,會要求每一個人都能找到本身的目標,這時候就會須要有人來檢視這個目標是否合理、是否太大或過小、或是是否跨職能/業務上的目標有一致,在一個項目裏咱們一般會有幾類負責人能夠對目標進行把控。
在不一樣的目標制定上咱們會須要這些負責人可以識別出來各成員、不一樣職能團隊的目標是否在同一目標上。透過這個方式能間接的提高
在每一個 O (目標) 訂出時,也會有與之相對應的 KR (關鍵指標) 和相對應完成 KR 的 AC (關鍵動做),在實際的操做中這些 KR 能提供明確的目標定義,協助項目成員、負責人在進行檢視時,有明確的驗證標準。像是
這時咱們即可在目標檢驗時,進行演示、操做,看看相對應的指標是否達成,未達成的部分能夠透過訂定新的 AC 來加速、增強各相關人的行動方式,也能夠轉換 AC 爲下一個目標的行動點或關鍵指標。透過這樣一連串的目標管理過程,使得項目的目標明確且可控,各個與目標的相關人也能知道當前的目標與進度,能適時的提出改進點或行動點,進而下降項目偏離預期的可能。
本文雖然只是簡單的介紹了下 OKR 與項目管理過程的結合方式,可是其中有許多敏捷方法隱含在其中,像是 Scrum、Kanban、XP 等,也有些傳統的項目管理隱含在其中,像是 WBS、里程碑等。不一樣的項目類型、複雜度,咱們能夠選擇性的加減某些方法、工具的使用方式與節奏。進而找出計劃驅動與價值驅動的平衡點,達到保證一有一個「好過程」與「好結果」的共贏目的。
不一樣的企業、團隊能夠有更多豐富、深刻的玩法。但其最終目的皆是以達成目標、減小資源浪費、可控爲出發點。對於目標制定的方式也能夠結合「吃掉那隻青蛙[5]」的方式來達到更好的效果。
最後附上一些常見的管理方式比較表