最近參加了關于研發效能的培訓,結合自己的作業經驗,將相關的心得總結出來,希望對大家和自己都有一些幫助,
研發效能
軟體研發可以看作是一條流水線:

這條流水線具有很高的靈活性:
- 靈活的最終產品——實作哪些用戶需要的功能;
- 靈活的節點間關系——不同節點是可以融合的,例如測驗可以放到本地開發中;
- 靈活的節點——節點有多種實作方式,例如測驗可以用TDD、BDD;
- 靈活的開發者——對于相同的問題采取不同的方法解決;
研發效能即通過流水線持續地為用戶產生有效價值的效率,包括3個方面:
- 快速——很快地生產發布產品;
- 準確——產品對客戶、對公司提供價值;
- 持續——能夠持續地高效生產;
效能度量
管理學大師彼得德魯克曾經說過“你如果無法度量它,就無法管理它”(“It you can't measure it, you can't manage it”),
為了提高研發效能,首先就必須能夠度量整個流程,找出流程中關鍵的點,哪個點效能有問題,
效能度量需要一定的技巧,如果和績效直接掛鉤,往往不能達到效果,甚至會像下面的漫畫描述的那樣造成不良后果(檢查bug修復數就去先產生bug),

下面列出了可用于有效度量的部分具體指標:

如何建立高效研發流程
成本可以分為生產成本和交易成本,交易成本是指完成作業需要額外處理的內容,例如軟體研發中的發布就可以看作一種交易成本,

自動化和持續流程是降低交易成本的有效手段,下面介紹在研發流程的不同階段建立高效研發流程的常用手段:
代碼入庫前
- 規范優化流程——獲取開發環境、本地開發流程、入庫前系統檢查;
- 快速反饋——自動化測驗、聯調環境、并行化提高效率;
- 優化代碼入庫前流程和代碼檢查系統——UT、IT、自動化代碼檢查;
- Trunk-based——代碼盡早進入共享分支集成;
代碼入庫后
- 持續交付——高效發現、定位問題,自動化保證檢查效率;
- 持續部署——提高資源使用效率;
代碼上線后
- 資料收集和問題定位——打點、Dashboard監控、Logview;
- 功能開關——實作功能的快速“回滾”;
除此之外,針對流水線的優化可以基于以下幾個原則進行處理:
-
5個持續;

-
提高測驗完整性保證產品質量——建設框架、工具支撐測驗用例撰寫、運行;
-
提高流水線運行速度避免阻塞——包括構建速度、測驗速度、反饋速度;
-
提高環境一致性提前暴露線上問題——包括機器、資料、軟體、網路;
-
提高靈活性增強有效性——集成內外部工具,流水線可以自助化、自定制使用;
歡迎關注我的個人公眾號”My IO“,轉載請注明出處,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/474.html
標籤:其他
上一篇:大一新生開學,最好提前給自己準備一臺電腦,原因就是以下5點
下一篇:思考力在軟體工程中的重要性
