ERP實施過程中,由于各企業情況不同,必然會存在一些無法滿足企業需求的情況,雖然系統通過參數調整可以滿足部分需求,但很多情況下都需要改動原有程序、甚至需要修改原始數據庫結構來滿足需求。
ERP系統二次開發的原因
1.用戶不接受新系統的操作習慣
ERP產品為了保持較強的通用性,功能跟流程的設置都是標準與規范的。但在實施時,除了業務流程等方面具有個性化需求外,還存在著一些不涉及業務流程的、由企業的特殊性而產生的操作習慣需求,而提出了大量的二次開發。
2.企業不規范的管理制度造成的特殊流程需求
大部分企業都想把現有的手工流程、手工作業全封不動的搬到ERP中去,而不分析規范化的流程與企業原有流程的優劣性,固執的堅持采用目前的管理手段、管理習慣,要進行必須二次開發來滿足其需求。
3.ERP軟件確實無法滿足的需求
ERP系統屬于行業通用軟件,但每個企業是有其自身的特點,確實也存在著一些個性需求,要進行二次開發,既要吸納軟件中的先進管理思想,也要保持企業的特色。
4.接口需求
信息化建設涉及多套系統,如OA、電商平臺等,而各系統的數據之間存在信息共享,有系統接口需求,二次開發也成為必然。
5.新的需求產生
隨著項目實施的不斷深入,企業人員對信息系統有了更深的了解,應用不斷深入,對信息系統產品就會提出更多的要求,使系統更貼合企業運營。
ERP系統二次開發的可能帶來的風險
1.過多二次開發會增加系統升級難度
ERP供應商會階段性的對系統新功能進行完善與擴充,不斷推出新版本。系統的升級只針對標準版,不會考慮到個性化和二次開發的部分,所以二次開發工作大部分要重新修改或者開發。
2.二次開發會降低系統穩定性
成熟ERP軟件具有較高的穩定性。而二次開發只對單一用戶,某局部的更改往往因為滿足特殊需求而沒有考慮對全局的影響殃及整個系統的穩定性,并且二次開發的測試和試運行時間有限,系統復雜度以及耦合度增大,降低系統的穩定性。
3.二次開發有時會偏離企業實施ERP系統的初衷
二次開發需求往往會使ERP系統合理的邏輯屈服于企業固有的、習慣的工作方法,也會因提高不同部門員工使用系統的效率,而影響流程的穩定性。企業無法借鑒系統優化流程,學習先進管理模式。
4.二次開發增加ERP項目的成本
因為規模效應,產品軟件的價格相對于其實施費用是偏低的。而二次開發只針對唯一用戶,所以這些程序開發的全部成本由其承擔,即使用企業自行二次開發,也要投入人力、物力,必然會增加ERP項目的成本。
ERP二次開發的風險控制
盡管各企業都有不同需求,但必須把握好二次開發的原則:實施ERP二次開發項目的目的是提升企業的管理水平,優化企業的流程。因提升個別工作效率而會影響業務流程的穩定性,堅決不做;因工作效率提升,并未對業務流程以及管理水平有幫忙的開發,盡量少做。
1.對整個企業的業務進行規劃,二次開發要有所取舍
對于制造企業,會涉及到CAD、PDM、CAPP、ERP、MES系統,并存在接口集成等,因此要根據企業情況,從整體考慮,而不是從某個功能點或某個業務部門去考慮。企業不應過多強調自身的特點,畢竟ERP中的管理流程具有一定的先進性和合理性。某些特殊之處是由企業流程自身的不合理產生的,應通過ERP的實施,對企業的業務流程進行優化重組,而不是一味修改軟件以適應不合理的流程。
2.利用原有的“閑置”字段,避免改動數據庫結構
對于會牽涉到新增字段而影響到原有數據庫結構的開發,盡量利用系統原有的“閑置”字段,不要輕易新增字段或文件檔案。如確實需要的要與原開發商進行確認,以避免二次開發與產品發展方向重疊或沖突,以降低日后版本升級的困擾。
3.不要隨意修改核心代碼,新功能最好自成模塊
要嚴格遵守不修改核心代碼這一原則。如果必須開發,則應盡量使二次開發的功能模塊獨立于原來的系統。這樣當系統版本更新時,二次開發出來的模塊無需修改或者只需較少的修改就可以應用于高版本系統。
4.建立二次開發的規范
二次開發要建立一套完整的開發流程與標準。新擴充的字段、新建程序的命名制定統一規范,并且要預留擴充空間。公用組件不建議修改,程序的編寫應采用繼承的方式。
5.避免開發人員流失
培養一支既懂管理科學又懂信息技術的復合型、專業化人才隊伍是企業信息化建設韻重中之重。留住IT人才也是規避企業ERP二次開發風險的策略。
結語
企業ERP系統二次開發具有十分重要的意義,ERP實施的成功率和實施效益具有參考價值,不僅要貼合企業管理,還要助力企業全面發展。