ERP二次開發的多與少

zhujianfu發表於2009-03-31

如何管理ERP二次開發

[@more@]最近經歷了一個企業的ERP二期專案,一期專案中的二次開發讓我頭痛不已;同時最近看到了一篇關於ERP二次開發的文章,讓我感慨良多;ERP系統的開發一直是大家爭論的焦點,到底應不應該開發?開發的量多少才算合理?不主張開發的認為:ERP系統是結合了業界先進的業務流程經驗,是最佳的業務實踐,建議儘量使用系統的標準功能來提升企業的管理水平,另一種觀點是:ERP系統先進的管理經驗以及業務實踐需要借鑑,但同時,不同企業有其自身的特點,透過開發符合企業特點的功能,可以提升業務人員的效率。在此,筆者不敢妄加評論那種觀點是否正確,先跟大家分享一下,前幾天在一個討論會上,一個企業IT主管提出的煩惱:

A公司實施Oracle ERP系統已經有好幾年的時間,而且也透過實施ERP系統獲得管理水平的提升,同時為了提高不同部門員工使用系統的效率,結合企業的實際情況,在ERP的標準功能基礎上,開發了很多可以提升業務部門工作效率的功能點。但經歷了幾年的不斷開發以及完善,現在企業遇到了新的難題:1、開發出來的各種各樣的子系統無法整合,維護工作困難;2、單點功能的開發提升了最終使用人員的效率,但對整個業務流程未見提升,甚至影響流程的穩定性;3、開發的功能不斷增加,系統複雜度以及耦合度增大,系統穩定性難以保證。A公司的煩惱很有代表性,也代表著我們對ERP二次開發的觀點,難道真的儘量減少二次開發,使用系統的標準功能嗎?筆者覺得,ERP實施過程中,多少的二次開發量才算合理,不同的企業不盡相同,但必須把握好二次開發的原則:這個原則與當初企業為什麼要實施ERP系統是一樣的,希望透過實施ERP系統提升企業的管理水平,最佳化企業的流程,而不是僅僅提高某部門或某員工的某功能的工作效率;提高員工的工作效率固然重要,但任何東西都有取捨,不是任何可以提升員工的工作效率的開發都要去做,當此工作效率的提升反而會影響業務流程的穩定性,堅決不做;如果此開發的工作效率提升,並未對業務流程以及管理水平有幫忙,儘量少做。明確ERP二次開發的目的以及原則後,需要對二次開發進行規劃。

1、 對整個企業的業務進行IT規劃

結合選擇的ERP系統,明確哪些系統可以透過標準功能可以滿足的,哪些業務流程系統標準功能無法符合企業的需要進行開發;這必須是從業務流程的角度去考慮,而不是某個功能點去考慮;不能因為某個業務部門想法而隨意改變計劃,就像大的方面,企業的資訊化分ERP、CRM、SCM、PDM等,根據企業的實際,希望先重點解決哪些業務,就ERP而已,哪些業務流程是ERP系統標準功能很好支援的,哪些業務流程必須透過開發來改善系統對此流程的支援的。

2、 開發要有所取捨

對所需要的開發進行規劃後,確認開發的先後順序,並明確不同子系統開發的側重點後,對具體的流程開發時,要有所取捨。對於某個業務部門來說,他們的需求都是基於其工作現場而提出,但正像文章前面所說,無論是二次開發還是ERP實施,都是為了提升企業的管理水平,對業務流程進行最佳化,但很多終端使用者提出的需求,只是基於其功能點,而不會考慮對整個業務流程的影響,更談不上對管理的提升。例如,很多批次下達採購訂單,批次關閉採購訂單這樣的功能,單從系統來說,的確可以提升採購員的工作效率,但從業務流程的角度來考慮,系統關閉任務時是為了檢查作業的相關資訊是否無效,如果批次關閉,使用者根本就不會去逐個檢查,這樣功能實施批次關閉了,但這個業務的控制點卻減弱了,反而不利於整個業務流程的控制。這樣看似提升終端使用者的開發而對業務流程無利的,要慎重,必須站在業務流程的高度去考慮,有所取捨,要問,到底此開發,對提升企業管理是否有幫助。

3、 開發的效率與可維護性

當最終確認需要透過二次開發來解決後,進行實際性開發階段,這時候進行開發必須把握原則,到底是開發的效率重要還是後期可維護性重要,特別是對於哪些企業內部IT人員自己進行的開發,對於業務人員來,每個功能的開發總是要求很緊的,一個月的開發工作量非要說10天要做出來,這樣的後果是,任何開發需求文件不再編寫,直接進行編碼階段,直接讓開發人員把功能開發出來讓使用者使用。先不說開發的質量如何,最要命的是,後期程式發生變化需要修改時無法維護。筆者近期做了一個客戶的二期專案,一期的專案做了大量的二次開發,但經歷一年時間後,IT人員流失得差不多,到現在沒有一個人能清楚到底做了哪些開發,這些開發到底實現了什麼功能,如何設定使用根本就無人能說得清楚,大部分的開發涉及到各種模組,更不用說後期的修改了。對其修改直接影響到原來功能的使用,而有不少人員認為,當比較緊急的情況下,可以先開發,後補文件;但筆者經歷了這麼多的專案與客戶,後補的文件質量根本就不能讓人相信,都只是應付形式的。因此,對於企業ERP這重大管理系統,開發的效率當然需要追求,但如果以犧牲流程的穩定性以及日後的可維護性的話,這樣的開發效率是否值得提倡。

企業的ERP系統必定是管理系統,管理系統並不能僅僅透過IT的力量就可以成功的,ERP的二次開發也是為了服務於此管理系統而為企業的管理目標而服務,如果離開這個目標是一味受制於業務部門的需求,只會使ERP這個管理系統越來越難以管理,最終造成管理的混亂而不是提升。因此做ERP開發前,必須進行規劃,確認此開發是否對企業管理有所提升,是否有利於業務流程的順暢。同時開發是服務於流程提升,因此開發並不是越快越好,必須在開發的質量與可維護性有所保障的基礎上追求開發效率。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/46681/viewspace-1019652/,如需轉載,請註明出處,否則將追究法律責任。

相關文章