2008年12月3日 星期三

對 CMMI 量化指標的批判

今天收到了一份 CMMI 度量指標的清單,看過後,我馬上回信給發信人,也請各位慎思相關議題!

以下是小弟的初淺看法,還請各位不吝賜教:

Dear Sir,
首先,要謝謝您提供的CMMI量化指標資訊,關於MA,我的意見一定會得罪許多人,如果有得罪之處,還請包涵,但,我還是要扮演國王新衣故事裡頭的那個不知天高地厚的初生之犢

先講結論,這份MA對真正務實的軟體公司而言用處真的很低,原因羅列如下:
1. 資料收集的時機造成問題,許多數據都是專案晚期才完成,也就是說,多數的數據都是落後指標,如果是運做順利的專案,當然不成問題,但,如果是運作出問題的專案,已經問題重重、資源都不夠用了,專案還在這些度量問題上打轉,似乎有點緣木求魚。結果是,專案結束後補做這些度量,因此,工程師不知道公司要求做這些事的本意為何?甚至解讀為增加工程師負擔...產生負面效益,人員流動率上升。
2. 資料收集的用途,當中講到的度量目的完全不正確,很多度量都沒有清楚說明用途為何? 有點為了度量而度量的味道,似乎忽略了原始度量的本意,有用的數據是能夠對專案、組織或者企業找出問題與改進方向的。
3. 度量方向有點不合時宜,OO跟Functional Points、LOC這類的度量,在本質上不相容,而且LOC越多代表的意義是?程式邏輯很複雜亦或人員寫程式的功力很差?反之,LOC越少又代表啥意義?

以上報告,聽來多少有點刺耳,但,忠言逆耳阿...希望您能諒解

後語:
雖然這裡對目前的 MA有所批判,我還是要還給 CMMI 一個公道,如果我們能夠
1. 確認度量數據的實際用途、
2. 找到更適切的度量指標
3. 採用適當的做法或工具
4. 及早獲得相關數據

就可以充分發揮度量的效益,讓團隊更成熟、製程更穩健、專案成功機率更高...共勉之

關於MA,我必須採取更負責任的態度去說明各項度量可能被誤用的情形與日前我提出批判的理由,以工時預估誤差率為例,
理想是
1. 工時估算與實際差距不大,專案精準掌握成本
2. 投入皆能獲得相對的報酬
3. 累積經驗後,下次估算更精準
實際是
1. 估算當時,刻意壓低估算數字
2. 專案初期真的沒誤差,後期誤差越來越大
3. 為了縮短誤差,投入更多時間加班
原因是
1. 為了活下去,公司要求業務,業務則用低價搶案
2. 簡單的任務都完成了,剩下的都很困難
3. 工時都是人填的,虛報或浮報完全操之在我
對策是
1. 改用產能估算專案成本
2. 越困難的問題產能應該越高
3. 先處理高風險議題
4. 不把工時當作評定績效的唯一標準

其他度量項目,容小弟花點時間整理,屆時再向各位報告

沒有留言: