摘要:本文在對軟件企業量化管理應用常見問題分析的基礎上,以解決可操作性、可比性等問題為著眼點,識別出了量化管理中必須明確的四要素,表述了企業在量化四要素上采用的常見做法。
本文采用80/20原則,說明了企業在識別度量對象時應避免的問題;采用持續改進的理論,說明了企業在量化管理應遵循的客觀規律。在結合平衡記分卡與目標驅動組合式的量化管理方法理論基礎上,提出了軟件企業的量化管理的具體應用步驟。
關鍵詞:量化管理 四要素 80/20原則 持續改進 GQ(I)M
1. 引言
如今,很多國內軟件企業選擇采用能力成熟度系列 模型(Capability Maturity Model, CMM)或其它模型來建立本企業的軟件過程規范,欲通過提升軟件過程的能力達到提高產品質量、降低開發風險、減少開發成本、保證產品按時交付等目的。將軟件過程規范的一個目的是使軟件過程可視化,這個可視化則要求了對軟件過程的量化;而產品質量是否提高、開發風險是否降低、開發成本是否減少、項目延期是否縮短,對這些問題的回答則要求了對軟件項目的量化;軟件過程改進與量化管理息息相關。
不少企業在將識別出的量化管理方法應用于軟件項目管理過程時,發現不少問題。為常見的是:
量化工作的可操作性不強,如:部分量化數據難以收集、難以統計投入的成本沒有得到預期的產出。如:量化工作投入了成本,但形成的量化結果參考價值不高提供給管理層用于決策的支持數據也不夠,數據缺乏可比性量化結果不是管理層所關心的,達不到管理層預期的過程可視化程度
針對此類問題,本文識別出了在量化管理中必須要考慮的四個方面,即:量化四要素,并從量化四要素對量化管理方法進行了分析,建議了軟件企業采用的量化管理方法。
2. 量化四要素
“只有通過對產品、過程的度量,才能描述、評價、提高產品與過程”。
筆者認為,要度量,要明確度量的對象;要度量對象,要明確標識度量對象的計量單位;要產生度量結果,要明確度量方法,包括度量技術和數據收集的方法;要評價度量對象,要明確用于比對的基準指標,即表征度量對象目前情況的標尺,通過該標尺與度量結果的比對,得出對度量對象的評價。而度量對象(Object)、計量單位(Unit)、度量方法(Method)、基準指標(Benchmark),這是筆者所說的量化四要素。
我們先看看目前軟件企業在量化四要素上的常見做法:
(1) 度量對象
往往軟件企業在識別度量對象時,是根據所采用的模型或標準中提出的相關要示去做的,比如:
綜合能力成熟度模型(Capability Maturity Model Integration, CMMI)等級2中建議的量化目標[2]:
估計產品規模和實際規模
預算成本和實際成本
進度情況
缺陷率、測試與驗收覆蓋率和同行評審覆蓋率
質量要求和質量度量
有些軟件企業量化了識別出的各軟件過程,建立了各過程的改進度量對象。可能有的企業識別出的度量對象更多。
(2) 計量單位
針對同一個目標,不同軟件企業采用的計量單位也不盡相同。簡單來講,分為面向規模、面向功能的度量。
以軟件規模的計量單位為例,常見的面向規模的有:代碼行(lines of code,LOC)、人/月;面向功能的有:功能點、特征點(feature point)、對象點(object point)、3-D功能點(3-D function points)、標準構件法(standard component)等。
有的企業并非單純地采取一種類型的計量單位,在某些目標上他們可能采用的是面向規模的計量單位,在另外的目標采用的又是面向功能的計量單位。
此外,對于軟件質量的計量單位,有的企業可能是用缺陷率來表征軟件質量;有的企業可能將軟件質量拆分成若干個子量化目標,對這些子目標再明確其計量單位。
(3) 度量技術
目前軟件企業常用的度量技術,如掙值法、控制圖、直方圖、散布圖等。項目中用于估算的技術有典型的估算方法,如Delphi法和類比法。
l 直方圖
它是表示數據變化情況的一種主要工具,用于整理度量值的觀測數據,分析其分布狀態的統計方法,用于對總體的分布特征進行推斷。
掙值法
掙值法是一種分析比較出目標實施與目標期望之間差異的方法,用于項目過程中的進度與費用分析。
它通過測量和已完成的工作的預算費用與已完成工作的實際費用和計劃工作的預算費用得到有關計劃實施的進度和費用偏差,而達到判斷項目預算和進度計劃執行情況的目的[3]。
控制圖(SPC)
它是一種控制界限的圖,用來區分引起質量波動的原因是偶然的還是系統的,可以提供系統原因存在的信息,從而判斷生成過程是否處于受控狀態。
按其用途可發為兩類,一類是供分析用的控制圖,用于分析生成過程的有關質量特性的變化情況,看工序是否處于穩定受控狀態;再一類是供管理用的控制圖,主要用于發現生產過程中是否出現了異常情況,以預防產生不合格品。
6 Sigma的統計分析技術需要采用SPC度量方法。
Delphi法
Delphi法是流行的專家評估技術,在沒有歷史數據的情況下,這種方式可以減輕估算的偏差。Delphi法鼓勵參加者問題相互討論。這個技術,要求有多種相關經驗人的參與,互相說服對方。
類比法
類比法適合評估一些與歷史項目在應用領域、環境和復雜度的相似的項目,通過新項目與歷史項目的比較得到估計數據。類比法估計結果的精確度取決于歷史項目數據的完整性和準確度。
針對項目工期估計,常采用計劃評估技術(Program Evaluation an Review Technique,PERT)進行估算。
針對項目成本估計,較好的方法有經驗估算法、因素估算法和WBS基礎上的全面詳細估算法等多種方法。
(4) 基準指標
不少企業建立了基準指標,也有不少企業忽略了基準指標的建立。
為建立基準指標,建議采用如下步驟:
建立度量庫
收集歷史項目數據
量化歷史項目
建立各項基準指標
3. 量化管理方法
通過以上描述,不難看到,若軟件企業對識別出的所有度量對象都要在項目中去收集、去度量、去分析,無疑需要分配不少的資源、投入時間與成本。
筆者認為:在軟件企業識別出的大量需要度量的對象中,企業目前所真正關注的、而且識別出來能提高軟件過程改進的重要對象往往只占20%,即 “80/20原則”:即百分之八十的量化結果價值是來自百分之二十的度量對象的收集與分析工作,其余的百分之二十的價值則來自剩余百分之八十的量化工作。所以,如何把有效的人力物力投入到這20%的目標中,采用恰當的量化管理方法是非常重要的。
此外,計量單位、度量技術的不恰當選用也是導致工作量增加、可操作性降低的原因。以代碼行這種計量單位為例,若企業缺乏相應的資源與相應度量工具的支持,其度量結果的準確程度與可信度會大打折扣。
即使有了較為準確的度量結果,若企業缺乏基準指標,則難以評價度量對象,難以完成各項目的比對;缺乏基準指標的度量結果提交給管理層,管理層仍然很難通過提供的數據做出決策。
Wolfhart Goethert和Matt Fisher在集合了目標驅動式量化管理GQ(I)M和基于平衡記分卡BSC量化管理的基礎上,提出了新的管理方法:BSC與目標驅動組合式的量化管理方法[4]。