張 慧
[摘要]通過對GQM模型的改進定義度量計劃,以CMMI中的配置管理為例,從定義度量目標開始到分析度量數據對過程管理中出現的問題進行改進。
[關鍵詞]GQM GQIM變更管理
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0620067-01
一、引言
CMMI作為過程改進的標準,被許多企業拿來采用,但最終的結果是軟件過程的改進沒有什么大的起色,只是拿到一個資質而已,原因是CMMl只告訴我們做什么而不是如何做,死板硬套的將一個體系用在任何一個項目的結果是事倍功半,過程改進最重要的是度量,沒有好的度量就沒有好的管理,度量可以幫助我們直接發現和分析問題的所在,如何預測未來趨勢,如何解決對項目進展不利的因素。而以前我們重視的是產品和項目的度量,對于直接影響項目結果的過程度量很少關注。目前獲得廣泛應用的目標驅動的度量方法是美國馬里蘭大學的教授VictorR,Basil提出的GQM莫型。
二、GQIM模型
GQM模型能保證度量計劃和數據收集的充分性,一致性和完整性,幫助管理度量計劃的復雜度,但是不能保證重復,無法確定終止時機,產生不實用結果是GoM存在的局限。GQIM模型在Question層和Metric層之間增加了指示器層,指示器是一個或多個度量的綜合,是對軟件產品或軟件過程的某一方面特征的反映,在軟件過程度量中通常利用圖表,文本,表格等形式的顯示和報告來描述指示器。根據問題定義指示器,并確定構建該指示器所需要的度量和數據元素,用GQIM將非形式化的目標轉化為可以執行的度量結構確定了度量目標,根據這些目標提出問題,解決了這些問題實際上就是實現了度量目標,從而實現從度量目標到度量數據項的映射。
三、GOJM的配置管理實例
以CMMI中的配置管理SG2跟蹤并控制變更為例,結合企業的組織目標訂立度量目標為:1跟蹤配置項變更請求:2控制基線變更。
依據GQM模型度量目標1產生的問題:
(1)各類配置項變更請求情況:
(2)配置項變更的影響如何。
度量目標2產生的問題:
(1)基線變更申請情況;
(2)基線變更影響。
問題a定義的標準:
(1)變更請求數及趨勢:
(2)變更原因分布:
(3)變更階段分布。
問題b定義的標準:
(1)受影響的配置項數量:
(2)受影響的人員。
問題c定義的標準:
(1)基線變更申請次數及趨勢i
(2)變更申請原因分布;
(3)變更申請提出的階段分布。
問題d定義的標準:
(1)變更影響的基線數;
(2)變更影響的人員。
問題a,b是針對配置項,問題c,d是針對基線,雖然度量目標不同,但是一個基線是由一個或者多個配置項組成的,在收集數據時可以根據基線為大類,比如,產品基線下有用戶文檔,安裝手冊等配置項。對用戶文檔,安裝手冊等配置項變更情況,變更影響的收集也是為產品基線變更情況,變更影響的收集打下基礎,可以再利用,避免重復工作。
以需求配置項變更為例,收集變更原因分布和變更階段分布數據:
1變更原因分布:
需求變更原因:
(1)原始需求調查不明;
(2)需求理解存在問題;
(3)用戶新增需求;
(4)用戶業務發生變化;
(5)用戶延期需求;
(6)用戶取消需求等。
橫軸為變更原因,縱軸為需求變更數量,可以看到需求配置項變更的各類原因以及分布情況,需求變更原因的集中程度和所占比例,從而得到需求變更的主要原因。對這個變更原因在項目后期和其他相近的項目中要引起重視,減少可控需求變更的出現。
2變更階段分布:
需求變更階段:
(1)需求;
(2)設計;
(3)編碼;
(4)測試;
(5)產品:
(6)維護。
需求變更級別:從輕到重(1)級,(2)級,(3)級, (4)級,(5)級。
橫軸為變更階段,縱軸為需求變更數量,并且根據不同的變更級別產生5條變更階段分布。如果(4),(5)級的需求變更的峰值出現在需求,設計,項目開發的前期,(3)級的峰值出現在測試,(1),(2)級的變更峰值出現在測試,產品和維護,總體分布情況反映了級別較高的變更集中在較早的階段,級別較低的變更集中在較晚的階段,符合項目開發的總體目標。如果級別較高的變更集中在項目開發后期就非常危險了,要找出原因并且盡快解決,避免因此造成的項目成本增加和進度延誤。
四、小結
GQIM模型比GQM模型更能收集到有效的數據,但是指標器的創建需要有相關項目管理,度量等經驗的項目組成員來制訂有利于減少過程度量的偏差。