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