關於研發效能提升的思考

huver2007發表於2020-02-14
  • 研發效能提升是最近比較熱門的一個話題,本人根據這幾年的工作心得,做了一些思考總結,由於個人深度有限,暫且拋轉引入。
  • 三要素

  • 任何生產力的提升都離不開這三個因素:人、流程和工具,少了其中任何一個因素都無法實現。
  • 人,即思想,也就是古人說的“道”,道不同不相為謀,是制高點,也是高層建築的基石。
  • 流程,即方法,也是古人說的“法”。研發效能的提升,也就是要提高投入產出比,既要增加產出,也要減少消耗。
  • 工具,即道具、器械,對應“器”。選對工具很重要,趁手的工具往往能起到事半功倍的效果。

  • 詳細解釋見下圖:

 

  • 第一個要素:人

  • 思想的深度決定了生產力的高度。按照敏捷宣言,個體和互動勝過流程和工具,人的因素是最重要的,但人的思想在短期內又無法提升,需要長期不斷投入。
  • 我們可以從兩個方面著手,逐漸改進:
    • 工程素養
    • 做事方法
  • 工程素養

 

  • 做事方法
  • 研發同學要形成PDCA的思維,任何事情都要有始有終,形成閉環
  • 喬樑在《持續交付2.0》中提出的持續交付雙環模型,我覺得是PDCA環的發展,可以應用到很多領域,比如流程改進

 

  • 持續交付雙環在流程改進中的應用

 

  • 第二個要素:流程

  • 流程的引入並不是為了給團隊增加束縛,而是提高研發效能,即必須起到減少浪費,促進價值產生的作用
  • 減少浪費

按照精益的思想,軟體行業常見的浪費有以下幾種:

浪費種類

浪費舉例

減少浪費的措施

部分完成的功能

中途取消的需求、設計、BUG;

程式碼未及時合入導致引發後續更多同步工作量。

聚焦完成

拉式生產

時間盒

未應用功能

開發完成但沒有被客戶應用的功能。

快速反饋

故事地圖

再次學習/重複投入

人員頻繁流動導致經驗不能積累,反覆重新學習;

在多個環節移交時,接收資訊者需要重新學習;

相同的功能多個專案同時在開發,重複投入;

擁有某領域的專家,但卻沒參與,由團隊重新摸索。

自組織團隊

結果為導向

傳遞

知識資訊的傳遞總是伴隨資訊丟失,比如需求傳遞。

Scrum五會

任務切換

員工參與多個專案或雜事繁多,導致效率下降。

小迭代

延遲/等待

構建失敗;測試阻塞;關聯專案延遲。

看板方法

缺陷

 

解決缺陷活動本身就是浪費,而且缺陷越遺留到後端浪費越大。

TDD

自動化測試

  • 促進價值產生

流程必須促進價值的產生,即價值產生的催化劑

價值

詳細解說

具體實踐

明確分工

流程應該明確各職責的權利和責任,只有明確分工,才能防止扯皮

我們很難做到每個技能都掌握,只能充分發揮每個人的長處,實現整體產出最優化

專業的人做專業的事

RACI矩陣

響應變化

流程必須有利於快速響應變化,及時作出應對

流程本身也要響應變化,而不是一成不變

快速試錯

提高協同效率

通過統一的標準,大家可以在同一個頻度溝通

新成員通過流程的指引,可以快速進入狀態

Scrum模式

暴露問題

流程必須能促進問題的暴露,而不是掩蓋問題

當問題暴露出來時,可以通過解決機制快速解決

看板方法的應用

客戶價值為導向

流程最終的目的也是要為客服服務,以客戶價值為導向設計流程

使用者故事

影響地圖

學習型組織養成

促進學習型組織的養成,提高以上能力,並及時總結,形成良性迴圈

實踐總結

實踐分享

  • 流程改進
  • 流程改進一定要避免買櫝還珠的行為,改進的目的是減少浪費,促進價值產生,而不是為了符合流程而走流程。

  • 如果流程已經阻礙到價值的交付,那麼就要考慮優化流程。

  • 第三個要素:工具

  • 工具是三個因素中最容易實現的,可以購買現成的,也可以企業自己開發,比如業界常用的有Jira、TFS、禪道、Tembition等,可以根據自身需求匯入。
  • 工具畢竟只是流程的載體,不能把心思都花在工具上,而忽略了人和流程,那就捨本逐末了。
  • 工具和人
  • 工具是人工作的道具,既要輔助人實現工作目標,也要把工作過程透明出來,方便干係人瞭解工作進展
  • 所以工具的選型需要考慮幾個因素:
    • 組織複雜度
    • 工具維護成本
    • 是否能滿足流程需要
    • 是否方便獲取狀態報告
  • 工具和流程
  • 工具是流程的載體,流程只有整合到工具中才能更高效率的被執行,尤其是流轉的自動化
  • 正所謂術以載道,好的工具必須是符合企業文化,並能促進流程的自我改良的
  • 工具和度量
  • 度量是研發活動的鏡子,只有完善的度量體系,才能清晰知道哪裡存在弱項,哪裡是我們改進的重點
  • 缺少度量,研發過程必然不可見,更談不上如何提升研發效能

  • 而度量必須通過工具實現,否則度量的效率就會很低下,如果度量本身要花費大量工作,那就得不償失
  • 度量原則
  • 度你所做,為優而量,這是度量的根本目標
  • 簡單,減少度量工作量
  • 客觀,不易受人為干涉
  • 儘量不與考核掛鉤
  • 較完整的度量框架
  • 根據以往經驗,及目前公司正在做的度量,梳理了一套較完整的端到端度量體系,可以參考

  • 如何考核
  • 既然說度量不與考核掛鉤,那該如何採集考核資料?
  • 建議從幾個客觀指標著手(有部分借用阿里)

  • 團隊互評
  • 也可以採用團隊匿名互評的方法
  • 回顧會上,每個人給包括自己在內的所有人進行評價,包括:綜合評分、做得好的、待改進點
  • 某專案團隊互評結果

  • 當然,任何措施若涉及到個人利益,必然會有變味的行為(壞味道),即使現在很火的OKR一樣有走歪的,只能看這個措施是否能引導團隊往正確的方向走,是否利大於弊。

 

相關文章