米兰体育官网登录
為什麽99%的軟件開發團隊都做不好同行評審?
同行評審的概況與(yu) 重要價(jia) 值
在我過去16年CMMI評估師職業(ye) 生涯中,評估過的近200家企業(ye) 裏, 每家企業(ye) 都做同行評審,但是大部分企業(ye) 做的都不好,包括通過CMMI5級的企業(ye) 。
大部分企業(ye) 都是這麽(me) 做同行評審的:預審、評審、 解決(jue) 。預審就是事先把評審的內(nei) 容發給評審人員進行評審,並記錄評審中發現的問題。評審,就是開評審會(hui) ,在會(hui) 上確認預審中發現的問題,並指派專(zhuan) 人進行解決(jue) 。解決(jue) ,就是把評審中確認的問題由專(zhuan) 人進行解決(jue) 並關(guan) 閉,確保被評審內(nei) 容的正確性。
有人說,我就是這樣做評審的啊!這是按照CMMI的要求做的同行評審,難道不對嗎?
我說,不完全對!因為(wei) 你沒有評價(jia) 同行評審的效果。
什麽(me) 是同行評審的效果?從(cong) 根本上來說,就是被你評審的工作產(chan) 品中的缺陷,是不是100%都被發現了?缺陷移除率是多少?
舉(ju) 例來說,假設你評審了500行Java代碼,找出了10個(ge) 缺陷,這10個(ge) 缺陷是不是代表了這500行代碼裏所有潛在的缺陷?如果所有潛在缺陷是40個(ge) ,那麽(me) 你的缺陷移除率隻有25%,遠遠沒有達到業(ye) 界可接受的70%的水平。
同行評審並不隻是找出缺陷,而是要找出所有潛在的缺陷,這才是評審的目的。我們(men) 不僅(jin) 要關(guan) 注同行評審的過程,更要關(guan) 注過程的結果。
NO.1節約成本
有人問,關(guan) 注缺陷移除率有這麽(me) 重要嗎?
我說,非常重要!
我們(men) 知道,降低軟件開發成本的核心在於(yu) 減少返工。根據缺陷成本放大理論,缺陷拖的時間越長,後期修複的成本也越高。一個(ge) 需求的缺陷,交付以後再去修複的話,成本可能會(hui) 放大幾十倍甚至上百倍!
NO.2缺陷移除時機
所以,要降低軟件開發成本,必須在缺陷注入的時候就把它找到並修複,即盡早移除缺陷。移除缺陷的活動有兩(liang) 種,同行評審和測試。評審在前,測試在後。
所以,在同行評審時確保所有潛在的缺陷都被發現並解決(jue) ,對降低軟件成本非常重要。同時,消除缺陷和減少返工,也提高了產(chan) 品質量、縮短了開發周期,所以關(guan) 注同行評審缺陷移除率對整個(ge) 項目的成功都非常重要。
以某百強企業(ye) 為(wei) 例, 其全年共32個(ge) 項目,平均每個(ge) 項目12個(ge) 迭代,每個(ge) 迭代平均產(chan) 生26個(ge) 缺陷,全年共產(chan) 生9984個(ge) 缺陷。
通過項目完成後缺陷注入階段數據的統計,發現每個(ge) 項目測試前同行評審的缺陷移除率平均值是40%。
假設有一種方法能使同行評審缺陷移除率提高到70%,則全年返工成本可以降低50%, 600萬(wan) 的返工成本可以節省300萬(wan) ,相當於(yu) 節省了17-20%的總開發成本。
NO.3企業(ye) 應用
哇!既然缺陷移除率這麽(me) 神奇,那麽(me) 為(wei) 什麽(me) 企業(ye) 不用呢?
企業(ye) 也不是不用,但是大部分企業(ye) 都是在項目結項以後計算同行評審的缺陷移除率。例如,項目結項後,收集到的數據是在需求評審、設計評審、代碼走查、測試和客戶使用活動中分別發現了5個(ge) 、4個(ge) 、9個(ge) 、6個(ge) 、1個(ge) 缺陷,就可以算出在需求階段注入了25個(ge) 缺陷。如果需求評審發現了10個(ge) 缺陷,那麽(me) 需求評審的缺陷移除率就是40%。雖然通過這種方法我們(men) 也可以知道需求評審的缺陷移除率太低,但是這種計算是事後諸葛亮,不能在需求評審的當時知道缺陷移除率的情況,,從(cong) 而在缺陷移除率低於(yu) 70%時,打回重新評審,最終提高缺陷移除率,降低開發成本、提高質量和縮短開發周期。
那為(wei) 什麽(me) 不在需求評審的當時計算同行評審的缺陷移除率呢?這裏有個(ge) 難點就是你不知道有多少潛在的缺陷。例如,當你評審500行Java代碼,發現了10個(ge) 缺陷,那你知道代碼裏到底有多少個(ge) 潛在的缺陷嗎?
這個(ge) 問題的本質,就和預測瀕臨(lin) 滅絕的東(dong) 北虎的數量一樣。在過去20年中,幾位業(ye) 界大師們(men) 針對預測同行評審潛在缺陷數進行了不同的研究,提出了不同的方法。感謝CoCode工具平台,在前人的基礎上,使用最新的統計和AI技術, 為(wei) 大家提供了免費的同行評審分析工具, 使項目團隊在短短的幾秒鍾之內(nei) 就可以計算出當下的同行評審缺陷移除率,解決(jue) 了軟件行業(ye) 的一大難題!
林肯說過,“One penny saved is one penny earned.” (省一分錢就等於(yu) 是掙了一分錢!) 希望軟件企業(ye) 都能把評審分析等工具使用起來,投入零成本或很小的成本,就可以降低20%左右的整體(ti) 開發成本。
以上內(nei) 容轉載自公眾(zhong) 號《CMMI論壇》