當國內諸多巨型IT企業紛紛殊途同歸地意識到軟件是IT業的下一個戰略高地時,東軟清晰地聽到了競爭對手強有力的轉型的腳步聲。好在,在越來越激烈的競爭中,東軟亦翻出了新的“底牌”,這就是東軟拿下的國內本土軟件企業的第一張CMM5級證書。至此,東軟實實在在地走出了一條突破軟件開發管理上的桎梏,搭建起軟件開發的規模化生產線的艱難道路。從這個意義上說,任何“大作坊”或“小作坊”的軟件公司,已經不足以撼動東軟的地位了。
這其中如何把“表面文章”做成每一個人實實在在都要依賴的過程或者工具,卻不可能一蹴而就完成,觀念和行為的改變都需要時間。
從作坊到生產線
何曉源感覺心里撲騰一下,她有一種強烈的被打動的感覺。
1999年,東軟股份高級副總裁兼質量總監孟莉思慮良久之后,決定搭建一個推進CMM標準的專案小組,而挑選領軍人是事情成敗與否的關鍵。根據自己對CMM標準的理解,孟莉非常清楚地知道,做這件事情的領軍人既要有良好的技術背景、管理經驗,更要有深厚的外語功底和出色的溝通技巧,而那些企圖在企業內部隨隨便便找一些“邊邊角角”的人來推進CMM標準的想法,是注定不能獲得成功的。就在這個時候,作為訪問學者被東軟派遣到美國NIST研究院做研究工作回國不久、時任東軟軟件工程事業部技術總監的何曉源進入了孟莉的眼簾。在孟莉的眼里,何曉源雖然不屬于強勢型的管理者,但韌性十足,這一點對需要獨立摸索的CMM推進工作來說非常關鍵,“可以說,當初我們選擇何曉源,推進CMM的工作就成功了一半,換一個人真的說不好能不能成功”,孟莉有點后怕地說。
然而,當時的何曉源卻對CMM沒有感覺。在她眼里,CMM大概與ISO9000也差不太多,直到這一天何曉源在孟莉的辦公室里突然看了一些從網上下載而來的關于CMM的資料,其中CMM關于配置管理的描述讓何曉源有了一種醍醐灌頂的感覺,這正是自己過去在軟件開發管理上感覺困惑之處!當下何曉源毫不猶豫地答應了孟莉,肩負起在東軟內部推進CMM標準的重任。當然,那個時候的何曉源絕對想像不到,4年之后的2002農歷年歲末,自己會因為成功地使東軟通過CMM5級評估而獲得東軟首次設置的最高獎——金鼎獎。
事實上,東軟能夠早在1999年就想到啟動推行CMM標準,并非心血來潮之舉。1991年東軟正式成立公司之后,有一段時間在國內市場的發展并不是很順利,東軟轉而開拓國際市場,尤其是日本市場。日本企業大多有自己的管理標準,東軟曾試圖用日本企業的管理標準來要求自己的出口項目,曾經參考過東芝、富士通等公司的標準制定東軟的管理流程,接受并認同了日本企業強烈的質量管理意識。換句話說,東軟選擇走國際化的道路決定了其未來會踏上CMM之路。1997年東軟成立了國內最早建立的軟件可用性和可靠性測試實驗室,質量總監孟莉就是在那個時候成為了公司在流程管理和軟件工程方法學上的專家。在孟莉等專業團隊的帶領下,東軟在接下來的數年中通過了ISO9001質量體系認證,并在2001年初成為了第一家通過ISO 2000版認證的國內軟件企業。在東軟集團總裁劉積仁看來,東軟啟動CMM是一種自然的延續性的行為,“就像上完了小學、中學,就應該上大學、念研究生一樣簡單。”
另一方面,來自用戶的壓力也決定了東軟必須要走通CMM之路。“買鞋子的人如果沒有看到生產線,他會擔心隨便拿一雙鞋是不是假冒的”,劉積仁說,“就像我們寫作業一樣,草寫來得快,正規寫就慢,但是你從長遠的角度上看正規寫不一定比草寫的要慢”。正是東軟有了國際一流的客戶,和對一流產品的要求,才會有東軟通過CMM5級評估的今天。劉積仁非常清楚:“很多人把拿到某種認證看成是拿到了一個敲門磚,而我認為東軟當時追求達到CMM標準是為了軟件工程的需要”。
通過CMM5最終讓東軟從手工作坊真正變成了工業化的生產線。然而,這其中如何把“表面文章”做成每一個人實實在在都要依賴的過程或者工具,卻不可能一蹴而就完成,觀念和行為的改變都需要時間。那么,東軟如何走通這條艱難的陡坡?
就像爬山,爬了一半才發現爬山是這么難,而往上看去,前面的路更陡、更險。還要不要繼續爬下去?何曉源心里沒有底。
緊張過CMM2
拿到診斷結果,何曉源倒吸了一口涼氣。
CMM推進小組在起步階段碰到的最大困難是對模型的正確理解。在開始的兩個月,何曉源要弄明白CMM究竟是什么,有什么具體要求,如何理解這些要求。當時懂CMM的人很少,何曉源他們連一本好一些的中文參考書都沒有,只能到國外的網站上查看相關的資料,一點一滴消化,完全靠自學理解CMM。假如何曉源他們都理解錯了,更惶論如何在東軟正確推行CMM,何曉源清楚地知道自己面臨的風險。在這兩個月中,CMM推進小組的三個成員幾乎每天都在開會,后來高峰期有來自不用部門和崗位的十幾個臨時專案成員一起討論CMM中一些原則性要求的具體含義,揣摩這些要求如何在開發管理中變為可操作性的程序和步驟。何曉源期望不同經驗背景和知識結構的人通過互動碰撞產生認知上的一致,來觸摸CMM標準的真實含義。“當你沒有深刻理解到模型字里行間隱藏著的意義的話,越往后做會越困難,因為后面的要求更高”。幸運的是,何曉源他們的理解基本上沒有出入,只是在一些細節的問題上出現誤差。
CMM是一個流程,比ISO9000要細。有一種說法是:ISO9000等價于CMM的2.5級,但是很多過了ISO9000的公司在評審CMM時連2級都過不了。東軟也是這樣。在兩個月的研究結束時,何曉源按照CMM2的標準對整個東軟進行了一次診斷,100分中東軟只能得到44分。
診斷結束結果不能不令何曉源感到緊張:這條路比想像的要艱難!1999年12月,日方開始對東軟音響項目作診斷,要知道日方對質量的敏感和嚴格程度都是天生的,對質量的檢查更是經驗豐富。日方的結果出來之后,與何曉源的檢查結果基本上一致。
何曉源向東軟高層提交了一個報告,認為東軟應該從CMM2開始實施。何曉源亦認為,大部分中國企業都需要從2級做起。CMM2和CMM3比起來,做CMM2會比較困難。如果一個企業已經通過了ISO9001,CMM3級里面的大部分內容ISO9001標準都能夠涉及到,反而CMM2里的要求與ISO9001的做法差異性很大。何曉源他們的建議得到了東軟高層的完全信任與支持。
何曉源他們開始在東軟股份的NEU-APN事業部的NOTE項目做CMM2標準的實施。因為CMM2涉及到每個人日常工作的行為和習慣的改變,質量體系如果定義得不合理,會使磨合時間過長,為此何曉源他們采取了很多變通的做法。事業部有來自項目的壓力,如何在項目壓力和推進CMM標準之間找到平衡點非常關鍵。何曉源化解矛盾的方法是,一定要讓事業部知道,“我不是你們的對立面,而是來幫助你們把事情做得更好的”。此外,制定軟件開發過程改善計劃一定要相對合理,事業部項目工作相對空閑的時候,應當是軟件開發過程改善工作的繁忙期,“這兩個方面處理得好的話,應該不會引起太大的矛盾”。更重要的是,何曉源領導的過程改善中心與NEU-APU事業部部長周宇泓同時匯報給一個老板,使得過程改善推進非常得力。現在NEU-APN事業部里面參與到過程改善工作的職員的職位提升非常快,那一批人獲得了領導的賞識。
推行CMM2并沒有使東軟股份的工程開發模式產生太大變化,其關鍵之處是軟件開發管理模式成為了一個有機整體。比如以前做計劃的只做計劃,做配置只做配置,配置和計劃之間沒有什么關系,而通過CMM2使得大家按照一個整體工程來執行了。CMM標準畢竟是國外很多企業最佳實踐積累形成的模型。
何曉源最感緊張的是CMM2評審的時候。因為所有的東西都是她們自學來的,走的路對不對,結論正不正確,都要看評審的結果。2000年9月,NOTE項目通過CMM2的評審。通過CMM2,東軟如同掌握了一種國際化的開發語言,但令何曉源明顯感到有所變化的是軟件開發人員能力的提升,“質量到底有沒有提升說不太清楚,就是感覺參與過程改善的員工做起事情來有一些規則了,每個人說起話來也不一樣,談論起項目管理來井井有條了”。
然而,通過CMM2之后,何曉源并沒有感覺到很欣慰,她很難想像之后的CMM3、CMM4、CMM5又會是個什么樣子。就像爬山,爬了一半才發現爬山是這么難,而往上看去,前面的路更陡、更險。還要不要繼續爬下去?何曉源心里沒有底。
CMM3之于東軟,仿佛硬件制造商們擁有了更高的“生產工藝”,可以把產品打磨得更精細了。
平靜過CMM3
看到日方的人員專程到東軟來感謝東軟順利交付項目,東軟NEU-APN事業部的人們心里都非常欣慰,要知道這并不是常常發生的事件。
何曉源心里清楚,東軟能夠按時交付項目與通過CMM3評估有絕對的聯系。2001年6月,東軟達到了CMM3,相較而言,東軟通過CMM3是平靜的。東軟早已通過ISO9001認證,“因為做CMM2的時候已經為CMM3準備了不少東西,從今天看來,你要做CMM2,一定要懂得CMM3,做CMM3,一定要懂得CMM4”,何曉源總結說,“我們的目標不是CMM2,CMM2只是過程當中的一個檢察點”。
當初通過CMM2的時候,除了人員的能力有變化之外,何曉源尚且不能清楚地看到其他的變化,但是,通過CMM3卻使何曉源真正看到發生在產品上的變化了。CMM3選取的是東軟為本田公司做的汽車音響的項目,這個部門有80多人,在一個大的項目里包含六七個小項目,每一個小項目里面都有十幾個人。這樣的項目在東軟內部也算比較上規模的了,通常在每個小項目開發完成后相互結合時是出現問題的高峰期,推行了CMM3之后,很平靜地度過了系統結合期,往常一定會出現的加班現象了無蹤影,返工量也大大降低了。何曉源總結為因為在流程當中監控得比較嚴格,到了最后系統的結合就比較順暢了,“大家走歪的可能性大大降低”,何曉源現在可以清晰地描述這個項目改善是如何變化而來的。
實施CMM3標準能很好地控制開發過程中出現的缺陷。舉一個例子,根據CMM3級要求,需求分析之后要做同行評審,做同行評審的人,一般是對某個技術方向或應用領域比較了解的“高手”,通過同行評審,發現并解決需求分析報告里的缺陷之后,可進入設計階段;如果沒有達到要求,就要做技術評審,技術評審通過之后,再做里程碑評審。這幾類評審定義非常明確,同行評審相當于私下的溝通,主要目的在于發現問題;技術評審比較正規,關注產品里有什么技術問題;里程碑評審審查計劃是否能按時完成,未來是否存在風險,主要關注管理問題。開發過程中每一個大階段結束都會做這幾項評審。CMM3之于東軟,仿佛硬件制造商們擁有了更高的“生產工藝”,可以把產品打磨得更精細了。
從另一個角度講,東軟能夠順利通過CMM3,與何曉源領導的過程改善小組的穩定有非常大的關系。何曉源領導的這個部門成員的平均工資在東軟股份里數一數二,這是一份完全腦力勞動的工作,何曉源首先要求自己部門的成員不僅要有多年的工作背景和經歷,其次要具備不斷創新的能力。在這個部門工作,人們每天都在學習新知識,除了在薪酬上有所回報,獲得知識所帶來的價值感也讓這個部門的成員感到機會難得。“這個部門的成員的上升空間很大,經過三四年的培養,完全可以勝任開發管理者的崗位”,何曉源正在跟其他事業部的總經理們溝通,希望過程改善中心的成員經常流動到其他部門去,使過程改善中心成為為公司培養高層管理人員的“據點”。這種流動已經開始了。
“在中國找到一個會寫程序的人已經不難,但是找一個會用CMM思想人來指導軟件開發的人還是比較少”,劉積仁說。東軟多年來孜孜以求追求CMM標準的另一大收獲是培養了一群難得的人才,而這些人才因為一個理想和一個理想背后的學問擁有了更美好的追求,這是企業和個人皆贏的局面。
但是,擺在何曉源他們面前的CMM5,卻不那么容易對付了。
推進CMM過程中每前進一步都是一個創新的舉動,過去何曉源做技術尚可“吃老本”,而作為CMM的推進者,何曉源只有持續地創新下去才可以把事情做好。
艱苦過CMM5
2001年歲末,東軟大連辦公室有一群人天天加班到深夜。
通過CMM3之后,何曉源他們做了將近半年的、大量的基礎性研究工作。直到2001年底東軟才確定下要向CMM5這個目標沖刺。CMM5的研究從2001年12月26日開始,由于預審確定在2002年9月,而預審前系統必須運行6個月,所以文檔必須在3月1日發到實施項目中去。時值年終,正是別人最輕松的時候,而何曉源他們卻是最繁忙的時候。圣誕、元旦他們都在大連加班,通宵達旦地開會、討論,半個多月之后,才把方案確定下來。
CMM3到CMM5的最主要的變化其一可度量,此外就是可以不斷優化。“當我們可控制成本、時間,控制所有的東西的時候,那么你可以用數據來描述某件事情,或者描述故障會出現在哪些方面,在這個過程當中,實際上過程被共享了,大家都知道規矩了,這是一種更科學化的管理方法”,劉積仁說,“從CMM3到CMM5是一個質的飛躍”。
但是,出乎何曉源預料的是,通過CMM5比想像的還難。而最難之處是歷史度量數據的獲得,此外,拿到這些數據之后,還要能夠讀得懂。好在,何曉源他們選擇實施CMM5的部門產品比較穩定,每年都會有若干個項目,每年都在按照一定的周期在做這些項目,盡管這些項目的歷史數據可能不那么規范,但畢竟還有很強的可參照性。從這個角度來看,中國軟件企業要想通過CMM5的確是一件比較艱難的事情。
CMM5無疑是最難的。盡管何曉源為此竭盡全力,但CMM5能否順利通過,何曉源只有80%的把握。要通過CMM的評估,需要達到兩方面的要求:一方面定義的流程體系和標準的流程體系要符合得比較好;另一方面,就是具體的項目必須嚴格按照這個流程體系來實施。CMM評估就是針對這兩個方面來進行的。何曉源最擔心的是后面的部分。東軟聘請的評估師經驗非常豐富,他和何曉源一樣在企業內部進行了多年的CMM推進工作,清楚問題所在。為了考察項目的實施情況,評估師“拷問”了項目組里的40多個人。在最后的結果出來之前,何曉源只能焦急地等待。
2002年12月30日,東軟順利地通過了CMM5級的評估。在次日晚6:30,在距離新年還有幾個小時的時候,何曉源才帶著通過CMM5評估的喜悅回到了久別的家里。4年多推進CMM的歷程中,何曉源覺得碰到最大的困難就是必須不斷創新。推進CMM過程中每前進一步都是一個創新的舉動,過去何曉源做技術尚可“吃老本”,而作為CMM的推進者,何曉源只有持續地創新下去才可以把事情做好。其中,來自管理者的支持亦非常重要,“沒有管理者的支持這件事情是做不到的”。
質量最終是每個人日常做的一件事,是一種文化和習慣,通過CMM5,質量意識深入到了東軟每一個人的骨髓中。
質量是一種文化
打高爾夫球,偶爾打出漂亮的幾桿并不難,難的是,要想桿桿打得好,每一天得練幾百桿,才能使身體行為的一致性很強,而這是需要相當長時間才能做得到的。東軟花費4年時間、耗資700多萬元,且期間沒有借助外部力量,幾乎是以“愚公移山”的精神通過CMM5級評估獲得的最大價值是,“CMM正在成為內部交流的一種語言”。
質量最終是每個人日常做的一件事,是一種文化和習慣,通過CMM5,質量意識深入到了東軟每一個人的骨髓中。“通過過程的控制獲得成熟意味著學習和發展的過程,而通過結果獲得成熟意味著只是一種包裝”,劉積仁認為,“任何一個企業要在市場上生存,都應該追求一個成熟度,盡管這種成熟度的描述可能是用CMM定義的,也可以用其它來定義,或者你自己有一個方法來定義都無關緊要,無非都是對企業最佳實踐成熟度的描述”。
“CMM5是東軟追尋的一種原則,不單單是一個案子”,劉積仁說,“不是你叫我寫一個大字我就寫一個大字,我要通過寫這個字了解這個結構應該是什么樣子”。劉積仁希望能夠把CMM標準應用到人力資源、經營計劃、財務管理體系等過程控制中,“讓CMM對我們其他部分的行為都產生影響,使我們的組織變成可管理、可控制、可度量,并可以不斷地優化”。除了更大面積地推廣CMM的管理方法之外,東軟還將把工作做細,CMM標準確定了應該做什么,但在怎么做這方面,東軟希望在一些資深顧問咨詢師的幫助下,建立更加完善的推進CMM的方法學。“我們即將參加印度的CMM大會,現在也有了一群合作伙伴,而所有的這些最終都會體現在東軟的國際化上”。
盡管出于費用和實際需要等各方面因素影響,東軟近期不會在其他事業部做CMM等級的評估,但東軟已經根據實際情況,把在NEU-APN事業部積累下來的最佳實踐推廣到所有的事業部。孟莉認為東軟其他部門的水平在CMM3到CMM4之間,“一些事業部當前要做的工作就是把組織里面的開發和管理流程全部規范、穩定下來之后,經過一二年的數據積累,才可以往上推行CMM4級和CMM5級”,何曉源說。
當國內諸多巨型IT企業紛紛殊途同歸地意識到軟件是IT業的下一個戰略高地時,東軟清晰地聽到了競爭對手強有力的轉型的腳步聲。好在,在越來越激烈的競爭中,東軟亦翻出了新的“底牌”,這就是東軟拿下的國內本土軟件企業的第一張CMM5級證書!
小資料
何為CMM5
SEI -CMM為“Computer Capability Maturity Model”(軟件能力成熟度模型)的縮寫,是由美國卡內基梅隆大學的軟件工程研究所研究制定,并隨后又在全世界推廣實施的一種軟件評估標準,主要用于軟件開發過程和軟件開發能力的評估和改進。CMM把軟件開發過程的成熟度由低到高分為5級,即初始級、可重復級、已定義級、已管理級和優化級。隨著等級的提高,逐步降低了軟件開發風險,縮短了開發時間,減少了軟件開發的人力物力成本,降低了災難性的錯誤發生率,提高了質量。CMM評估等級的提升會大幅度提高軟件開發能力,有助于客戶特別是大公司對其評估企業建立信心。
據美國卡內基梅隆大學軟件工程研究院統計,自1987年到目前,全世界有1000多家軟件公司和機構通過了CMM不同級別的評估,其中通過5級評估的只有50多家,集中在美國和印度。東軟通過CMM5級評估,也使中國繼美國、印度之后成為世界上第三個擁有這項評估企業的國家。
CMM評估過程復雜、費用昂貴。5個等級共計18個關鍵過程域、52個目標、300多個關鍵實踐,CMM等級評估周期(從準備到完成)約需12-30個月,由美國卡內基梅隆大學的軟件工程研究所授權的主任評估師領導一個評審小組進行,其成員大部分來自企業內部。評估過程包括員工培訓(高層領導也要參加)、問卷填寫和統計、文檔審查、數據分析、與企業的高層領導討論和撰寫評估報告等。評估結束由主任評估師簽字生效。而要取得主任評估師的資格則比較困難,首先需有10年以上的軟件開發經驗;其次要在美國卡內基梅隆大學的軟件工程研究所接受培訓,培訓費用每人約需數萬美元,非美國人加倍;第三要經過兩次以上CMM評估的全過程實習;第四要得到已有主任評估師資格的人推薦。主任評估師的資格并非終身制,如要繼續保持,每年至少要參加兩次CMM評估。目前全世界一共只有313個主任評估師,大部分在美國,而我國大陸還沒有一個主任評估師。由于我國在CMM評估中要聘請外籍主任評估師,所以費用較高。據估計,要通過一個級別的CMM評估,費用是通過ISO9001評估的10多倍。