二次開發(fā)的風(fēng)險當(dāng)用戶明確提出要二次開發(fā)的時候,則很容易出現(xiàn)項(xiàng)目延期、開發(fā)的程序不穩(wěn)定容易報錯等問題;或者用了一段時間后想再做修改,才發(fā)現(xiàn)原來當(dāng)初這樣做是不對的,但可能涉及當(dāng)初拍板決定的各方領(lǐng)導(dǎo)利益問題,所以也沒人敢改了,因此導(dǎo)致二次開發(fā)的程序成了雞肋,扔也不是,不扔也不是。
①修改報表格式或用戶查詢系統(tǒng)等不涉及程序代碼改動的需求相對簡單,因?yàn)檐浖话愣季哂袌蟊砩晒δ?,任何業(yè)務(wù)人員不需要有很多計算機(jī)知識就可以自行設(shè)置,這種情況在實(shí)施時經(jīng)過實(shí)施顧問組與用戶充分溝通一般比較容易解決。
②當(dāng)用戶需求具有個性化,并涉及改動程序代碼時,工作就很復(fù)雜了,往往需要
ERP系統(tǒng)提供支持二次開發(fā)的工具,還可能需要有廠商軟件的源程序支持,這些大都要支付額外費(fèi)用。
當(dāng)用戶提出需要代碼級二次開發(fā)時,實(shí)施顧問必須清楚與用戶溝通,否則更易陷入泥潭,因?yàn)榇a級二次開發(fā)可能會使
ERP系統(tǒng)變得越來越復(fù)雜,變成一個“四不象”的浮腫龐雜的
ERP系統(tǒng)。
一般來說,代碼級二次開發(fā)主要有以下三個方面的風(fēng)險:①易造成系統(tǒng)的不穩(wěn)定或崩潰。
ERP系統(tǒng)是個錯綜復(fù)雜的系統(tǒng),各個模塊是個有機(jī)的整體。若要修改其中的一個功能,其影響的不單單是現(xiàn)在這個功能,還可能影響到其他功能。目前實(shí)施顧問一般對
ERP代碼級二次開發(fā)的一個觀點(diǎn)是:能不做就不要做。因?yàn)?A style="FONT-SIZE: 14px; COLOR: #0000ff; TEXT-DECORATION: none" href="http://www.07zn.com/InformationCenter/system.html" target=_blank>ERP系統(tǒng)就像人的血脈那樣錯綜復(fù)雜,在二次開發(fā)的時候,如果因?yàn)樵黾拥挠脩魝€性化功能觸動了
ERP原有的大動脈,否則會大大影響其整個性能,并且開發(fā)、調(diào)試的費(fèi)用也是非常嚇人的。
②嚴(yán)重影響項(xiàng)目實(shí)施周期。代碼級二次開發(fā)的時間短則幾天,長則半月、一月,甚至也可能長達(dá)幾個月,很容易延誤項(xiàng)目實(shí)施進(jìn)程,這個因素應(yīng)該在簽定合同或者說制定項(xiàng)目實(shí)施計劃時包括進(jìn)去。
③后續(xù)維護(hù)和升級風(fēng)險大。改動軟件后還會影響以后的軟件版本升級。如果不升級,新版本的長處無法應(yīng)用。如果升級,則面臨著重新進(jìn)行二次開發(fā)的可能。因?yàn)?A style="FONT-SIZE: 14px; COLOR: #0000ff; TEXT-DECORATION: none" href="http://www.07zn.com/InformationCenter/system.html" target=_blank>ERP軟件供應(yīng)商在進(jìn)行新版本的
ERP系統(tǒng)開發(fā)時,可能根本不會考慮某個特定的用戶在舊版本上所作的二次開發(fā)。因此,在進(jìn)行二次開發(fā)前,要做認(rèn)真的分析對比。究竟是修改軟件,還是改革現(xiàn)行管理程序,還是兩者都作一些修改,對修改的必要性、效果和代價要心中有數(shù)。
反思ERP二次開發(fā)的得失
無論是實(shí)施顧問還是用戶都可能產(chǎn)生過這樣的感慨:明明是經(jīng)過幾個月的初期討論和項(xiàng)目分析,在用戶的認(rèn)可下做好了的
ERP系統(tǒng),結(jié)果由于“二次開發(fā)”,系統(tǒng)變得越來越復(fù)雜,與最初期望的效果越來越遠(yuǎn),最后猛然一看系統(tǒng)已經(jīng)完全“變味”了。因此,把握二次開發(fā)的原則很重要。
①在觀念認(rèn)識上,實(shí)施顧問應(yīng)要讓用戶清醒認(rèn)識到,不應(yīng)過多強(qiáng)調(diào)用戶自身的特點(diǎn),
ERP軟件中的管理流程是從許多企業(yè)中提煉出來的,具有先進(jìn)性和合理性。許多用戶的特殊之處都是由于流程自身的不合理產(chǎn)生的,應(yīng)該通過
ERP的實(shí)施,對企業(yè)進(jìn)行業(yè)務(wù)流程優(yōu)化或重組,而不是一味修改軟件以適應(yīng)不合理的流程。
②當(dāng)需要二次開發(fā)時,實(shí)施顧問和開發(fā)顧問應(yīng)該要嚴(yán)格遵守不修改核心代碼這一條基本原則。如果必須進(jìn)行二次開發(fā),則應(yīng)盡量使得二次開發(fā)做出的功能模塊獨(dú)立于原來的
ERP系統(tǒng)。這樣當(dāng)
ERP系統(tǒng)版本更新時,二次開發(fā)出來的模塊無需修改或者只需較少的修改就可以應(yīng)用于高版本的
ERP系統(tǒng)。
③二次開發(fā)的需求必須控制好,盡量不要在
ERP系統(tǒng)的功能還沒有充分了解是否配合用戶管理需求之前就進(jìn)行二次開發(fā)。因?yàn)橛脩舻臉I(yè)務(wù)流程并不是一成不變的,
ERP軟件中流程一般比較抽象,大的方面與用戶業(yè)務(wù)流程通??梢蕴咨?,細(xì)節(jié)部分不作修改也可以。同時,
ERP軟件不是給一個人用的,每個用戶都可能有自己想法,不可能都滿足的。部分要服從大局。項(xiàng)目按時、按預(yù)算完成實(shí)施,上線運(yùn)行是實(shí)施階段的大局,哪些二次開發(fā)必須要做,哪些可以不做,要看會不會影響大局。可做可不做的,堅決不做。