研發效能度量核心方法與實踐:行業案例和關鍵原則

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"研發效能度量的出發點雖然很好,但是如何正確、有效的度量卻是一個頗有難度的技術活兒。近期圍繞如何進行效能度量的討論不絕於耳,但如何構建度量的體系化框架、如何進行度量指標的選取、如何進行度量分析、如何進行落地運營,卻鮮有文章具體闡述。在這一背景下,張樂老師撰寫了《研發效能度量核心方法與實踐》系列文章,對以往經驗進行了總結和提煉,包括以下內容:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1. "},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/vTucU06GZrOFHSmveuCW","title":null,"type":null},"content":[{"type":"text","text":"效能度量的難點和反模式"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2. 效能度量的行業案例和關鍵原則"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3. 效能度量的實踐框架和指標體系設計"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"4. 效能度量的常用分析方法"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"5. 效能度量的落地實施建議"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以上內容將以五篇連載文章的形式發佈,共計超過3萬字,本文是第二篇。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於方法,可能有成千上萬種,但原則只有少數幾條。把握原則的人,能夠成功地選擇自己的方法。只嘗試方法但忽略原則的人,肯定會碰到麻煩。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"right","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"                —— Harrington Emerson,美國工程與商業理論家,科學管理學科的先驅者"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"研發效能度量領域涉及到的範圍很廣,相關的方法和實踐也非常多。我們在展開講解具體的度量指標和細節的實踐體系之前,先來看一下度量的一些關鍵原則。當然,如果只講原則未免過於枯燥,所以本章我會結合阿里、騰訊、百度等多個“互聯網大廠”及行業權威報告的案例,來總結和提煉出其中隱含的度量設計思路和關鍵原則。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"1 DevOps全球調查報告中的度量指標"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"DevOps全球調查報告英文全稱是《State of DevOps Report》,可以說是DevOps領域的實踐者們每年必讀的讀物,我從2017年起連續幾年主導了該報告的中文版翻譯。但稍有點遺憾的是,隨着2019年DORA(DevOps Research & Assessment)被Google收購,該報告的創作靈魂人物Nicole Forsgren和Jez Humble就沒有繼續投入到該報告後續的調研、分析和創作中了。但在這份報告中提出並一直延續多年的四大DevOps關鍵結果指標,依然對行業提供了權威、極具價值的參考。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"DevOps全球調查報告的四大DevOps關鍵結果指標是:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"部署頻率:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"所在組織部署代碼的頻率;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"變更前置時間:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從代碼提交到代碼成功運行在生產環境的時間;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"服務恢復時間:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"發生服務故障後,通常多久能夠恢復,即MTTR;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"變更失敗率:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"有百分之多少的變更會導致服務降級或需要事後補救;"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/40\/4083061a4e0a7961e03228851d2ef880.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 在這四個指標中,前兩個(部署頻率、變更前置時間)用於衡量吞吐量,後兩個(服務恢復時間、變更失敗率)用於衡量穩定性。另外,基於每年上千份調查問卷收集上來的數據,這份報告把受訪者所屬組織分爲精英效能、高效能、中等效能和低效能四個聚類,按照上圖中每個指標的閾值範圍,可以進行效能自評和行業對標。你可以根據自己所在產品線或團隊的情況對號入座。在2019年,精英效能組織的佔比大概是20%,這比2018年的數據幾乎翻了兩倍,說明行業中的組織都在追求卓越的研發效能,而且這個目標的確是可以達成的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"根據精英效能組織的反饋,他們通常會按需部署,並且每天都會做多次部署。他們的變更前置時間,即從提交代碼到代碼成功部署到生產環境的時間,不到1天,服務恢復時間在1小時以內,變更失敗率指標在0%~15%之間。這些數據與低效能企業相比,均有數十倍甚至上百倍的差異,說明"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"在研發效能領域,優勝者往往越做越好,而後進者會越來越跟不上時代的步伐。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在DevOps全球調查報告的四大關鍵指標中,我們可以識別出來一些效能度量的原則,即優先使用面向結果的指標,其次纔是面向過程的指標;更多使用全局性指標,而不是局部性指標。這兩個原則在下文中會詳細展開討論。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當然,從今天的角度來看,DevOps全球調查報告中給出的這四大關鍵指標,我認爲也有其侷限性。比如變更前置時間,這個指標關注的是從(最後一次)代碼提交到部署的時間。雖然這個指標對於衡量工程的卓越性也很重要,但只覆蓋了研發過程中從生成構建到部署的一個小的階段,而這種狹隘的局部改進的效果會隨着時間收益遞減。所以應該更進一步,考慮使用更加全局、更加面向結果的,衡量研發過程端到端的度量指標。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2 阿里巴巴的效能度量指標與“ 2-1-1”願景目標"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"有效的度量體系應該圍繞核心問題展開,我們這裏討論的問題就是團隊的持續價值交付能力如何。阿里巴巴用五組指標來回答這一問題,它們分別是:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a5\/a576734b066b8bbecc89fb9cbe10f1c6.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":""}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"持續發佈能力"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"具體包含兩個細分指標,分別是:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(1)發佈頻率,也就是團隊平均多長時間發佈一次需求。它約束了團隊對外響應的最大可能性;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(2)發佈前置時間,也就是從代碼提交,到功能上線所需要花費的時間。如果時間開銷很大,團隊就不太可能去增加發版的頻率。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"需求響應週期"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"包含兩個細分的指標,分別是:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(1)交付週期時間,也就是從用戶提出需求並被確認,到需求上線所要經歷的時長。它反映團隊(包含業務、開發、運營等職能)對客戶問題或業務機會的整體響應速度;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(2)開發週期時間,即從開發團隊理解並確認需求,到需求可以上線所經歷的時長,它反映研發的響應能力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"交付吞吐率"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"也就是單位時間內交付的需求的個數。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"內建質量的能力"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"也就是整個交付過程的質量。它包含兩個細分的指標,分別是:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(1)開發過程中缺陷的創建和修復時間的分佈,我們希望缺陷能夠及時且持續的發現,並且在發現後儘快修復;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(2)缺陷庫存,我們希望能在整個開發過程中控制缺陷庫存量,讓產品始終處於接近可發佈狀態,奠定持續交付的基礎。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"對外交付質量"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"包含兩個細分的指標,分別是:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(1)單位時間(線上)問題數目;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(2)(線上)問題平均解決時長。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"好的度量體系應該回答一個根本問題,併爲此講述完整的故事。爲回答團隊交付能力如何這一問題, 上面五組指標,分別從響應能力、效率和質量三個方面講述了一個完整的故事。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"其中,持續發佈能力和需求響應週期這兩組指標反映的是響應能力,也就是價值的流動效率; 交付吞吐率這一指標反映的是團隊效率,也就是資源的產出效率;內建質量的能力和對外交付質量這兩組指標是質量指標。這些指標綜合起來,讓我們可以全面瞭解當前交付等能力,與目標的差距,以及改進的機會。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"基於這樣的度量體系,我們應該設定怎樣的目標呢? "},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"阿里巴巴內部做團隊效能改進時,提出了稱之爲“2-1-1”的願景"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",得到了不少部門的認可。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"什麼是 211 呢?“2”指的是交付週期 2 周——85%以上的需求可以在 2 周內交付;第一個“1”指的是開發週期 1 周——85%以上的需求可以在 1 周內開發完成;第二個“1”指的是發佈前置時間 1 小時——提交代碼後可以在 1 小時內完成發佈。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"到目前爲止,阿里巴巴很多團隊離“211”的願景還是有距離的,特別是這個“2”,它涉及到整個組織各職能,和部門的協調一致,緊密協作。1小時的發佈前置時間,則需要持續交付流水線,產品架構體系和自動化測試、部署等有力保障。達成“211”並不容易,但它體現了組織提升持續交付和快速響應能力的目標,樹立了持續改進的方向。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在阿里巴巴效能度量體系的案例中,我們可以看到更爲落地一些實踐經驗,比如從響應能力、效率和質量三個方面講述一個完整的故事,回答團隊交付能力如何這一根本問題。在指標的選取上,仍然秉承了優先使用面向結果的指標,其次纔是面向過程的指標;更多使用全局性指標,而不是局部性指標這樣的原則。另外,這裏面的指標都是可被量化的定量指標,並沒有出現主觀的定性指標。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"3 螞蟻集團的效能度量和研發洞察體系"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"螞蟻集團已經有上萬名研發工程師,如何更全面、更精準、更有效的提升整體研發效能成爲組織面臨的重要挑戰。螞蟻集團CEO在總裁會上提出“任何事情不能被衡量,就不能被改善,研發效能需持續建立指標體系,收集數據,識別問題,再通過自動化工具、服務體系等去解決研發問題,用賦能(Enable)的思想,最終讓研發工程師高質量、高效工作”。圍繞這個目標,基於多年積累的大數據技術,螞蟻集團構建了“螞蟻研發洞察體系”,包括:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"研發效能指標體系"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"研發綜合評價模型體系"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"研發度量基礎設施(研發洞察平臺)"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"其中,螞蟻的研發效能指標體系設計,注重科學性、系統性、實用性,強調根據不同視角、不同目標、不同功用,精準提供指標。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/f3\/1e\/f3744f08207941f11281b79f26dfc51e.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在指標體系設計過程中,有兩個關鍵點,分別是:分層度量、區分指標屬性和類型。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"關鍵點一:分層度量。螞蟻把整個業產研(業務、產品、研發)過程分爲三層,並分別提供指標:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(1)業務層:指從業務規劃到價值驗證的過程。這一層的目標是“做正確的事”——以業務目標爲核心,創造更多有效、可驗證、可閉環的價值,保障業務結果。使用的指標有盈利能力、市場份額等商業衡量指標,也有客戶滿意度、可用率、生產力等非商業衡量指標。這些指標的具體定義和業務特點、業務發展階段強相關,並會隨着市場變化進行調整。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(2)交付層:指從需求受理到需求發佈。這一層的目標是“正確的做事”——以流動效率爲核心,持續、快速、高質量交付價值。交付層像是一條管道,衡量這個“研發管道”的效能,主要看交付質量、交付效率,以及過程中的研發投入、產出。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(3)能力層(也可叫技術實現層):指影響交付過程的所有研發活動。這一層的目標是“更好的研發能力”——研發過程中的每個環節(無論是人工還是自動化)能夠順暢、高效、低成本完成。使用的指標主要是每個研發活動中的工程任務的穩定性、時效性、有效性,以及關鍵研發活動的準出質量。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"關鍵點二:區分指標屬性和類型。根據觀察角度不同,指標的屬性分爲質量、效率、投入、產出。根據使用場景不同,指標的類型分爲結果指標、過程指標。結果指標用於評價或觀察結果,具有滯後性。過程指標用於對過程中關鍵問題診斷,幫助持續優化,有效支撐結果性指標的達成。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"根據以上設計思路,螞蟻的指標體系實例如下:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/77\/77e4a11d6d166553a5e9397cb88dd10f.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"其中,比較典型的結果性指標有:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"[質量]萬行責任故障數:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"統計時間內發生的線上故障和變更代碼行比例。相當於軟件質量工程中最常用、最重要的質量指標之一  - “遺留缺陷密度”(Residual defect density),在螞蟻使用“萬行責任故障數”來衡量線上質量,牽引各團隊交付可用的軟件。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"[質量]責任故障監控發現率:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"責任故障中通過監控發現的線上故障佔比,衡量研發團隊風險防控能力。由於螞蟻尤其重視提前發現故障的能力,因此也作爲比較重要的結果指標。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"[質量]應用發佈回滾率:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"團隊所負責的應用的變更有多少比例導致問題,造成回滾。對應到DORA調研報告中指標 - “變更失敗率”(Change failure rate)。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"[質量]活躍應用客觀質量分:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"應用綜合評價模型度量複雜問題,是螞蟻研發度量的一個特色。質量分是應用發佈上線前最後一次運行的各項質量檢驗結果的綜合評價,它的構成包含了安全問題、測試通過率、接口註釋率、代碼重複度等多個工程維度的客觀指標。用於衡量應用迭代過程的內建質量(Built-In Quality,確保每個增量在整個研發過程中都符合適當的質量標準)。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"[效率]需求平均交付週期:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從需求受理到最終交付上線的時間。它反映團隊對客戶問題或業務機會的整體響應速度。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"[效率]研發迭代平均交付週期:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"研發迭代從迭代創建到迭代發佈的時間週期。對應到業界指標稱爲“開發交付週期”,即一個需求從啓動開發到發佈上線的時間週期,由於螞蟻這個過程是由“研發迭代”承載的標準工作流,因此指標命名與業界不同。研發團隊的開發能力、研發模式、交付粒度、工程效率是影響迭代週期的關鍵要素。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"[效率]平均發佈前置時間:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"每一次代碼提交到發佈上線的時間週期(Lead time for changes,how long does it take to go from code commit to code successfully running in production),它反應了團隊的工程技術能力,依賴交付過程中工具的高度自動化和穩定性。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"用這套方式,螞蟻集團累計沉澱了2200多個指標。這些指標,經過研發洞察平臺的處理,自動識別異常,轉化爲自動分析結論,並匹配相應的解決方案&實踐建議,分層、分角色、分場景輸出,讓全組織使用數據持續優化和改進。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"4 百度的工程能力白皮書與度量體系"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"百度軟件工程標準制定的目標是幫助研發團隊持續提升工程能力。工程標準可以快速指導團隊採用優秀的軟件工程實踐和研發工具,使其在研發效率或產品質量上獲得提升。同時有了標準和規範,也能夠更有效地衡量團隊工程能力的水平,讓各個團隊能夠更好地瞭解自身的工程能力現狀,進而"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"設定工程能力提升目標,不懈追求工程卓越"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"因爲軟件產品形態有多種,例如 App、Browser、PC Client、SDK 等。不同的產品類型其研發過程及優秀實踐也不盡相同。百度把研發的工程類型大致分爲四類:Server、App、SDK 和 AD (Autonomous Driving) 。每一類都制定了詳細的工程類型的優秀實踐集合——工程能力地圖。通過工程能力地圖,可以指導從開發到上線的流程,建立標準化研發工具鏈,統一度量團隊軟件工程的能力。例如下圖就是Server類型的工程能力地圖。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/01\/016c129c70af198b4c4d26d205e4dffb.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"百度已經把內部的這些經驗開放出來,形成一本被名爲《百度工程能力白皮書》的小冊子,如果感興趣你可以自行在網絡上搜索下載,對於全面理解百度這種體量的互聯網公司的工程實踐有一定借鑑意義。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"採用工程實踐的直觀變化是工程實踐完備程度和有效程度的提高,最直接的目的則是研發效率(速度)和研發質量的不斷提升。在 《百度工程能力白皮書》的V2.0 版本中,也加入了對效率(速度)和質量的指標定義和度量方式,以便每個團隊在不斷提升工程能力的同時,也能夠直觀看到他們研發速度和質量的同步提升。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在百度工程能力和效能度量體系的案例中,我們也可以識別出來一些度量的關鍵原則。比如除了面向過程活動的度量,還要增加面向效率和質量結果的度量指標。另外,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"度量的對象首先應該是產品和團隊的工作,其次纔是個人"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。產品的交付是需要組織跨越多種不同的角色進行通力協作,才能把需求最終交付給客戶,那麼度量也要遵從這一過程,而不要上來就專注於對個人的度量。最後,度量要有指導性,可牽引行動。比如在工程能力地圖中通過分析識別到某個工程能力項最薄弱,那麼就可以直接採取行動,針對性進行加強。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"5 騰訊的研效標準與效能度量"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"騰訊的高級管理顧問喬梁老師近期在分享中介紹了騰訊PCG的EPC("},{"type":"text","marks":[{"type":"color","attrs":{"color":"#333333","name":"user"}}],"text":" Engineering Productivity Compentence)模型,即工程效能勝任力模型。喬老師認爲,"},{"type":"text","text":"“ 持續交付2.0 雙環模型”就是一種軟件工程方法論,它包含重要的指導思想和一系列的工作基本原則。而EPC就是由它派生的要求與規範,其中包含一個結果維度和十一個過程維度。每個維度都有對應的規範,講解了“是什麼,做什麼,怎麼做”。工具建設和具體實踐都應該理解和遵從這些“規範”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"彼得·德魯克說:效率是“把事情做對”,效能是“做對的事情”。效率和效能不應偏廢,我們當然希望同時提高效率和效能,但在效率與效能無法兼得時,我們也許可以首先應着眼於效能,然後再設法提高效率。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"所以,改進效果應該更多聚焦於團隊外部的結果性指標。常見的結果指標包括:速度(也稱爲響應力,包括髮布頻率、需求特性前置時間、平均故障恢復時間等)、質量(平均無故障時間、可用率、工單率等)、吞吐量(每週\/月\/年交付的需求特性數量,或者更近一步引申爲價值,如收入、時長佔有率等)、安全(如包的及時更新,安全問題數量等)。當然,除了度量結果指標,想要指導日常改進,應更多關注引領性過程指標,並且要有全局思維,關注這些過程指標之間的內在關聯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在外部改進條件不具備的情況下(特別是改進初期),不妨先以CLCT(Change List Cycle Time)做爲改進的北極星指標。Change List 就是一次代碼變更,也是每個開發工程師的最小工作單位。CLCT就是從代碼提交到上線的這段時間長度。因爲影響 CLCT 的因素最少,其確定性和可預期性最高,所以,可以用做在初期對效率改進的一個關鍵指標。這個指標度量的本質其實是從“開發完成”到“真正完成”之間的效率。它越小,說明團隊中的瑣事就越少。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/c6\/c6a7dd30730a6197d515551634c8379b.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 騰訊的研發體系規模龐大,各個事業羣也都非常積極的在研發效能度量和提升相關事宜,並且目前由各個事業羣派遣專家組建了公司級的研效委員會,正在討論和制定公司級的研效標準。由於目前對外公開分享的內容有限,本文只能管中窺豹介紹某些局部的信息。但是,我們依然能夠識別出其中隱含的一些度量原則,比如通過結果指標進行改進效果的評估,通過引領性過程指標指導日常改進。另外,變更前置時間是一個常見的北極星指標,我們在下文中也會進行詳細展開說明。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"6 Facebook的效能度量"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"曾任職於Facebook的葛俊老師在極客時間上的專欄《研發效率破局之道》中,認爲要真正發揮度量的作用,找到合適的度量指標,必須要先對指標進行分類。推薦從團隊和個人這兩個維度對度量指標進行分類,其中團隊維度中又分爲速度、準確度和質量三類。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/44\/44b2cbc909ef884c1b84d7f4cc80f383.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"速度:"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"天下武功,唯快不破,速度指標主要用來衡量團隊研發產品的速率。比如,前置時間,從任務產生到交付的時長。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"準確度:"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"關注產品是否跟計劃吻合,跟用戶需求吻合,能否提供較大的用戶價值。一個例子是功能的採納率,也就是有百分之多少的用戶使用了功能x。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"質量:"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"如果質量有問題,產品的商業價值會被大打折扣。質量包括產品的性能、功能、可靠性、安全等方面。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"個人效能:"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"個人開發過程中的效率指標,比如開發環境生成速度、本地構建速度等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"關於效率和質量,在上文的描述中已經多次出現了,這裏我們重點談下準確度和個人效能。首先是準確度。提供用戶價值是公司存在的根本,因此與之相關的指標是最最重要的。比如淨推薦值 (Net Promoter Score,NPS),是通過調研瞭解用戶滿意度,實用性很強。其次是個人效能。個人效能相關的度量,直接反映開發人員的開發效率和滿意度,對團隊產出影響很大。所以,作爲管理者或內部效能團隊,應該關注開發人員的高頻活動,並自動化和優化這些步驟,讓開發人員能專注開發。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"一般來說,“個人調測環境構建速度”是一個比較重要的指標。它描述的是開發人員在本地做好一個改動,到能夠進行本地調測的時長。開發人員每次修改自行驗證都要經歷這個步驟,對它進行優化非常有用。在 Facebook,後端代碼及網站的絕大部分修改都可以在一分鐘之內在本地開發機器上使用線上數據進行驗證,非常爽快,效率極高。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在Facebook效能度量的案例中,我們也可以識別出來一些度量的關鍵原則。比如,度量要具備全面性,指標之間可以相互制約。研發組織沒法用單一指標來衡量,而需要用一組指標來互相制約以求得平衡。例如,單純追求交付速度是危險的,必須用質量指標來平衡;同樣,我們也不能在忽視工程師個人效能的情況下片面追求過程規範性的提升。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"7 關於代碼評審度量的案例"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"業界流傳着一個關於代碼質量度量的小段子:唯一一個可以衡量代碼質量的指標,是代碼評審時,評審者每分鐘罵髒話的次數。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們知道,國內外互聯網行業的很多效能標杆公司都非常重視代碼評審(Code Review),比如 Facebook、Google 等就要求每一個提交都必須通過評審。代碼評審可以儘早發現 Bug 和設計中存在的問題,提高個人工程能力,增強團隊知識共享,有助於統一編碼風格。但大多數國內公司還是對代碼評審理解得不夠深入,對評審方法的認識也不夠全面,只能簡單地去追隨一些所謂的最佳實踐。結果就是,有些團隊的代碼評審推行不下去,半途而廢;有的則流於形式,花了時間卻看不到效果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"那麼對於代碼評審的度量,如何開展呢?下圖就給出了一個在某互聯網公司代碼評審的不同的成熟度階段所採用的度量指標:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"在啓動階段,重點度量代碼評審活躍度"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"千里之行,始於足下。我們面對的第一個問題是度量代碼評審是否開展起來了,這個時候可以選擇的指標包括代碼評審活躍率、強制代碼評審開啓率、代碼評審發起數、代碼評審參與人數等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"在上一步基礎上,度量代碼評審有效性"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這個時候代碼評審已經有了較大規模的應用,我們重點要度量的是評審是否有效,是否發現了代碼的問題。這個時候可以選擇的指標包括代碼評審覆蓋率、千行有效評審評論數、評審平均交互次數等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"在前兩步基礎上,度量代碼評審的效率"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"代碼評審的活躍度和有效性都沒有問題的時候,我們對團隊提出了更高的要求,即評審效率要相對比較高。這個時候可以選擇的指標包括評審響應時長和評審時長等。當然,這個指標的目標值設置也不能過於激進,我們希望在評審能夠及時響應與儘量不破壞評審者的心流工作狀態之間找到平衡。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/8d\/8da7eb5f7b1fa1f7971f3088ff8cb4a4.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 在這個代碼評審度量指標設計的案例中,我們也可以識別出來一個度量的關鍵原則,即"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"度量指標要具備動態性,根據上下文和所處階段進行靈活調整。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們可以隨着組織的發展對指體系進行不斷優化,定期增減或修訂指標,保持指標體系本身的精簡和有效性。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"8 研發效能度量的七大原則"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"通過以上七個研發效能度量的行業案例,相信大家已經對行業中度量的普遍做法和原則有了一定認知,那麼現在我就把這些案例中提煉出的度量原則總結一下,供大家參考。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/ee\/cb\/ee57589c9547f45cbd2a2935bd0b71cb.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"原則一:結果指標 > 過程指標"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們要以終爲始,通過結果指標評估效能水平,通過過程指標指導改進。比如:需求交付週期是結果指標,敏捷活動成熟度是過程指標。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"原則二:全局指標 > 局部指標"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"過度的局部優化可能會導致全局的劣化,只聚焦在易於度量的局部指標上,會以犧牲組織更好地提升全局目標爲代價。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"原則三:定量指標 > 定性指標。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"儘量使用量化指標客觀評價,並通過系統自動採集,降低對團隊的干擾。但也不排除部分綜合評價的定性指標。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"原則四:團隊指標 > 個人指標。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"指標設定需要促進團隊協作,共同努力達到組織目標。不能因相互衝突的指標而破壞團隊配合,製造出更多的部門牆。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"原則五:指導性,可牽引行動。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"指標設定爲目標服務,指標的數值和趨勢可以牽引團隊改進。比如適當設定缺陷類指標可以促進質量內建能力的建設。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"原則六:全面性,可相互制約。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"比如需求交付週期 vs 線上缺陷數量、需求吞吐量 vs 需求規模、研發週期 vs 技術債務,這些都是可以成對出現進行相互制衡的指標。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"原則七:動態性,按階段調整。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"隨着團隊能力的提升,指標也需要隨之進行適當調整,從而促進團隊的持續改進。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"小結"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於研發效能度量指標,可能有成百上千個,但度量的原則只有少數幾條。我們分別分享了DevOps全球調查報告,以及阿里巴巴、騰訊、百度、Facebook等公司研發效能度量體系和指標設計方面的思考,提取出了一些度量的關鍵原則。我相信,理解並把握原則的人,能夠成功地選擇適合自己的度量指標。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在下一篇文章中,我會介紹稱爲“研發效能度量的五項精進”的度量實踐框架,對基於這幾年經驗總結出來的研發效能度量指標集設計、關鍵指標定義詳細展開介紹,並對指標設計過程中的常見疑問進行解答。敬請期待!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"作者介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#333333","name":"user"}}],"text":"張樂,DevOps與研發效能資深實踐者,長期工作於擁有數萬研發的互聯網大廠(百度、京東等),主攻敏捷與DevOps實踐、DevOps平臺建設、研發效能度量體系設計等方向,歷任資深敏捷教練、DevOps平臺產品總監、研發效能度量標準化聯盟負責人等崗位。長期活躍於技術社區,目前是DevOps起源國際組織DevOpsDays中國區核心組織者,同時也是國內多個技術峯會的聯席主席、DevOps\/研發效能專題出品人、特邀演講嘉賓。EXIN DevOps全系列國際認證授權講師、鳳凰項目DevOps沙盤國際授權教練。歷任埃森哲、惠普等全球五百強企業資深諮詢顧問、技術專家,多年敏捷與DevOps轉型、工程效率提升和大型項目實踐經驗。暢銷書《獨角獸項目:數字化時代的開發傳奇》譯者。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"系列文章推薦閱讀:"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/theme\/107","title":null,"type":null},"content":[{"type":"text","text":"研發效能啓示錄"}],"marks":[{"type":"underline"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章