销售热线:010-57276828    15901382533

技术支持:15810782639

ERP软件二次开发中的反思

发布日期:2017-7-21     浏览次数:2573

今天在这上面看到这篇文章 ERP二次开发的多与少 , 作者提出的观点我还是很赞同。

文章先提出一个案例:

一个IT主管对于当前ERP系统的的困惑:
1, 开发很多企业特有的功能,各系统无法整合,维护困难。
2, 功能的增加,复杂度提升。
其实,我认为还有如下的观点和因素需要涉及到:
1, 系统迁移,升级 的成本 和 风险 急剧上升。
2, 出现问题的时候,只能归咎于自我的客制化产生。
(oracle 的支持,有很明确的一句话,不会对任何客制化的东西做负责)
3, 系统性能处于一种不可控制的层度。

因此,在二次开发的过程中要注意如下的因素:

1, 对整个企业的业务进行IT规划
企业的信息化分ERP、CRM、SCM、PDM等,根据企业的实际,希望先重点解决哪些业务,就ERP而已,哪些业务流程是ERP系统标准功能很好支持的,哪些业务流程必须通过开发来改善系统对此流程的支持的。这就是一个IT主管需要考虑的,就是系统对于企业未来的发展的扩张性以及远景考虑。
例子:
个人所在的公司是保险公司, 个人认为财务经理还是非常有远见的, 在企业急剧加速扩张的时候,把原有的用友财务系统切换成Oracle ERP。个人认为主要原因是,Oracle 或者 SAP 在满足企业扩张,企业整合这部分就比国内的产品做得好。本质根源是不同的ERP产品,功能其实都是差不多的, 但是对于数据的严整性,准确性的把握是不太一样的。举个很简单的例子:
对于财务的做账的借方,贷方,金额的精确度都是2位小数,至少这个细节应该是国际通用的,但是用友系统就出现n多位小数的,这样子带来的问题是严重和可笑的。
2,开发要有所取舍
我平时负责开发的时候,我的用户经常来跟我谈, 这个可不可以实现, 我的习惯回答是:当然可以实现了,问题是我要给你分析,你这样子提的东西是否合理。观点有2个:
(1)如果已经有了系统的标准给你来实现,你为什么还考虑自己做呢?
(2)通过什么样子的方式,整合现在的业务流程,能更好的支持呢?
我见过的最多的例子是:许多人把ERP这套软件管理理解成控制软件,想在任何地方做控制。
例子:
曾经有人说,那你帮我把某些来源的日记账,让这些人不能过账。
这个问题,能做不? 当然可以, 但是,有必要嘛?
我认为,没必要, 为什么呢? 因为, 过账这种动作是个很谨慎的动作,作为一个财务人员的基本素质是需要有的, 如果连这个素质都没有,我认为这个人不是一个合格的从事财务方向的人。如果我是老板的话,我会把这个人给解雇。这个纯粹就是个管理性的问题。
3,开发的效率和可维护性
这个其实也是涉及到很多人在前期开发的过程中没有想到的。我做系统的第1个原则就是:Perfomance 要好。 这点归咎于以前的项目经理Wendy给我的影响。效率性是一个系统分析员需要具有的基本素质,你得知道我的系统可能在哪个地方发生性能问题。
可维护性,这个是个很头大的问题,个人认为需要从如下几点进行把握:
(1),功能要简单化,控制逻辑清晰。
(2),采用容易检查异常的开发手段。个人认为从Java,SQL的角度而言,我更喜欢去看SQL。听说Oracle的BPEL也很不错的。
(3),要考虑到移植的方便,便捷性。
(4),文档要明朗清晰化。
最后,完全引用一下那篇文章末尾的一段话,说得蛮实在的。
企业的ERP系统必定是管理系统,管理系统并不能仅仅通过IT的力量就可以成功的,ERP的二次开发也是为了服务于此管理系统而为企业的管理目标而服务,如果离开这个目标是一味受制于业务部门的需求,只会使ERP这个管理系统越来越难以管理,最终造成管理的混乱而不是提升。因此做ERP开发前,必须进行规划,确认此开发是否对企业管理有所提升,是否有利于业务流程的顺畅。同时开发是服务于流程提升,因此开发并不是越快越好,必须在开发的质量与可维护性有所保障的基础上追求开发效率。