CMMI证书背后的6大怪相
【賽迪網(wǎng)訊】
編者按
CMMI證書到手了之后,企業(yè)還要做些什么?
CMMI認證進入我國軟件領(lǐng)域的這十多年來,對我國軟件產(chǎn)業(yè)的健康發(fā)展作出了巨大貢獻。但一些軟件企業(yè)只是以獲得證書為根本目的,而忘記CMMI認證的出發(fā)點是改進軟件生產(chǎn)過程。這致使我國一些通過CMMI5級的企業(yè)的項目平均延期率依然在25%以上,并且數(shù)據(jù)并不穩(wěn)定。尤為不幸的是,目前沒有任何公開數(shù)據(jù)表明我國通過CMMI高級別認證的企業(yè),提高了生產(chǎn)效率,降低了成本,提高了產(chǎn)品質(zhì)量。
CMM/CMMI在中國的過程改進領(lǐng)域到底是一個偉大的經(jīng)典還是一個因水土不服而失敗的理論?CMMI后的軟件過程改進又將如何演繹?
CMMI(Capability Maturity Model Integration, 即能力成熟度模型集成模型)自20世紀90年代中期傳入中國以來,有些軟件企業(yè)只是一味地追求高級別CMMI認證,以為拿到更高級CMMI證書就獲得了進入外包市場的國際通行證,而忽視了對軟件生產(chǎn)過程真正持續(xù)的改進。從而導(dǎo)致CMMI認證在中國出現(xiàn)一些令人擔憂的現(xiàn)象。
怪相一:證書擺桌面 體系放一邊
2006年筆者曾到某軟件園進行調(diào)查,對通過CMMI評估的8家企業(yè)進行走訪,發(fā)現(xiàn)有5家企業(yè)在通過評估后基本上放棄了。CMMI評估的證書高高掛在墻上,做過程改進的人員已經(jīng)不見蹤影,企業(yè)也不再按照原來的體系執(zhí)行了。其實這5家企業(yè)本就沒想真正去改進過程。那為什么還要去做CMMI評估呢?因為企業(yè)有補助。
2000年有關(guān)部門鼓勵軟件企業(yè)做CMMI評估。不少地方鼓勵企業(yè)實施過程改進,并陸續(xù)出臺資助政策。當企業(yè)通過評估后,可從不同部門獲得資助。有些企業(yè)為拿到資助,突擊通過CMMI的評估,于是便出現(xiàn)了&ldquo證書擺桌面,體系放一邊&rdquo的現(xiàn)象。
其實企業(yè)失算了。企業(yè)獲得的資助大都給了咨詢公司。企業(yè)要編制體系文件和項目的直接與間接證據(jù),要安排人員接受訪談。這都要耗費巨大的人力和物力,其成本可能超出資助金額,所以企業(yè)的實際投入也很大。那些一心想要補助的企業(yè)得到了什么呢?對他們有用的估計就剩下一個證書了。
怪相二:證書拿到手 體系大調(diào)修
筆者曾接觸過兩家企業(yè),在通過CMM或CMMI評估后,在很短的時間內(nèi)就對過程體系進行了大幅度的裁剪。其中一家公司的負責(zé)人講:原來定的體系太煩瑣,為了通過評估,我們原來忍了,現(xiàn)在必須裁剪!難道只有煩瑣才能通過CMMI的評估嗎?難道簡約就不可能通過CMMI的評估嗎?
這是對CMMI的誤解!
在CMMI的各種構(gòu)件中,只有目標是必需的,實踐是期望的,子實踐是解釋說明的。所以首先要滿足模型中每個目標的要求,目標的達成是根據(jù)實踐的執(zhí)行情況來判斷的,模型中給出的實踐是可以替換的。只要能達成目標,采用什么實踐都是可以的。
CMMI評估要求主任評估師必須具有10年以上的軟件工程經(jīng)驗,評估組的成員必須平均具有6年以上工程經(jīng)驗,評估組累計不少于25年工程經(jīng)驗,每個生命周期階段要有兩個人具有實踐經(jīng)驗,至少要有一個成員有6年以上的管理經(jīng)驗,評估組累計要有10年以上管理經(jīng)驗。這些要求其實是為了更好地進行專業(yè)判斷,避免機械照搬。
CMMI要求企業(yè)建立裁剪指南。在實踐中,裁剪指南往往比體系本身更重要。僵化的體系是不可能真正在組織里推行下去的,要保持體系的靈活與敏捷,就必須定義詳細的、實際的裁剪指南,并在實踐中逐步完善。
簡約與煩瑣都可能達到模型的要求,關(guān)鍵取決于起草體系的人員對模型的理解。企業(yè)在開始導(dǎo)入CMMI時,一般是請咨詢顧問介入,而目前國內(nèi)的CMMI咨詢公司、咨詢顧問魚龍混雜,客戶難以在短時間內(nèi)做出正確的評價,往往依賴某些網(wǎng)站或協(xié)會之類的獨立組織的推薦,根據(jù)網(wǎng)民投票所選出的咨詢公司排名榜按圖索驥。如果咨詢顧問對模型的理解不深刻,自身的過程改進成員又欠缺經(jīng)驗,或者咨詢顧問參與的工作量很少,則難免怪相橫生。
怪相三:工期依然拖 缺陷照常多
某企業(yè)實施CMMI到一定階段后,EPG抱怨領(lǐng)導(dǎo)意識有問題,領(lǐng)導(dǎo)在言談舉止中對過程改進的支持力度不夠。而領(lǐng)導(dǎo)卻說該授權(quán)的也授權(quán)了,該獎勵的也獎勵了,該懲罰的也懲罰了,但是項目依然拖期,仍然存在質(zhì)量問題,就認為EPG沒有解決核心問題。
問題究竟出在什么地方呢?
過程改進的目的可以概括為多、快、好、省:多,即項目組能滿足客戶的需求越多越好,企業(yè)能承接的項目越多越好;快,即能夠提高企業(yè)的估算能力、應(yīng)變能力,使項目能夠按期完工,減少拖期現(xiàn)象;好,即提高交付的產(chǎn)品質(zhì)量,減少售后維護的工作量;省,即降低項目的開發(fā)成本,提高企業(yè)的贏利能力。
對于不同企業(yè)而言,在上述4個目的中可能側(cè)重點有所不同。當實施過程改進時,一定要緊緊圍繞企業(yè)的改進目標做工作,針對企業(yè)領(lǐng)導(dǎo)關(guān)注的問題、企業(yè)最薄弱的環(huán)節(jié)實施改進,這樣才能事半功倍,快速見效,否則見不到實際效果,任何管理方法都不會長久,任何領(lǐng)導(dǎo)也不會持續(xù)投資。
很多情況下,企業(yè)在過程改進時,找到了病根,卻沒有找到有效的解決方案。比如單元測試和代碼走查是提高軟件質(zhì)量的有效措施,已經(jīng)在工程界得到了充分認可,但是在軟件生產(chǎn)企業(yè)中推廣時,往往會遇到開發(fā)人員的阻撓。開發(fā)人員會認為做單元測試與代碼走查浪費了大量的時間,不如直接做黑盒的功能測試更簡單。業(yè)內(nèi)認可的最佳實踐在企業(yè)中未必推行得下去。這就需要EPG成員采取各種各樣的手段,努力使這些業(yè)內(nèi)的最佳實踐變成企業(yè)的最佳實踐。上面提到的EPG與企業(yè)領(lǐng)導(dǎo)之間的互相抱怨問題,很大程度上歸因于此。
怪相四:文檔一篇篇 不見有人看
有一家已經(jīng)通過CMMI3級評估的軟件生產(chǎn)企業(yè),完成一個項目需要項目組填寫接近90份文檔。當筆者去做CMMI的差距分析時,發(fā)現(xiàn)在那些文檔中有大量顯而易見的錯誤。而這些文檔還要給項目經(jīng)理、QA人員及高層主管等多個角色去看,卻沒有人發(fā)現(xiàn)這些很明顯的錯誤。其實這些人根本就沒有去看這些文檔!既然沒有人去讀,何必要寫呢?
CMMI評估需要企業(yè)提供3種證據(jù):直接證據(jù)、間接證據(jù)和人證。每條實踐都必須有直接證據(jù)。直接證據(jù)包括了產(chǎn)出的文檔、使用的工具等等。由于直接證據(jù)是必須的,于是,為了滿足評估的需要,很多企業(yè)做了上百個文檔來滿足模型的要求,其實這是不對的。模型是強調(diào)直接證據(jù),但是并非文檔越多越好。文檔只是用來證明某個實踐你做到了,只要達到了這個目的就可以了。而且一個文檔可以滿足多條實踐的要求,可以作為多條實踐的證據(jù),這是最經(jīng)濟的做法。只要內(nèi)容有了,也并非在乎文檔的多少與格式。
實施CMMI之前,項目組往往不寫文檔或者很少寫文檔;實施CMMI之后,寫的文檔又可能太多&mdash這是兩個極端,需要平衡。
怪相五:流程很優(yōu)秀 效果不見有
有一家專門從事軟件外包的公司,通過CMMI3級,流程定義得很簡潔、實用,企業(yè)的執(zhí)行力也很強,但是項目的實際效果卻不好。為什么呢?經(jīng)過筆者仔細審查項目組的需求、設(shè)計、測試用例、源代碼等文檔,發(fā)現(xiàn)需求的描述有遺漏,有錯誤;設(shè)計文檔沒有滿足基本的設(shè)計原則;測試用例不完備,覆蓋率比較低;源代碼中需要重構(gòu)的地方比比皆是。在調(diào)查中,我們還發(fā)現(xiàn)項目組的成員都比較年輕,工程經(jīng)驗大都少于兩年。盡管企業(yè)也進行了需求工程、設(shè)計模式等技術(shù)培訓(xùn),但經(jīng)驗不是靠培訓(xùn)就能解決的。因此,即使有好的流程,仍然有可能開發(fā)不出好的軟件系統(tǒng)。
另外一家公司,沒有通過CMMI的評估,公司內(nèi)有3個部門,其中一個部門積累了一個基于.NET的可復(fù)用的MIS軟件框架,該框架已由少數(shù)精英開發(fā)了4年,積累了4年,發(fā)布了多個版本。實現(xiàn)一個新需求時,只要定制界面,編寫存儲過程就可以了。當一個新員工進入該部門后,基于該框架,大概花費1周的時間就可以編寫出能夠交付給客戶執(zhí)行的代碼,該部門的開發(fā)效率很高。其實對于該企業(yè)來講,引入CMMI并非當務(wù)之急,打破部門之間的壁壘,將該軟件框架推廣到其他兩個部門可能投入、產(chǎn)出比會更高。
人、過程、技術(shù)三者都不可偏廢。企業(yè)要分析人、技術(shù)與過程,哪個因素是企業(yè)的瓶頸問題。優(yōu)先解決瓶頸問題才能事半功倍,最大限度地提高生產(chǎn)效率。
硬件生產(chǎn)企業(yè)的生產(chǎn)線是由各種各樣的設(shè)備組成的,而軟件企業(yè)的生產(chǎn)線主要是由水平各異的人員構(gòu)成的。在軟件開發(fā)中,人是最基本的生產(chǎn)要素,要想提高生產(chǎn)率,必須優(yōu)先提高人員的能力。在一家大型的軟件公司中,老板的文化就是:&ldquo讓員工一半時間工作,一半時間學(xué)習(xí)提高。&rdquo如果做到這個程度,企業(yè)想不進步都難&mdash水漲船高啊。而另外一家大型軟件公司經(jīng)過統(tǒng)計后發(fā)現(xiàn)公司員工的平均司齡為兩年,因此拒絕導(dǎo)入PSP等針對員工個人的改進模型,理由是:&ldquo人培養(yǎng)出來了,呆不長就走了!&rdquo如此一來,很可能形成惡性循環(huán)。
怪相六:
大家要業(yè)績 快速過五級
很多企業(yè)在通過了CMMI3級的正式評估后,急于通過CMMI的5級評估。為什么呢?一是企業(yè)從市場競爭方面想把競爭對手甩在后面,便于爭取更多訂單;二是政府有巨資資助,企業(yè)通過高級別CMMI認證對當?shù)氐恼畞碇v有業(yè)績;三是對于咨詢公司來講,企業(yè)通過高級別CMMI認證可以擴大對外宣傳,增強客戶對自己的信任。幾種因素綜合在一起,企業(yè)不由自主地就開始了向高成熟度組織的邁進之路。
據(jù)統(tǒng)計,在中國,2006年一年內(nèi)通過CMMI5級評估的軟件公司就超過了10家。也很不幸,在中國進行CMMI5級評估的主任評估師有的受到SEI(美國卡內(nèi)基·梅隆大學(xué)軟件工程研究所)的處分。自2007年始,SEI開始對CMMI高成熟度組織的評估師進行重新考試。并非所有的主任評估師都可以做4~5級的正式評估。在全球,SEI加大了對4~5級評估的審計工作,尤其是對東方的軟件大國。
?
在實施4~5級認證之前,需要慎重考慮:你的企業(yè)真的需要通過CMMI4、5級的評估嗎?
CMMI的4級強調(diào)的是過程穩(wěn)定性與項目量化管理,5級強調(diào)的是根本原因分析與持續(xù)改進。很多企業(yè)可能在CMMI3級時,就已經(jīng)做到了在項目組內(nèi)定義量化的質(zhì)量目標,并實現(xiàn)了該量化目標,因此在3級時可能就已部分做到4級的要求。有的企業(yè)在3級時就做到交付軟件的缺陷密度低于0.3個/Kloc,比SEI統(tǒng)計的通過CMMI5級評估的企業(yè)的平均質(zhì)量還要好。客戶的水平?jīng)Q定了供應(yīng)商的水平,對于客戶要求高和生產(chǎn)高可靠性軟件的公司通過CMMI4~5級的評估是很有必要的。否則,真正達到CMMI3級水平就足以滿足一般的客戶需求。
在實施4~5級時,還需要慎重地考慮:你真的能在短時間內(nèi)證明過程的穩(wěn)定性嗎?你真的可以在短時間內(nèi)量化證明你的持續(xù)改進嗎?
按照統(tǒng)計學(xué)的要求,一般需要30個樣本點才可以證明過程的穩(wěn)定性,而且這些樣本點必須是與5M1E(人、機器、材料、方法、環(huán)境、測量)等因素相近的。而軟件企業(yè)的人員變動、技術(shù)方法升級等變化是比較快的,即使采集到8個樣本點,對于大多數(shù)軟件生產(chǎn)企業(yè)來說,也需要相當長的時間周期。根據(jù)SEI的報告,自1992年以來,從等級1到等級2需要時間的中間值為19個月,從2級到3級的中間值為19個月,從3級到4級的中間值為24個月,從4級到5級的中間值為13個月。
必須持續(xù)改進過程
CMMI認證的真正目的是幫助軟件生產(chǎn)企業(yè)改進生產(chǎn)流程,從而提高軟件產(chǎn)品的質(zhì)量和生產(chǎn)效率。而CMM/CMMI在中國軟件這片特殊的土壤上一路走來,雖然曾經(jīng)創(chuàng)造了許多輝煌,但更多的是遭遇了包括上述6種怪相在內(nèi)的很多奇怪現(xiàn)象。
產(chǎn)生這種現(xiàn)象的根本原因是一些企業(yè)簡單地把評估等同于改進,這些企業(yè)的評估只停留在CMMI認證的表面。CMMI只是參考模型,是一個基準點,它認為通過評估的企業(yè),其過程能力不能低于該基準點。但CMM/CMMI評估并沒有對基準點提出一個量化標準,只是定性地判斷要求的實踐是否實現(xiàn)了,是否存在嚴重的弱項。那么判斷是否達到基準點,依賴于參評企業(yè)是否真正從過程改進出發(fā),以及評估人員的經(jīng)驗、水平甚至職業(yè)道德等因素。
中國的軟件生產(chǎn)企業(yè)在通過相應(yīng)級別的CMMI認證之后,如何理性看待CMMI,如何按照CMMI模型的要求使軟件生產(chǎn)流程得到真正持續(xù)的改進,如何準確判斷現(xiàn)有水平是否適合沖刺CMMI5級以及如何沖刺CMMI5級,從而做到CMMI在實效上的繁榮,而不是證書上的繁榮,這些都是中國軟件企業(yè)在真正走向世界之前要認真思考的問題。
總結(jié)
以上是生活随笔為你收集整理的CMMI证书背后的6大怪相的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。