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