華智分享:ERP實(shí)施之冗余的二次開發(fā)
發(fā)表于:2019/10/29 9:03:21??閱讀量: [關(guān)閉]
導(dǎo)讀:多數(shù)情況下,二次開發(fā)都會(huì)演變成一個(gè)對(duì)ERP系統(tǒng)無休止的修改過程,最終會(huì)把用戶和廠商都拖進(jìn)泥潭難以自拔,而開發(fā)和實(shí)施顧問則會(huì)心力交瘁。
固執(zhí)己見的客戶
在我做ERP實(shí)施顧問的第一天,上司告訴我第一條準(zhǔn)則就是要以用戶需求為驅(qū)動(dòng)。然后,上司又告訴我第二條準(zhǔn)則:作為實(shí)施顧問要堅(jiān)決不贊同用戶進(jìn)行太多的二次開發(fā),過多的二次開發(fā)不僅會(huì)增加軟件的不穩(wěn)定性,還會(huì)延長(zhǎng)實(shí)施項(xiàng)目的周期,從而增加項(xiàng)目成本,要用盡各種各樣的辦法把用戶需求向ERP軟件已有的流程上走。這兩個(gè)看起來相互矛盾的準(zhǔn)則,令我在近期一個(gè)ERP項(xiàng)目實(shí)施過程中感到左右為難。
用戶是一個(gè)老國(guó)企,在界面上和操作上提出非常多的特殊要求,固執(zhí)地要求按他們的習(xí)慣進(jìn)行二次開發(fā),以滿足他們?cè)械牟僮髂J健R话銇碚f,我們的ERP軟件產(chǎn)品為了具有較強(qiáng)通用性,軟件功能已經(jīng)比較標(biāo)準(zhǔn),流程設(shè)置也相對(duì)規(guī)范化。雖然通過參數(shù)可調(diào)的形式可以部分滿足不同用戶的需求,但很多情況下這種“輕度”靈活會(huì)失效。
用戶的固執(zhí)或偏見主要是表現(xiàn)在這幾面:
①不愿意改變現(xiàn)有的操作習(xí)慣。
用戶想把現(xiàn)在的手工流程、手工作業(yè)一成不變地搬到ERP中去,而這恰恰是換湯不換藥的做法。當(dāng)我對(duì)用戶分析ERP現(xiàn)有的流程與用戶原有的流程的優(yōu)劣性比較時(shí),用戶一句話就把我頂住,說我們一直是這樣做,而且還做得不錯(cuò),我們就是用這樣的管理手段得到發(fā)展,并且獲得了上你們ERP系統(tǒng)的資金,以后還打算一直用我們習(xí)慣的方式去管理。
用戶除了在業(yè)務(wù)流程等方面具有個(gè)性化需求外,往往還存在著一些不涉及業(yè)務(wù)流程的、由企業(yè)的特殊性而產(chǎn)生的個(gè)性化需求,例如單據(jù)/表格的格式。一般ERP都會(huì)提供通用的單據(jù)格式,而用戶又有自己習(xí)慣的一套單據(jù)格式。因此在實(shí)施時(shí),企業(yè)上來就問能否按這個(gè)格式打印。其實(shí),這是本末倒置,只要該有的內(nèi)容有了,沒有必要一成不變的按原有的格式。
這樣的問題在我參與的實(shí)施中時(shí)常出現(xiàn),與用戶溝通常常讓我費(fèi)盡心力,舌根冒火才勉強(qiáng)說服用戶同意先試用單據(jù)格式。這樣不但容易造成項(xiàng)目延期,而且還把大家注意力轉(zhuǎn)移到無關(guān)系統(tǒng)的邊緣流程上,吃力不討好現(xiàn)象時(shí)常發(fā)生。
只有當(dāng)碰到無法通過調(diào)節(jié)參數(shù)來完成;或者報(bào)表功能真是不適應(yīng)用戶需求時(shí)導(dǎo)致報(bào)表樣式、內(nèi)容要改變,這些情況才應(yīng)該通過二次開發(fā)來實(shí)現(xiàn)。這種因操作習(xí)慣提出的二次開發(fā)主要針對(duì)用戶各類報(bào)表系統(tǒng)的查詢,打印格式和字段標(biāo)準(zhǔn)化等方面。
②不合理的管理制度造成的特殊流程需求。
用戶有些二次開發(fā)需求,是原先不合理的管理制度和流程所造成的。因此,我們首先要做的是判斷其要求的合理性,然后深入到一線去找出真正的需求。而無數(shù)的事實(shí)證明,大量由于不合理的管理流程需求提出要二次開發(fā)的案例最終都失敗了。
③ERP軟件確實(shí)無法滿足需求。
當(dāng)然,每個(gè)用戶確實(shí)都存在著一些ERP無法滿足的個(gè)性業(yè)務(wù)流程需求,畢竟ERP是一個(gè)套裝軟件,而不是根據(jù)用戶量身定制的。針對(duì)這種需求,即使通過各種各樣的實(shí)施方法后,也沒有找到更好的處理方式,那只好進(jìn)行二次開發(fā)了。
二次開發(fā)的風(fēng)險(xiǎn)
當(dāng)用戶明確提出要二次開發(fā)的時(shí)候,則很容易出現(xiàn)項(xiàng)目延期、開發(fā)的程序不穩(wěn)定容易報(bào)錯(cuò)等問題;或者用了一段時(shí)間后想再做修改,才發(fā)現(xiàn)原來當(dāng)初這樣做是不對(duì)的,但可能涉及當(dāng)初拍板決定的各方領(lǐng)導(dǎo)利益問題,所以也沒人敢改了,因此導(dǎo)致二次開發(fā)的程序成了雞肋,扔也不是,不扔也不是。
①修改報(bào)表格式或用戶查詢系統(tǒng)等不涉及程序代碼改動(dòng)的需求相對(duì)簡(jiǎn)單,因?yàn)檐浖话愣季哂袌?bào)表生成功能,任何業(yè)務(wù)人員不需要有很多計(jì)算機(jī)知識(shí)就可以自行設(shè)置,這種情況在實(shí)施時(shí)經(jīng)過實(shí)施顧問組與用戶充分溝通一般比較容易解決。
②當(dāng)用戶需求具有個(gè)性化,并涉及改動(dòng)程序代碼時(shí),工作就很復(fù)雜了,往往需要ERP系統(tǒng)提供支持二次開發(fā)的工具,還可能需要有廠商軟件的源程序支持,這些大都要支付額外費(fèi)用。
當(dāng)用戶提出需要代碼級(jí)二次開發(fā)時(shí),實(shí)施顧問必須清楚與用戶溝通,否則更易陷入泥潭,因?yàn)榇a級(jí)二次開發(fā)可能會(huì)使ERP系統(tǒng)變得越來越復(fù)雜,變成一個(gè)“四不象”的ERP系統(tǒng)。
一般來說,代碼級(jí)二次開發(fā)主要有以下三個(gè)方面的風(fēng)險(xiǎn):
①易造成系統(tǒng)的不穩(wěn)定或崩潰。
ERP系統(tǒng)是個(gè)錯(cuò)綜復(fù)雜的系統(tǒng),各個(gè)模塊是個(gè)有機(jī)的整體。若要修改其中的一個(gè)功能,其影響的不單單是現(xiàn)在這個(gè)功能,還可能影響到其他功能。目前實(shí)施顧問一般對(duì)ERP代碼級(jí)二次開發(fā)的一個(gè)觀點(diǎn)是:能不做就不要做。因?yàn)镋RP系統(tǒng)就像人的血脈那樣錯(cuò)綜復(fù)雜,在二次開發(fā)的時(shí)候,如果因?yàn)樵黾拥挠脩魝€(gè)性化功能觸動(dòng)了ERP原有的大動(dòng)脈,則會(huì)大大影響其整個(gè)性能,并且開發(fā)、調(diào)試的費(fèi)用也是非常嚇人的。
②嚴(yán)重影響項(xiàng)目實(shí)施周期。
代碼級(jí)二次開發(fā)的時(shí)間短則幾天,長(zhǎng)則半月、一月,甚至也可能長(zhǎng)達(dá)幾個(gè)月,很容易延誤項(xiàng)目實(shí)施進(jìn)程,這個(gè)因素應(yīng)該在簽定合同或者說制定項(xiàng)目實(shí)施計(jì)劃時(shí)包括進(jìn)去。
③后續(xù)維護(hù)和升級(jí)風(fēng)險(xiǎn)大。
改動(dòng)軟件后還會(huì)影響以后的軟件版本升級(jí)。如果不升級(jí),新版本的長(zhǎng)處無法應(yīng)用。如果升級(jí),則面臨著重新進(jìn)行二次開發(fā)的可能。因?yàn)镋RP軟件供應(yīng)商在進(jìn)行新版本的ERP系統(tǒng)開發(fā)時(shí),可能根本不會(huì)考慮某個(gè)特定的用戶在舊版本上所作的二次開發(fā)。因此,在進(jìn)行二次開發(fā)前,要做認(rèn)真的分析對(duì)比。究竟是修改軟件,還是改革現(xiàn)行管理程序,還是兩者都作一些修改,對(duì)修改的必要性、效果和代價(jià)要心中有數(shù)。
反思ERP二次開發(fā)的得失
無論是實(shí)施顧問還是用戶都可能產(chǎn)生過這樣的感慨:明明是經(jīng)過幾個(gè)月的初期討論和項(xiàng)目分析,在用戶的認(rèn)可下做好了的ERP系統(tǒng),結(jié)果由于“二次開發(fā)”,系統(tǒng)變得越來越復(fù)雜,與最初期望的效果越來越遠(yuǎn),最后猛然一看系統(tǒng)已經(jīng)完全“變味”了。因此,把握二次開發(fā)的原則很重要。
①在觀念認(rèn)識(shí)上,實(shí)施顧問應(yīng)要讓用戶清醒認(rèn)識(shí)到,不應(yīng)過多強(qiáng)調(diào)用戶自身的特點(diǎn),ERP軟件中的管理流程是從許多企業(yè)中提煉出來的,具有先進(jìn)性和合理性。許多用戶的特殊之處都是由于流程自身的不合理產(chǎn)生的,應(yīng)該通過ERP的實(shí)施,對(duì)企業(yè)進(jìn)行業(yè)務(wù)流程優(yōu)化或重組,而不是一味修改軟件以適應(yīng)不合理的流程。
②當(dāng)需要二次開發(fā)時(shí),實(shí)施顧問和開發(fā)顧問應(yīng)該要嚴(yán)格遵守不修改核心代碼這一條基本原則。如果必須進(jìn)行二次開發(fā),則應(yīng)盡量使得二次開發(fā)做出的功能模塊獨(dú)立于原來的ERP系統(tǒng)。這樣當(dāng)ERP系統(tǒng)版本更新時(shí),二次開發(fā)出來的模塊無需修改或者只需較少的修改就可以應(yīng)用于高版本的ERP系統(tǒng)。
③二次開發(fā)的需求必須控制好,盡量不要在ERP系統(tǒng)的功能還沒有充分了解是否配合用戶管理需求之前就進(jìn)行二次開發(fā)。因?yàn)橛脩舻臉I(yè)務(wù)流程并不是一成不變的,ERP軟件中流程一般比較抽象,大的方面與用戶業(yè)務(wù)流程通常可以套上,細(xì)節(jié)部分不作修改也可以。同時(shí),ERP軟件不是給一個(gè)人用的,每個(gè)用戶都可能有自己想法,不可能都滿足的。部分要服從大局。項(xiàng)目按時(shí)、按預(yù)算完成實(shí)施,上線運(yùn)行是實(shí)施階段的大局,哪些二次開發(fā)必須要做,哪些可以不做,要看會(huì)不會(huì)影響大局??勺隹刹蛔龅?,堅(jiān)決不做。(圖文來源網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系刪除)
本文鏈接:華智分享:ERP實(shí)施之冗余的二次開發(fā)