新朋友點上方藍字“ERP之家”快速關注
導讀:根據筆者多年在企業中實施及推進ERP,概的實戰經驗,闡述了ERP系統二次開發的必然性和二次發開的成因及存在的風險,提出如何合理地規避二次開發所帶來的風險,值得為實施ERP系統項目的企業借鑒和參考。
隨著信息技術的進步和激烈市場競爭的多元化,企業采用引進ERP這種具有最先進的管理思想和方法的信息系統,以提高企業的整體效率和市場競爭能力。盡管國內外一些著名公司基于自身的信息技術并根據企業整合的方法論開發出完整且復雜的ERP系統,但由于各企業的都有自己獨特的管理理念與企業文化特點,必然會存在一些無法滿足企業本身需求或與企業產生不適合的情況,雖然系統通過參數可調的形式可以部分滿足不同用戶的需求,但很多情況下還是達不到要求,就需要改動原有程序、甚至修改原始數據庫結構的二次開發來完成。
筆者作為企業的IT主管,歷經了Oracle ERP系統實施、二次開發的全過程,在多年實踐的基礎上,積累了豐富的經驗并在這方面做了一定的研究。該文從二次開發的產生原因、可能帶來的風險及如何規避風險等方面進行闡述。
ERP系統二次開發的產生原因
1.用戶不愿意改變現有的操作習慣
對于任何一套ERP軟件產品為了具有較強的通用性,軟件功能是標準的,流程設置是規范化的。但企業實施ERP時,除了在業務流程等方面具有個性化需求外,還存在著一些不涉及業務流程的、由企業的特殊性而產生的操作習慣需求,而提出了大量的二次開發。
2.企業不合理的管理制度造成的特殊流程需求
主要表現在企業想把現有的手工流程、手工作業一成不變的搬到ERP中去,而不分析ERP現有的流程與本企業原有的流程的優劣性,固執的堅持采用目前的管理手段、管理習慣,要進行必須二次開發來滿足其需求。
3.ERP軟件確實無法滿足的需求
ERP系統是一個套裝軟件,屬于行業通用的,而每個企業是有其自身的特點,確實存在著一些個性的業務流程需求,要進行二次開發,既要吸納軟件中的先進管理思想,也要保持企業的特色。
4.接口需求
企業的信息化建設涉及多套系統,如筆者企業軟件系統包括Pro/E、CAD、PDM、CAPP等,而各系統的數據之間存在信息共享,產生系統接口需求,二次開發也成為必然的。
5.新的需求產生
隨著項目的實施,企業人員對信息系統有了更深的了解,應用不斷深入,對信息系統產品就會提出更多的要求,來提升企業管理水平。
ERP系統二次開發的可能帶來的風險
1.ERP系統二次開發會增加系統升級的難度
ERP供應商會階段性的對系統新功能擴充,推出新的版本。系統的升級只針對標準版的,不會考慮到用戶化和二次開發部分,所以系統二次開發工作大部分要重新修改或者開發,有些甚至無法再升級了,這是二次開發的最致命的弊端。
2.ERP系統二次開發會降低系統穩定性
成熟ERP軟件是由優秀的團隊經過數年或者數十年的開發研制并在大批用戶的驗證下成長的,具有較高的穩定性。而二次開發只對單一用戶的需求,對某局部的更改往往因為沒有考慮對全局的影響而殃及整個系統的穩定性,并且二次開發的測試和試運行時間有限,出現BUG的機率較多,系統復雜度以及耦合度增大,降低系統的穩定性。
3.二次開發有時會偏離企業實施ERP系統獲得管理水平的提升、優化企業流程的最初目標
二次開發需求往往會使ERP系統合理的邏輯屈服于企業固有的、習慣的工作方法,也會因提高不同部門員工使用系統的效率,而影響流程的穩定性。
4.二次開發要求會增加ERP項目的成本
因為軟件的規模效應,產品軟件的價格相對于其功能是相當低的。而二次開發只針對唯一用戶,所以這些程序開發的全部成本由其承擔,即使用企業自行二次開發,也要投入人力、物力,勢必增加ERP項目的成本。
ERP二次開發的風險控制
盡管各企業ERP二次開發是不盡相同的,但必須把握好二次開發的原則:實施ERP二次開發項目的目的是提升企業的管理水平,優化企業的流程。因提升個別工作效率而會影響業務流程的穩定性,堅決不做;因工作效率提升,并未對業務流程以及管理水平有幫忙的開發,盡量少做。基于此原則,針對二次開發風險的控制做如下總結。
1.對整個企業的業務進行IT規劃,二次開發要求的合理性分析,要有所取舍
對于機械制造企業,會涉及到CAD、PDM、CAPP、ERP、MES系統,并存在接口集成等,因此要根據企業的實際,從業務流程的整體角度去考慮,而不是從某個功能點或某個業務部門去考慮。企業不應過多的強調自身的特點,必定ERP中的管理流程是從許多企業中提煉出來的,具有一定的先進性和合理性。而有些特殊之處是由于企業流程自身的不合理產生的,應通過ERP的實施,對企業的業務流程進行優化或重組,而不是一味修改軟件以適應不合理的流程。
2.盡量利用原有的“閑置”字段,避免改動數據庫結構
對于那些會牽涉到新增字段或檔案,而影響到原有數據庫結構的開發,盡量利用系統原有的“閑置”字段,不要輕易新增字段或文件檔案。如確實需要的要與原開發商進行確認,以避免二次開發與產品發展方向重疊或沖突,以降低日后版本升級的困擾。
3.不要隨意修改核心代碼,新功能自成模塊
要嚴格遵守不修改核心代碼這一原則。如果必須開發,則應盡量使得二次開發的功能模塊獨立于原來的ERP系統。這樣當ERP系統版本更新時,二次開發出來的模塊無需修改或者只需較少的修改就可以應用于高版本的ERP系統。
4.建立二次開發的規范
ERP是一項龐雜的系統工程,ERP二次開發要建立一套完整的開發流程、開發標準。新擴充的字段、新建程序的命名制定統一規范,并且要預留擴充空間。公用組件不建議修改,程序的編寫應采用繼承的方式。
5.加強IT隊伍建設,避免開發人員流失
培養一支既懂管理科學又懂信息技術的復合型、專業化人才隊伍是企業信息化建設韻重中之重。留住IT人才也是規避企業ERP二次開發風險的策略。
結語
企業ERP系統二次開發具有十分重要的意義,該文旨在從中總結出一些普遍性的經驗和教訓。對提高ERP實施的成功率和實施效益具有參考價值,從而使得ERP能夠真正的發揮作用,提高企業的核心競爭力,推動企業的發展。
附錄:
關于ERP“二次開發”,怎樣才不被坑!
來源:erplabs
ERP廠商經常會有這樣的抱怨:起初的幾個月進行項目分析和討論,用戶也認可了,ERP系統做出后,結果這時候客戶要進行“二次開發”…然后事情就變得復雜跟原先預期距離拉遠,最后導致“變質”...
對于企業的信息化系統來說,其實軟件方面來說真需要二次開發才會合適。那么如何挖掘出這部分軟件的潛力讓企業拿到實惠在開發中?
企業應選擇通用還是實際?
試問有哪個企業愿巨額投入開發?例如處理文檔、表格、財務等方面,很多成型軟件在這個市場中,因此在選擇上,優先注重的會是適合通用系統。
許多的信息化軟件只為滿足國家層面的要求,針對企業實際來說,通用方面功能滿足了,其實還會需要ERP系統提供企業內部的管理信息。按照行業、模塊開發的ERP系統,最初會按照一定參數來設定,但根據企業的發展規模、周期等因素差異導致除通用功能外還會有二次要求,因此還需適當調整。
企業本身特點該不該強調?
企業在做二次開發的時候,其實軟件中管理流程已經是經過千錘百煉的提煉,所以沒有必要太多的強調自身特點。而許多企業刻意去強調的是源于本身的不合理的業務流程或者優化和重組。這不應該去建立在對軟件的修改開發上。不能讓軟件去適應流程。
不要修改核心的代碼是軟件自身體系的基本原則。企業的需求不能被滿足,就要從ERP中導出數據再導入系統。盡量以小的改動去滿足需求也是為之后的升級做打算。二次開發應該在技術人員指導下進行,因為可以充分的利用現有的數據庫條件以及將數據的價值最大化。
擴大數據使用范圍是指將ERP系統中的數據有計劃地通過公司自行開發的系統提供給其他不使用ERP系統的人員,擴大共享范圍。 從工程角度來說,這是一個復雜的大型工程,開發者應該保持絕對的原則并且對項目要保證可控性。因此,二次開發中,修改不宜多。
技術人員需要多專業?
從事二次開發的人員既要熟悉軟件的功能和相應數據庫中表的結構,又要充分理解用戶的特殊業務流程,這需要一定的時間和工作的,甚至可能會使項目延期;再者,改動軟件后還可能出現系統的不穩定,影響版本升級。
如果必須進行二次開發,則應盡量使得二次開發做出的功能模塊獨立于原來的ERP系統。這樣,當ERP系統版本更新時,二次開發出來的模塊無需修改或者只需較少的修改就可以應用于高版本的ERP系統。
結語
對ERP項目進行二次開發應被視為“一把手工程”,需要企業領導給予足夠重視,并且也需要軟件提供商以及相關的企業內部人員給予足夠的重視。只有這3方面的力量都重視了,管控嚴了,項目才能按期并保質保量地交付。
免責聲明:
ERP之家鼓勵原創行為,本文因轉載眾多無法找到原作者。
如有異議或知曉原作者,請聯系或告知本編!
e-works國際考察火速報名↓【2019年12.8-15】第六屆日本智能工廠考察