差距與不足
目前,國內企業實施CMM激勵條件的外部因素大于內部因素,企業的起步目標就是CMM2級,一旦進入IDEAL模型,卻發現企業面臨巨大的工作量,加上缺乏這方面的專門人才和非常薄弱的過程管理基礎,使企業面臨進退兩難的境地。而國外一些企業注重過程管理的改進已經有10年、20年的歷史了,其CMM激勵條件的內部因素較大,企業通常是根據自己的實際需求不斷地改進過程管理。
當然,一開始就把目標定為CMM2級并沒有什么錯誤,但面臨一種文化改變時,應該從何做起?與國外企業相比,國內軟件企業在基本軟件工程上存在一定的差距,通過CMM實施可以不斷改進,但也勢必會使CMM實施的工作量成倍增加。那么,國內企業基本軟件工程的差距何在?如果仔細分析,我們不難發現,國內軟件企業的基本軟件工程存在的問題主要體現在以下方面:
缺乏較好的文檔編制規范和模板定義;
缺乏較好的設計和編程規范以及較好的模板定義;
缺乏較好的基線控制;
缺乏較好的工作產品轉化規范;
缺乏較好的版本管理。
以上工作除工作產品模板定義和工作產品轉化具有較強的技術特性之外,其他都屬于基本軟件工程范疇。工作產品模板定義和工作產品轉化的好壞是影響CMM2級實施工作量的主要因素,而工作量的大小將在很大程度上影響企業在實施過程中的信心。
實施樣本
根據國內企業的實際情況,CMM實施可以考慮從基本的軟件配置管理著手,以便在CMM實施過程的早期完善基本軟件工程、工作產品模板定義和工作產品轉化的規范。具體實施時可采用以下步驟:
選擇一個較小的項目,僅把軟件生命周期中的主要工作產品置于配置管理之下;
各工作產品開發小組盡可能采用背靠背方式完成該項目;
SCCB詳細記錄所有更改;
項目結束后,由項目經理主持,認真分析產生更改的根原因。
一般來說,主要的原因有以下幾條:
需求規格說明書寫得不好或不全;
工作產品模板定義得不好;
缺乏規范的工作產品轉化定義。
改進的方法之一是采取如下步驟:首先研究編程語言的表示方式,然后確定上一級工作產品的表示方式(模板定義),同時研究并確定從這級工作產品到編程語言的轉化規范,最后采用同樣的方法一直倒推到需求規格說明書。
該項目的SCCB記錄應該對以上改進提供大量較客觀的原因供相關人員分析并確定需要改進的內容。項目完成后,企業應該在軟件配置管理這個關鍵過程域方面建立了基礎,同時需求管理也有了一個較好的基礎。在此基礎上開展項目計劃、跟蹤和質量保證工作將會使企業感到工作更為實在,同時,它也將提高實施人員的興趣和信心。采用這種方法是為達到如下目的打基礎:
為CMM的實施打下較好的工程基礎;
減少CMM實施的工作量;
縮短實施CMM 2級的周期;
進一步提高軟件產品的質量;
CMM實施是循序漸進的;
避免遭遇文化改變的明顯沖突;
樹立企業人員實施CMM的信心;
讓企業看到每個階段的成果;
CMM實施最終真正改進企業的過程管理。
如果這個項目實施得好,達到前4個目的是毫無問題的。第5個目標所講的循序漸進并非指一個一個關鍵過程域的實施,事實上也做不到。
以較好地確定工作產品模板定義和完成工作產品轉化規范為目的的軟件配置管理事實上也涉及到CMM2級的其他關鍵過程域。在項目開始時,首先要制定項目計劃,項目實施過程中還要進行項目跟蹤、監督和質量保證工作。項目結束后,對需求規格說明書模板進行改進,為需求管理打下基礎。就這個項目,不應該對這些關鍵過程域按CMM進行全面地管理,否則過程的改進不僅將失去階段重點,而且也消化不了。第6個目的是避免遭遇文化改變的沖突,如果把工作限制在一個小范圍進行,而且又不明顯改變原來的做事方式,就可避免文化明顯改變的沖突。當項目結束后,通過總結分析,大家認可改進的內容,就可以使做事方式和文化的改變進行得比較自然。通過成功地實施該項目,企業里的兩部分人將對實施CMM樹立信心:其一是參與該項目的人員;其二是管理層人員。
曾經有多位國內軟件企業負責人問我:“你如何能在最短的時間里讓我們拿到CMM 2級證書?”對此我是無言以對。其實,單純追求通過CMM評估不應該是企業的終極目標,改進企業的軟件過程管理才是企業真正應該追求的。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/