能夠幫助中國的軟件外包企業走向世界一直是咨詢公司們不遺余力推廣CMM/CMMI的一個重要的說詞,那么果真是這樣嗎?
目前外包市場上主要分為“對日外包”和“歐美外包”,日本人對我們中國人好像從來就不怎么相信,給我們的外包絕大多數都是比較初級的編碼工作,有些甚至將厚厚的偽碼都拿來過來,我們做的基本上都是些體力活,同時承接對日外包的公司大多有日資的背景,且大多都延習了日本企業的那一套管理和協調機制。
相對來說歐美人對我們國人的期望要高一些,不過本人曾經有幸在境外參加了一個旨在為國外發包商和國內軟件企業牽線搭橋的科技展會,接觸了不少有意向中國軟件公司發包的外商,他們最關心的是兩個事情,一個是對知識產權的保護,另一個則是人力資源上是否具備和甲方進行有效溝通的能力。關于開發的管理,有一個老外的話讓我感到深深的悲哀,他說,如果在美國,一個企業如果拿出任何能夠證明其公司管理能力的資料,他都不會有任何懷疑,而在中國:"No,I only believe my eyes!"
有一個很有趣的事例是,國內有一家非常知名的CMM咨詢公司的老板的一個美國朋友應邀來到中國,希望為其在美國的一個大項目在中國尋找開發商,該公司擁有大量的實施過CMM/CMMI的客戶,其中不乏專門從事軟件外包的,按說在其中尋找一個滿意的開發商應該是唾手可得,然而事與愿違,所有的嘗試都在第一個環節就不得不終止,原因非常簡單,因為所有的候選企業都沒有派出一個能在技術、業務、管理和商務層面和美方有效溝通的人來,更有甚者,有些公司干脆拿了一大堆的中文資料就來和老美溝通,結果可想而知。最后,這位老美不得不放棄了這個計劃。
顯然這一切都和CMM無關。
軟件過程改進及其基礎構建——我們在空中樓閣中舞蹈
所謂的“軟件過程改進”,應當按照在一個循序漸進和有序的過程進行,當初SEI制定CMM的應用對象都是非常大型的航天和軍工軟件的承包商,這些企業基本都具有相當的規模和良好的規范化基礎。顯然,對這樣的企業實施基于CMM/CMMI的軟件過程改進是有意義的。反之,如果是一個完全缺乏規范管理的軟件公司來說,連基本的軟件工程規范和質量理念都不存在,盲目追求所謂CMM的某個級別只能是空中樓閣。
不幸的是,這種完全管理無序的公司在國內實施CMM/CMMI的企業中還不是少數,顯然,這也并不是SEI當初制定CMM所考慮的范疇。
對于這樣的企業,首先應該進行的并不是去運行什么基于CMM/CMMI的軟件過程,而是扎實的完成軟件過程的基礎構建(這也是過程躍遷的一個重要組成部分),甚至非常有必要在實施CMM/CMMI前在企業內部引入PSP/TSP,然后在循序漸進的進行有針對性的軟件過程改進。
然而,非常遺憾的是,本人看到不少這樣的企業在短短不到一年的時間里就能通過所謂的CMM或CMMI三級(現在,國內企業對二級大多已經覺得不過癮了,往往一上來就直接上三級)評審,效果如何可想而知。實際上這只不過是一場由咨詢公司導演,軟件企業主演的“評審”秀而已。
CMM/CMMI中有一個最為核心的思想就是:只有好的過程才能導致好的結果,上述的現象倒是該思想的一個非常好的反面實例。
好的過程=好的軟件?——瞎子摸象故事的現代軟件工程版演繹
CMM/CMMI最原始的出發點是重過程管理而輕工程方法,這對于最初的CMM應用對象--美國軍方軟件的承包商或許是有其合理性的,但是對于其他眾多的軟件企業,由其是國內的軟件企業就并不是那么的合理了,個人認為國內的軟件的特點是規模有限,業務領域較廣,技術周期較短,軟件工程基礎較差,對于這樣的企業,有效的工程方法往往比有效的軟件過程更能讓企業獲得即時的效果。
軟件開發管理是一個非常復雜的系統工程,其涉及到企業技術和管理的方方面面,而且其各個因素又是相互關聯和制約的,不均衡的過分強調其中的某一個或某幾個方面都是不科學的,也是難以取得良好效果的。
文章來源于領測軟件測試網 http://www.kjueaiud.com/