几乎每个ERP厂商的老总都有这样的感慨:明明是经过几个月的初期讨论和项目分析,在用户的认可下做好了的ERP系统,结果由于企业要求的“二次开发”,系统变得越来越复杂,与最初期望的效果越来越远,最后猛然一看,系统已经完全“变味”了。
当今很多企业上信息化系统,但是不少信息化软件都需要第二次开发才能真正适合企业。那么,如何在二次开发中挖掘信息化软件的潜力,让企业得到更多实惠?
向企业实际情况靠拢还是向通用化靠拢
“在选择定制开发还是使用通用系统这个问题上,我们首先看是否存在适合的通用系统。”上海国家会计学院信息部副主任屈伊春举了个例子,如在文档处理、电子表格、财务系统这些方面,市场有成熟的Word、Excel以及用友、金蝶等软件。所以,没有哪家企业愿意投入巨资自己开发。
“现在的会计信息化软件,像国内的用友等,它们大多只为满足国家会计核算要求。但从企业的管理角度看,除了满足公开的信息之外,还需要ERP系统提供企业内部管理的信息。”扬州亚星客车[11.82 1.72%]股份有限公司财务副总监周保来接受记者采访时表示,ERP系统更多地按行业、分模块开发,尽管在系统初始化时提供各种参数供企业根据实际状况设定。但即便是同一行业中的不同企业在发展规模、发展周期、细分市场等方面对信息的关注重点也会有所差异,导致对信息的要求或总或分、或粗或细,企业在财务核算通用化之外还会有自己的诉求,因此会通过适度的二次开发来更好地满足自身的需求。
“我们的二次开发是基于现有ERP系统及其他管理软件的数据库,结合企业自身财务管理的需求展开。比如在亚星客车,产品属于‘小批量、多品种’,传统的成本核算方法已不能满足企业自身管理需求,所以我们‘生产材料领用汇总表’这个数据表采用按分订单、产品型号、生产车间、主辅材、正常与非正常损耗等5个角度进行分类,以回答哪些订单盈利、浪费,哪些环节发生非正常损耗等,让管理者的视线能迅速聚焦。”周保来表示。
不要过多地强调企业自身特点
“二次开发的时候,不要过多地强调企业自身的特点,ERP软件中的管理流程是从许多企业中提炼出来的,具有先进性。”屈伊春表示,许多企业的“特殊之处”都是由于流程自身的不合理产生的,应该通过ERP的实施,对企业进行业务流程优化或重组,而不是一味修改软件以适应不合理的流程。
因为ERP具有自身一套体系,如果系统不能满足企业的需要,也会把“不要修改核心代码”作为基本原则。应该把数据从ERP中导出,利用二次开发的程序进行处理后,再导入系统。这样可以以最小的变动获得最大的收获。但如果直接修改了核心代码,往后再升级就很困难。
“我们进行二次开发更多是在ERP厂商技术人员的指导下充分利用现有数据库,扩大数据使用范围或提升数据使用价值。”周保来又向记者进一步解释,扩大数据使用范围是指将ERP系统中的数据有计划地通过公司自行开发的系统提供给其他不使用ERP系统的人员,扩大共享范围,如我们将ERP系统中的应付账款数据通过二次开发为供应商提供登录窗口,通过账户让每一个供应商通过网络可以实时完成对账或查询其所供应产品的送货状态;而提升数据使用价值则可以通过二次开发将ERP系统中的数据和其他管理软件的数据库进行对接,实现更多的功能,如可以将ERP系统的原材料单价与技术部门使用的PDM软件中的材料清单进行关联,可以实时得到各产品的材料定额,这在订单差异化明显的企业中可以极大的简化工作量。
二次开发中,修改不宜过多。因为ERP软件是一个很复杂的大型软件,从软件工程的角度来说,开发者应该保持对项目的可追溯性。如果修改过多的话,这种可跟踪的追溯性将变得模糊不清,最终导致项目不可控。