1. 程式人生 > >DevOps研發模式下「產品質量度量」方案實踐

DevOps研發模式下「產品質量度量」方案實踐

在當今網際網路環境下,需求變更越來越快,交付週期卻越來越短, > 怎麼判斷一個系統是否測試充分? > > 產品質量滿足什麼樣的條件才能投產? > > 如何判斷測試工作、研發團隊工作的效率是高還是低? > 這些問題不能靠感覺、拍大腦,而是需要客觀的資料來反映。質量度量指標就是用一組資料來客觀衡量產品研發環節的各方面情況,作為評審和決策的依據。 而為了能夠在產品釋出前,對產品質量能夠做出比較準確的判斷,需要清楚質量的屬性,這就需要建立質量模型。 說起質量模型,必然繞不開ISO9126,**ISO9126**軟體質量模型是評價軟體質量的國際標準,由6個特性和27個子特性組成,如圖一所示。建議大家可以深入去理解各特性、子特性的含義和區別。這個模型是軟體質量標準的核心,對於大部分的軟體,都可以考慮從這幾個方面 著手進行測評。 ![](https://tva1.sinaimg.cn/large/007S8ZIlgy1gg3k4avvihj30ih0aamyf.jpg) (圖一) 本文就給大家聊一聊關於產品質量度量以及研發效能度量的內容,並分享一些筆者在公司內部的度量實踐和觀點,希望對大家有所啟發。 ## **1. 擺正觀點:產品質量度量原則** 產品質量度量或研發效能度量的原則:**不要與績效掛鉤,而應該作為參考和工具,幫助團隊提高效能和產品質量**。因為無法覆蓋 100% 的度量指標,把度量與績效掛鉤就一定會產生“做數字”的現象。這時,使用質量度量或效能度量非但起不到正面效果,還會對公司和團隊造成傷害。 ## **2. 質量度量目標** 研發質量度量核心思想一句話來概括:**目標驅動,度量對的事;先從全域性上找瓶頸,再深入細節**;兩個基本原則: 1. 度量應聚焦在全域性指標而不是區域性指標 2. 聚焦在結果產出而不是某階段工作輸出 圍繞度量的核心思想和基本原則,在公司團隊實際應用度量手段時,最終目標並不是為了提高表面的數字指標,本質還是需要藉助度量方法達成以下幾個目的: - 跟蹤團隊的表現、提高團隊工作效率、績效和產品質量; - 使用度量來尋找問題而不是用來做績效考評; - 使用度量來檢驗改進措施的效果; - 提高專案計劃、效付的精確度; - 瞭解流程是否高效,尋找需要改進的關鍵領域。 由此我們不應對那些看似繁忙但只產出了一大堆無效工作輸出的團隊或人員進行獎勵,而是引導到那些對促進組織達成目標有實際幫助的工作上去。 # 3. 效能度量的幾個維度 正如剛提到的,度量的目標之一是為了幫助團隊尋找問題,並檢驗改進措施效果,因此不同公司團隊所處階段、研發能力成熟度、團隊面臨問題的不同,導致了度量方法並沒有所謂的唯一性,團隊需要根據自己的問題選擇合適的度量方法。並且即使是在同一個公司團隊內,度量方法也應該是持續演進的,並不是固定不變。 雖然度量方法沒有唯一性,但行業眾多公司經過大量的度量實踐,也有一些普適性的考量維度,供大家參考,大致分為三類: - 基於研發效能,3個維度:**交付效率、交付質量、交付能力**。 - 基於團隊+個人,4個維度:**質量、速度、效能、準確度。** - 基於產品質量,3個維度:**產品內部質量、產品外部質量、產品使用質量。** 其中,交付效率、交付質量和交付能力,這些指標的提升需要組織進行管理、技術、協作等多方面的系統性改進。 而研發效能度量指標一般用來衡量軟體產品的生產過程和產品質量,但公司真正需要關注的是否能產生使用者價值。因此如果從質量管理的角度,我更傾向於第三種。 ![](https://tva1.sinaimg.cn/large/007S8ZIlgy1gg3k90eaocj319p0u0qgg.jpg) (來源:facebook葛俊老師) 上圖分享了一張facebook葛俊老師整理出來的一張研發效能度量指標,裡面涉及到的度量指標有很多,實際還遠不止於此,考慮到指標資料收集和統計的工作量及其對衡量工作和結果的權重,建議大家可以從眾多指標中選取若干指標,並將這些度量指標進一步分為必選和可選兩部分,可在不同的測試要求下進行自如地裁剪或新增。 ## **4. 產品質量度量「V2」模型** 接下來,分享一下,筆者公司對質量度量的一些實踐經驗。 結合2020年研發中心產品團隊發展現狀及團隊當前目標,為了更好的**促進產品質量發展**和**研發效能過程管理**,筆者將產品質量度量模型進行升級調整為:V2。 新的V2產品質量模型中,將產品質量按照:**研發全產品質量**、**各產品之間質量橫向對比**、**單個產品質量詳細**等三個版塊並從**外部質量、內部質量、使用質量**等三個維度進行產品效能質量過程管理,並提取出相應的適合當前團隊的質量指標。 ### 4.1 全產品質量度量 1、全產品研發質量度量指標導圖: ![](https://tva1.sinaimg.cn/large/007S8ZIlgy1gg3jx10t6kj30l40hdacy.jpg) ### 4.2 各產品之間質量度量對比 1、各產品研發質量度量指標導圖: ![](https://tva1.sinaimg.cn/large/007S8ZIlgy1gg3jxlgcw9j30u00xuq72.jpg) ### 4.3 單產品質量度量 1、單產品研發質量度量指標導圖: ![](https://tva1.sinaimg.cn/large/007S8ZIlgy1gg3jye2lmhj30ux0u07ag.jpg) > PS: 以上指標解釋權歸本文筆者所有,度量的目的是促進質效提升和檢驗改進的效果,是一種參考工具,但並非是捆綁手段。 以上只是列舉分享了筆者當前正在實踐的一些常用指標,實際應用時,結合了度量的通用報告模板、資料模型。當然這些指標並非唯一,僅供大家參考。 # 5. 小結 其實,使用何種度量方法、指標,是一個仁者見仁,智者見智的問題。所以,通過這篇文章,我更希望達到的目的是,能幫助你對日常工作中最常見的問題進行思考,尋找值得優化的地方,從而提高個人和團隊的研發效能。但,我還要強調的是,度量只是輔助,更重要的還是思考。所以,我建議你不要花費過多的時間在指標研究上,要時刻留意實際的投入產出比。 最後,分享一下我個人對效能度量的幾大感受: - 1、度量只是工具,不是目的。切記度量的真正的目標是提高效能,不要捨本逐末。比如說,如果度量花費的時間超過了收益,那就不要去做。 - 2、雖然我們推崇數字驅動,但在效能的度量上,不要過於迷信數字,適當使用主觀反饋效果反而更好。 - 3、研發效能的度量看似是一個無解的問題。但如果使用得當,效能度量是可以給公司的研發帶來非常大的