企業(yè)管理本身流程錯綜復雜,用軟件把這些錯綜復雜的關(guān)系梳理成一個(gè)智能、順暢的"有機體",又需要各種邏輯運算和數據處理。不僅如此,面臨幾十個(gè)行業(yè)各不相同的需求和成百上千個(gè)企業(yè)各具特色的企業(yè)"個(gè)性",同時(shí)又要組織遍布于全球各地幾千人的開(kāi)發(fā)隊伍,SAP如何駕馭管理軟件開(kāi)發(fā)這一浩大的工程?
1972年,德國,曼海姆的IBM公司。任職銷(xiāo)售顧問(wèn)的Hasso Plattner在等待著(zhù)公司對自己建議的回復。他的建議就是開(kāi)發(fā)財務(wù)軟件包,用現成的軟件包取代昂貴的定制應用。
當IBM公司回絕了他的建議之后,他和4名做軟件工程師的同事離開(kāi)了IBM,白手起家創(chuàng )辦SAP軟件公司。
而今,每天早上,世界500強中80%的公司都會(huì )進(jìn)入由SAP公司提供的管理和協(xié)同商務(wù)平臺,進(jìn)行高效率的工作。一向好斗、性格倔強、勇于接受挑戰的SAP聯(lián)合主席兼首席執行官Plattner在經(jīng)歷了SAP的諸多風(fēng)浪之后,當他看到SAP在軟件市場(chǎng)低迷的情況下,2001年第三季度仍舊實(shí)現了贏(yíng)利預期,前三個(gè)月的收入達到50億歐元,收入增長(cháng)率為23%,高興地評論道: "雖然近來(lái)軟件市場(chǎng),特別是美國市場(chǎng)有巨大的變化,客戶(hù)紛紛推遲軟件的購買(mǎi)計劃,但對于現在最有效的解決方案,企業(yè)還是愿意投資的。越來(lái)越多的企業(yè)轉向SAP,因為他們相信SAP能給他們帶來(lái)更高的投資回報率、更優(yōu)秀的功能和便捷的集成。"
這家總部位于德國沃爾多夫市,號稱(chēng)"全球最大的企業(yè)管理解決方案供應商、全球第三大獨立軟件供應商、全球領(lǐng)先的協(xié)同電子商務(wù)解決方案供應商"的軟件巨人目前在全球的120多個(gè)國家和地區擁有1.65多萬(wàn)家客戶(hù),向全球提供基于"五大支柱"戰略的產(chǎn)品,這就是mySAP SCM(供應鏈管理)、mySAP PLM(產(chǎn)品生命周期管理)、mySAP CRM(客戶(hù)關(guān)系管理)、SAP Portals 的Enterprise Portals(企業(yè)門(mén)戶(hù))和SAPMarkets 的Exchanges(交易集市)。
而你是否知道,在全球,SAP擁有員工2.5萬(wàn)多名,在總部,SAP的開(kāi)發(fā)人員有5000多名,而SAP的開(kāi)發(fā)實(shí)驗室和開(kāi)發(fā)中心更是遍布全球多個(gè)角落:德國慕尼黑,美國硅谷,法國,加拿大,中國,印度,澳大利亞,日本......如何調度這只由幾千人組成的開(kāi)發(fā)大軍?如何將幾千人隱于無(wú)形的智慧聚合起來(lái)打造商業(yè)智能方案,而這方案又凝聚著(zhù)來(lái)自世界頂尖企業(yè)先進(jìn)的管理實(shí)踐和管理理念?
董美婷,目前是SAP中國公司北方區咨詢(xún)顧問(wèn)經(jīng)理,在負責整個(gè)咨詢(xún)隊伍的同時(shí),還負責協(xié)同商務(wù)解決方案中心。1997年6月加入SAP的她,有機會(huì )親身體會(huì )了SAP研發(fā)的精髓。剛開(kāi)始加入SAP的她,擔任技術(shù)顧問(wèn);1998年初,SAP中國公司成立開(kāi)發(fā)中心,她擔任開(kāi)發(fā)中心的負責人;2000年,SAP投資1000萬(wàn)美元,組織30多個(gè)研發(fā)人員,建立了SAP中國協(xié)同商務(wù)解決方案中心,她被任命為負責人。在此之前的9年時(shí)間里,董經(jīng)歷過(guò)中科院軟件所和中國惠普兩個(gè)單位。
董美婷以一個(gè)典型的中國開(kāi)發(fā)者體驗著(zhù)SAP博大精深的管理軟件研發(fā)過(guò)程,同時(shí),以SAP中國公司技術(shù)總監芮祥麟為核心的研發(fā)隊伍也逐漸被納入到SAP全球研發(fā)計劃中。
在咖啡廳、足球賽中工作
在SAP德國的辦公室里,研發(fā)人員通常是4個(gè)人一組坐在一間20平方米左右的房間,他們使用那些租來(lái)的具備最高性能的設備,利用SAP自主開(kāi)發(fā)或者第三方提供的開(kāi)發(fā)管理工具,遵循著(zhù)SAP研發(fā)"機器"特有的"程序"編程序、抓bug。通常,他們會(huì )在寬帶上瀏覽公司的公共平臺或者互聯(lián)網(wǎng),以獲得某一部分現成的可復制的文檔,或者在自認為合適的時(shí)間學(xué)習e-learning課程(例如語(yǔ)言、項目管理等)。而在公司里,咖啡廳可以供他們悠閑地坐下閑聊,SAP認為無(wú)論你聊什么,總會(huì )對工作有所幫助的,比如加深了了解和溝通。而如果你覺(jué)得工作累了,設在公司內部的健身中心、網(wǎng)球場(chǎng)都可以免費使用。每到周末大家可以開(kāi)車(chē)到風(fēng)光旖旎的小鎮,在山頂的足球場(chǎng)上踢足球,附近的居民們會(huì )趕來(lái)加油、吶喊,足球賽會(huì )使很多平日里不認識或不熟悉的同事熟悉起來(lái),他們在工作時(shí)需要協(xié)助或者討論或者啟發(fā),這樣他們會(huì )很容易地知道找誰(shuí)合適。而每一個(gè)月他們都會(huì )參加一項叫做團隊建設的活動(dòng),大家集體出去,或者爬山,或者滑雪,總之是大家可以一起參與而又需要相互協(xié)作和溝通的活動(dòng)。SAP中國的員工每個(gè)月同樣也會(huì )去參加團隊建設的活動(dòng),而董美婷所帶領(lǐng)的30多名研發(fā)員工也會(huì )在月中及時(shí)地聚在一起,討論一個(gè)階段以來(lái)在某些項目上的得失。
嚴謹的德國人對于寫(xiě)軟件有著(zhù)比打造精美工藝品更細膩的心思。有時(shí),一個(gè)字段會(huì )討論上兩個(gè)星期。如果需要,隨時(shí)會(huì )有一個(gè)非正式會(huì )議在咖啡廳開(kāi)始。對于產(chǎn)品經(jīng)理的需求,他們會(huì )逐字逐句地推敲,以確定這是否就是客戶(hù)工作所需要的。
值得一提的是,每天,SAP全球的開(kāi)發(fā)人員都在使用著(zhù)SAP獨有的開(kāi)發(fā)語(yǔ)言ABAP——高級商業(yè)應用語(yǔ)言展開(kāi)工作。SAP認為做管理軟件并不需要追求技術(shù)的時(shí)髦,SAP看重的是: 滿(mǎn)足需要,在功能、流程、速度、穩定性上的表現要優(yōu)先于其他?;谶@種語(yǔ)言的技術(shù)平臺還可以使SAP的產(chǎn)品與各種系統無(wú)縫連接。
管理軟件"流水線(xiàn)"
通常,新產(chǎn)品或新版本的誕生,需要走過(guò)六道"工序",這就是產(chǎn)品規劃階段(Product Planning)、需求形成階段(Specification)、設計階段(Design)、實(shí)現階段(Implementation)、測試階段(Test)和技術(shù)支持階段(Maintenance)。事實(shí)上,這六道工序并不像一般硬件產(chǎn)品的流水線(xiàn)那樣,這六個(gè)階段或者交叉,或者平行,總之構成了一個(gè)復雜的統籌項目。
由于SAP提供的各種解決方案要面對不同用戶(hù)千差萬(wàn)別的功能需求,在項目開(kāi)始之前,需要進(jìn)行非常詳盡的規劃,以決定功能的取舍和增強,這一階段決定著(zhù)產(chǎn)品的發(fā)展方向,也是項目成敗的關(guān)鍵。同時(shí),這一工作也要求參加項目的SAP和非SAP人員進(jìn)行充分的交流溝通,從而為將來(lái)的開(kāi)發(fā)打下基礎。特別是對于那些比較復雜、跨模塊的項目,需要在模塊間的功能開(kāi)發(fā)和工作進(jìn)度上作出統一的規劃,以避免重復開(kāi)發(fā)和集成問(wèn)題。
通常,規劃階段的工作可以按三個(gè)步驟進(jìn)行。第一步是收集和評估開(kāi)發(fā)需求,為新產(chǎn)品或升級現有產(chǎn)品而從各種渠道收集用戶(hù)需求和意見(jiàn)。如果是升級現有產(chǎn)品,則由開(kāi)發(fā)組對開(kāi)發(fā)請求進(jìn)行評估,并作為新版本開(kāi)發(fā)的基礎;如果是新應用模塊開(kāi)發(fā),則由項目的產(chǎn)品管理小組和開(kāi)發(fā)經(jīng)理對實(shí)際應用和流程進(jìn)行分析,并提供粗略的開(kāi)發(fā)計劃,為下一步的決策做必要的準備。第二步則是開(kāi)發(fā)規劃的決策階段,主要是分析整個(gè)項目的可行性,以及確定項目開(kāi)發(fā)的優(yōu)先級,對于比較重要的或者是策略性的項目,通常是由部門(mén)主管或執行董事參與決策。第三步,則需要制定詳盡的開(kāi)發(fā)計劃,包括功能劃分、工作分配、進(jìn)度控制等。
走完規劃階段,項目組以及產(chǎn)品經(jīng)理則開(kāi)始對軟件產(chǎn)品進(jìn)行分析,確定各種用戶(hù)需求的優(yōu)先級,并決定哪些功能將在系統中實(shí)現,以及實(shí)現的程度和方式。這一階段的工作需要與用戶(hù)及咨詢(xún)顧問(wèn)進(jìn)行大量的面對面交流,在得到用戶(hù)需求的同時(shí),也需要將項目的進(jìn)展及時(shí)通報,以得到反饋。需求形成階段作為開(kāi)發(fā)階段的基礎,最終形成的需求文檔需要從用戶(hù)的角度對產(chǎn)品進(jìn)行描述,對各種功能模塊的描述要盡量明了,因為此文檔也將是產(chǎn)品實(shí)現和測試的基礎。同時(shí),文檔還要就產(chǎn)品可用性、運行性能等方面進(jìn)行規定。
當項目組拿到了具體詳盡的需求文檔后,設計階段開(kāi)始啟動(dòng)。在設計階段,由各功能模塊的負責人組織小組成員,一起建立模型(如數據模型、功能模型、過(guò)程模型、對象模型等),創(chuàng )建必要的數據結構和函數,同時(shí),對程度元素的命名原則、開(kāi)發(fā)規范及模塊間的接口等作出定義。由此形成的設計文檔成為項目實(shí)現的基礎,并且是軟件維護的重要參考,所以,此文檔應當盡量詳細。此階段的工作以用戶(hù)需求為基礎,為用戶(hù)提供有效的解決方案,設計的好壞將直接影響到系統的功能和性能。
當某種功能比較復雜時(shí),設計文檔通??梢苑殖蓛深?lèi): 一類(lèi)是粗略設計,參考系統中現有的過(guò)程、工具和函數庫,以確定可以復用的對象,使用系統中現有的對象和技術(shù)可以提供新功能的可靠性,降低開(kāi)發(fā)成本;第二類(lèi)是詳細設計,包括對數據字典、程序對象、用戶(hù)界面、處理流程以及各個(gè)對象之間的接口定義進(jìn)行詳細的設計。
設計階段之后,就進(jìn)入了具體的開(kāi)發(fā)階段,即實(shí)現階段。實(shí)現階段是以設計文檔為基礎來(lái)創(chuàng )建數據字典和程序對象。SAP對ABAP程序開(kāi)發(fā)有比較完整的指導文檔,并要求開(kāi)發(fā)人員按照SAP的開(kāi)發(fā)規范創(chuàng )建用戶(hù)界面。在R/3項目開(kāi)發(fā)中,規范性與技術(shù)同樣重要,由于一個(gè)項目通常是由很多開(kāi)發(fā)人員協(xié)同完成的,程序的可讀性和詳細文檔對于項目來(lái)講是非常重要的。在開(kāi)發(fā)的同時(shí),文檔開(kāi)發(fā)人員為相應的功能模塊創(chuàng )建在線(xiàn)文檔、培訓教材等必要的用戶(hù)文檔,這需要開(kāi)發(fā)人員的密切協(xié)作。此階段同時(shí)也是開(kāi)發(fā)測試階段,開(kāi)發(fā)人員需要對新的模塊進(jìn)行測試、代碼檢查、可用性測試等,并進(jìn)行開(kāi)發(fā)人員間相互測試,以便在開(kāi)發(fā)階段保證模塊的質(zhì)量。
實(shí)際的測試階段從具體的開(kāi)發(fā)階段就開(kāi)始了,此謂開(kāi)發(fā)測試,而正式的測試則是在質(zhì)量經(jīng)理(QM)主持下,由質(zhì)量管理小組、產(chǎn)品管理小組及用戶(hù)共同參與進(jìn)行非常完整、細致的測試。它不只面對單一功能單元,而是根據用戶(hù)需求文檔、設計文檔并按用戶(hù)實(shí)際流程設計出測試文檔,對系統的可用性、性能、用戶(hù)界面、表達統一性、文檔、翻譯等進(jìn)行全面測試。
同時(shí)開(kāi)發(fā)人員需要密切配合,及時(shí)修改發(fā)現的錯誤。測試階段的工作是軟件提供給用戶(hù)前的最后一道工序,它直接關(guān)系到軟件的質(zhì)量。所以,此工作需要非常周密的安排,就這個(gè)意義而言,QM也擔負著(zhù)保證軟件質(zhì)量的責任。
SAP的技術(shù)支持分成三級: 當地支持(Local Support)、地區支持(Regional Support)和開(kāi)發(fā)支持(Development Support)。當用戶(hù)遇到的問(wèn)題無(wú)法由前兩級完成時(shí),這個(gè)問(wèn)題就會(huì )送達開(kāi)發(fā)人員,由開(kāi)發(fā)人員確認錯誤來(lái)源,并提供正確的響應。這一過(guò)程可以包括在用戶(hù)系統中修改程序、文檔,如果問(wèn)題所涉及的功能比較廣泛,SAP內部相關(guān)的開(kāi)發(fā)人員會(huì )協(xié)同工作,共同解決問(wèn)題。隨后的分析會(huì )對問(wèn)題或需求有更加深層的總結,一旦需要,新的需求會(huì )被包括在新版本的開(kāi)發(fā)中。SAP還會(huì )提供Hot Packages和Hot News,以幫助用戶(hù)及時(shí)處理系統中的錯誤。
管理Bug的"程序"
在董美婷看來(lái),Bug產(chǎn)生的來(lái)源可以分為流程錯誤和程序錯誤。
流程錯誤是非常致命的,它會(huì )導致系統無(wú)法實(shí)現用戶(hù)的需求,它通常發(fā)生于項目規劃和設計階段。對于這方面的錯誤,SAP有相應的機制加以控制。在用戶(hù)需求分析過(guò)程中,產(chǎn)品管理小組與用戶(hù)之間進(jìn)行協(xié)同工作,同時(shí)經(jīng)驗豐富的項目經(jīng)理和開(kāi)發(fā)經(jīng)理也會(huì )參與,最后形成的用戶(hù)需求和項目規劃文檔還要由專(zhuān)門(mén)的小組進(jìn)行周密的分析和檢查。尤其是在模塊設計階段,這種檢查更加嚴格,通常這一階段的檢查是由資深專(zhuān)家組成的小組來(lái)完成的,其成員會(huì )有來(lái)自于其他項目的,從而保證了系統設計的質(zhì)量。
程序錯誤是在所難免的,SAP除了利用測試階段的工作來(lái)減少Bug的同時(shí),還用以下手段在開(kāi)發(fā)階段盡可能地避免Bug: ①自我測試,要求開(kāi)發(fā)人員在完成自已負責的模塊后,馬上進(jìn)行測試,消除模塊內部的錯誤;②相互測試,要求開(kāi)發(fā)人員之間測試對方的模塊,由于不同開(kāi)發(fā)人員的思維、開(kāi)發(fā)方式的不同,對方會(huì )很容易找到一些自已很難發(fā)現的問(wèn)題;③代碼檢查,通常是由資深開(kāi)發(fā)人員及開(kāi)發(fā)經(jīng)理來(lái)進(jìn)行,從模塊功能、性能、可用性、編碼規范、模塊集成性等角度進(jìn)行全面檢查。這一工作會(huì )在系統實(shí)現的各個(gè)階段定期進(jìn)行。SAP還提供了如CATT等輔助測試工具。
對于系統的后期維護階段,SAP也有對Bug的完整的管理流程。這可以以開(kāi)發(fā)支持為例來(lái)說(shuō)明。例如,當用戶(hù)系統發(fā)現Bug時(shí),如果當地支持和地區支持都無(wú)法處理時(shí),此維護請求會(huì )被提交相關(guān)負責的開(kāi)發(fā)人員。開(kāi)發(fā)人員負責盡快修改用戶(hù)系統中的Bug,或為用戶(hù)提出修改建議和解決方案,同時(shí),也需要在更正(Correction)系統中進(jìn)行修改,以便以補?。?span>Patch)的方式提供給所有用戶(hù)。但對Correction系統中的修改有非常嚴格的管理,并需要一定的步驟:①與開(kāi)發(fā)經(jīng)理討論并征得許可; ②在OSS系統中創(chuàng )建修改申請,并對Bug所在版本、癥狀、解決方案作出詳細的描述和解釋?zhuān)鳛橛脩?hù)/顧問(wèn)將來(lái)處理此Bug的參照;③開(kāi)發(fā)人員在Correction系統中修改程序,消除Bug,同時(shí)要求進(jìn)行仔細的測試;④開(kāi)發(fā)人員將修改請求轉給另外的開(kāi)發(fā)人員,通常是開(kāi)發(fā)經(jīng)理或資深的開(kāi)發(fā)人員,由其來(lái)進(jìn)行更嚴格的測試,此次測試不但要測試Bug是否真正解決,還要確認對程序的修改是否影響了其他程序或模塊,以避免帶來(lái)新的問(wèn)題。
這些修改會(huì )定期以Hot Package和Hot News的方式提供給用戶(hù),用以修改用戶(hù)系統中的Bugs,但由于R/3各模塊之間的相關(guān)性/依賴(lài)性很強,Patch的發(fā)布需要各模塊特別是應用模塊與Basis模塊之間的協(xié)調和同步。
開(kāi)發(fā)系統夢(mèng)之隊
在SAP的開(kāi)發(fā)系統中,七種角色的設計保證了整個(gè)SAP研發(fā)系統有條不紊、緊張有序地進(jìn)行。首先,在戰略層面,不同的資深副總裁(SVP) 或副總裁 (VP)會(huì )總體負責一個(gè)特定的領(lǐng)域,從企業(yè)戰略高度出發(fā)把握系統的發(fā)展和開(kāi)發(fā)方向,并對公司的產(chǎn)品結構和市場(chǎng)起著(zhù)決定性的作用,同時(shí)控制產(chǎn)品開(kāi)發(fā)的進(jìn)展和成本。
其次,行業(yè)解決方案小組(IBS)和核心應用模塊領(lǐng)導小組(Core)分別就各自管理的領(lǐng)域協(xié)調管理項目前期的項目需求、規劃工作,二者也有非常密切的關(guān)系,即IBS就新的開(kāi)發(fā)需求對核心應用模塊提出新的開(kāi)發(fā)建議并隨時(shí)監控開(kāi)發(fā)進(jìn)展,而Core應用開(kāi)發(fā)在開(kāi)發(fā)產(chǎn)品的同時(shí),會(huì )響應IBS新的開(kāi)發(fā)請求,為新的解決方案提供支持。
在SAP,計劃總監(Program Directors)是一種特殊的角色,計劃總監管理所領(lǐng)導部門(mén)的項目開(kāi)發(fā)計劃,負責開(kāi)發(fā)資源的調配,根據項目分析方案決定項目最終的功能與方向,并監控具體項目的進(jìn)展情況。
項目經(jīng)理負責一個(gè)項目的計劃管理,包括功能模塊的劃分、成本及開(kāi)發(fā)進(jìn)度的估算、資源調配、狀態(tài)報告等,并負責協(xié)調產(chǎn)品管理、各開(kāi)發(fā)小組、質(zhì)量管理的工作。
產(chǎn)品經(jīng)理(PM)和其領(lǐng)導的產(chǎn)品管理小組負責分析解釋來(lái)自于用戶(hù)的各種需求,并參與制定用戶(hù)需求文檔和開(kāi)發(fā)請求,所以,全面的行業(yè)應用背景是對產(chǎn)品經(jīng)理最重要的要求,同時(shí)也要求對R/3有一定的理解。產(chǎn)品管理小組在整個(gè)開(kāi)發(fā)過(guò)程還有其他工作: ①協(xié)助項目經(jīng)理及模塊負責人完成模塊設計; ②在開(kāi)發(fā)階段,與開(kāi)發(fā)人員及文檔開(kāi)發(fā)人員密切協(xié)作,為程序開(kāi)發(fā)和制作文檔提供幫助;③參與系統測試,培訓用戶(hù)及提供咨詢(xún)服務(wù)。
開(kāi)發(fā)經(jīng)理(DM)領(lǐng)導各個(gè)開(kāi)發(fā)小組,負責分析用戶(hù)需求(根據用戶(hù)需求文檔,同時(shí)也有可能直接與用戶(hù)對話(huà)),規劃設計所負責模塊的程序對象,估計各個(gè)開(kāi)發(fā)階段的開(kāi)發(fā)工作量和進(jìn)度,從而對整個(gè)進(jìn)程加以控制。開(kāi)發(fā)經(jīng)理是SAP各項目開(kāi)發(fā)中的中堅力量,也是SAP為此而自豪的精華,他們都有多年的開(kāi)發(fā)和應用經(jīng)驗,對R/3系統及ERP系統有非常深刻的認識,從而保證了R/3系統的先進(jìn)性和穩定性。開(kāi)發(fā)經(jīng)理不但提供了系統設計,而且還要直接與開(kāi)發(fā)人員交流,調配資源,保證系統的實(shí)現; 同時(shí),在系統測試、產(chǎn)品維護等方面也起著(zhù)非常重要的作用。應該說(shuō),開(kāi)發(fā)經(jīng)理是整個(gè)項目開(kāi)發(fā)的核心。通常,在一個(gè)項目中,產(chǎn)品經(jīng)理和開(kāi)發(fā)經(jīng)理的配備比例是1∶3。
質(zhì)量經(jīng)理(QM)和其領(lǐng)導的小組負責根據用戶(hù)需求文檔、設計文檔等設計完整的測試文檔,并在產(chǎn)品管理小組、開(kāi)發(fā)小組及用戶(hù)/顧問(wèn)的協(xié)助下完成對最終系統的測試工作。質(zhì)量經(jīng)理往往要求對產(chǎn)品的實(shí)際應用、R/3技術(shù)甚至R/3項目的開(kāi)發(fā)都有非常深刻的理解,而且經(jīng)驗也是很重要的一個(gè)條件。作為系統的最后一關(guān),SAP對質(zhì)量經(jīng)理的要求是非常高的,其結果是保證了R/3
聯(lián)系客服