ERP實施致命傷:過度二次開發
在經過長期無休止的erp實施加班后,終于迎來了難得的半天休息,能在家舒服地看完電影《特洛伊》。其中讓我感受至深的是:古希臘神話中所向披靡的勇士阿喀琉斯最怕腳后跟受傷,因為這是他的致命“命門”。其實erp實施也有最怕觸及到的致命“命門”,就是過度二次開發。
作為一個erp實施顧問,目前我正協助客戶上線erp項目,這是客戶有史以來最大的it項目。經過大半年的實施,此erp項目卻陷于困境。原因是客戶對erp實施二次開發的誤解和隨意性,使項目陷于前無進路,后無退路的局面。據有關數據統計表明,erp實施最大的一個致命傷是過度二次開發。因為隨意性的二次開發最后都會演變成一個對系統無休止的修改過程,最終會把客戶和實施廠商都拖進泥潭難以自拔,而開發人員和實施顧問則會心力交碎,痛苦不堪。 客戶固執己見是過度二次開發的導火線 在我做erp實施顧問的第一天,上司告訴我兩條基本準則:第一條準則是要堅持以客戶真實需求為驅動力;第二條準則是作為實施顧問,一定要堅決不贊同客戶進行太多的二次開發。因為過多的二次開發不僅會增加軟件的不穩定性,還會延長項目實施周期,從而增加項目成本,故必須要用盡各種各樣的辦法把客戶需求向erp軟件已有的流程上走。 這兩個準則看起來相互矛盾,但在經過這個項目后,我才深刻的理解到它的本質含義。在這個項目中,客戶固執的認為只有進行二次開發才能真正發揮它們個性化的流程潛力。但這卻是一個很大的誤區,客戶的固執或偏見主要是表現在以下方面: (1)不愿意改變現有的操作習慣 一般來說,erp軟件產品為了具有較強的通用性,軟件功能是比較標準,流程設置相對規范化。因為對于任何erp軟件來說,通用性是首要考慮的問題之一。但這個客戶除了在業務流程等方面具有個性化需求外,還存在著一些不涉及業務流程的、由企業的特殊性而產生的操作習慣需求。 客戶是一個老國企,在界面習慣和操作習慣上提出了非常多的特殊要求,客戶領導固執的認為一定要按他們的習慣進行二次開發,以滿足他們原有的操作模式。例如,一般erp軟件都會提供通用的單據格式,但這個客戶卻有自己習慣的一套單據格式。在erp實施時,客戶第一個問題就是問能否按這個格式打印。其實,這是本末倒置的,只要該有的內容有了,沒有必要一成不變的按原有的格式。也許erp系統提供的格式更加合理,就算是二次開發,也許等格式修改好了,客戶也許早就適應了這個新的格式。 但這樣的操作習慣問題在實施時是經常出現的,在與客戶溝通這些無關痛癢的問題上常常讓我費盡心力,舌根冒火才勉強說服客戶同意先試用單據格式。結果不但造成項目延期,而且還把大家的注意力轉移到無關的次要流程上,吃力不討好現象時常發生。實際上,只有當碰到無法通過調節參數來完成,或者報表功能和格式真的是不適應時,才應該通過二次開發來實現。 (2)不合理的管理制度造成的特殊流程需求 主要表現在客戶想把現有的手工流程、手工作業一成不變的搬到erp中去,其實這是非常不正確的,這是換湯不換藥的做法。當我與客戶領導進行溝通時,分析erp現有的流程與客戶原有的流程的優劣性比較時,客戶用一句話把我頂回來了,就是他們一直都是這樣做的,而且還做得不錯。他們就是用這樣的管理手段才得已發展到目前的規模,而且以后還打算一直用他們習慣的方式去管理,因此必須要進行二次開發以配合它們就算是看起來不合理的特殊流程。 (3)erp軟件確實無法滿足的需求 當然,有時客戶確實存在著一些個性的業務流程需求,erp系統是無法滿足,畢竟erp是一個套裝軟件,而不是根據客戶量身定制的。針對這種需求,即使通過各種各樣的實施方法后,也沒有找到更好的處理方式,就應該進行二次開發了。 在針對客戶頻繁的二次開發需求,我們把利弊向客戶陳述清楚,并說明無數的事實證明過度的二次開發的案例最終是會失敗的。而且許多開發需求已經超出erp軟件廠商應該負責的部份,需要額外簽訂二次開發合同和增加費用。最后,財大氣粗的客戶領導決定擴充原有的it部門開發組,由客戶自行進行二次開發。 無節制過度二次開發的弊端 erp軟件在實施的過程中總會遇到這樣那樣的問題,其中最讓實施顧問頭痛的是客戶領導一時意氣用事,好高騖遠而造成的無節制的二次開發。這不但成本過高,而且越改越讓erp項目難以實施,陷入進退兩難的困境。 (1)無節制二次開發,erp系統容易走樣 客戶老總在erp實施前就為實施定了調:現有的業務流程不能大改,只能逐步優化。因此,作為實施顧問的我在與客戶業務部門討論解決方案前采取了如下應對策略:先培訓客戶盡快熟悉erp系統功能,勸說客戶采用系統已有的相似功能,減少一些無謂的開發,系統沒有的功能才考慮是否要開發。因為軟件已經在數百家企業使用,管理思想是非常先進和合理的,而且大量二次開發不但會有開發的風險,延長了實施周期,還會對系統升級帶來諸多不便。但客戶堅持開發的理由是:①目前使用的流程是經過實踐檢驗了的,只是需要更進一步完善;②erp流程或許先進,但現有流程不可能因為實施erp而大改,太大的調整將導致上下銜接不順。 就這樣,實施小組和業務部門討論、協商、爭論了個把月,結果是一大堆的二次開發需求擺在面前。然而,過度二次開發后的結果是:項目延期,開發的程序不穩定,容易出錯。用了一段時間后,發現還不能滿足業務流程的需要,于是再做修改。實際上,這樣二次開發就會存在兩大問題:第一是由于二次開發過多,系統變得越來越復雜,與最初期望的效果越來越遠,最后猛然一看,系統已經完全“變味”了。第二,由于客戶二次開發能力有限或者系統柔性度較差,造成客戶在這方面的投入很大但產生的效益甚微,后者也正是客戶在二次開發中陷入窘境的主要原因。 (2)開發工作量過大,項目容易陷入困境 在初步估算開發量后,客戶深知開發任務的艱巨,于是要求軟件廠商調派高級技術顧問作技術指導和支持。然而,由于客戶自行組建的開發團隊以前都未接觸過erp軟件的開發,同時還要維護公司的其他系統,開發人員一直處于三心二意之中。因此,起步格外吃力。而且事情越發展下去越糟糕,由于客戶開發人員在項目中多次被投訴進度慢,客戶公司在例行的加薪中就沒有給開發人員加薪,這些令他們怒不可遏,本來開發就挺累的,而且累了公司還沒有重視他們的價值。在后來的開發中,他們就沒有象開始那么積極和負責了,整個項目開始陷入不正常之中。 項目就在開發人員的三心二意中繼續,本來確定的上線日期也因為項目需求的反復調整而一拖在拖。眼看再不上線,整個項目將要嚴重滯后,客戶不得不強行上線。結果是項目上線后,業務部門在使用中逐漸暴露出了許多問題,不是今天這個報表運行出錯,就是明天那個功能計算有誤,整個項目實施團隊被迫陷入救火當中,盡管開發人員對前期的開發程序進行了修修補補,但問題還是層出不窮,不時接到業務部門的抱怨和不滿,整個企業迷漫了對erp失敗的看法,原來美好的愿望在現實中被擊得粉碎。 避免過度二次開發的策略和方法 當客戶提出需要大量二次開發時,如果實施顧問控制不善就非常容易會出現項目延期,開發的程序不穩定,或者需求反復更改。因此,實施顧問必須要盡量引導客戶思路,避免客戶陷入過度二次開發的怪圈。這里和大家分享我總結的幾點經驗: (1)應引導客戶對二次開發的正確認識 在觀念認識上,實施顧問應要讓客戶清醒認識到,不應過多的強調自身的特點,erp軟件中的管理流程是從許多企業中提煉出來的,具有一定的先進性和合理性。許多用戶的特殊之處都是由于流程自身的不合理產生的,應該通過erp的實施,對企業進行業務流程優化或重組,而不是一味修改軟件以適應不合理的流程。 (2)嚴格遵守不隨意修改核心代碼,新功能應獨立成模塊 當需要二次開發時,應該要嚴格遵守不修改核心代碼這一條基本原則。如果必須進行二次開發,則應盡量使得二次開發做出的功能模塊獨立于原來的erp系統。這樣當erp系統版本更新時,二次開發出來的模塊無需修改或者只需較少的修改就可以應用于高版本的erp系統。 (3)嚴格審核需求,不隨意二次開發 二次開發的需求必須控制好,盡量不要在erp系統的功能還沒有充分了解是否滿足客戶需求之前就進行二次開發。因為用戶的業務流程并不是一成不變的,erp軟件中流程一般比較抽象,大的方面與用戶業務流程通常可以套上,細節部分就不應作過多的修改。例如,要明確這些原則:可做可不做的,堅決不做;某些無關痛癢的流程和界面的調整,也應該緩改或者不改。因為由于使用的不便等原因而對系統改這改那,很容易犯了拆東墻補西墻的錯誤,導致軟件開發了客戶卻不能用或不愿用的尷尬局面。 (4)合適的開發工作量是重中之重 作為一個開發項目來說,合適的開發工作量是很重要的。如果開發工作量過大,再加上沒有相應的獎懲措施,那么就會無法調動開發團隊的積極性,也就無法進行持續的二次開發,項目陷入困境也就是必然的事情了。 該文章在 2010/7/25 0:29:59 編輯過 |
關鍵字查詢
相關文章
正在查詢... |