在ERP的实施过程中,用户企业要在所购买的ERP标准化产品与自身的管理方法和流程之间进行匹配。当出現不能完全匹配的情况时,用户企业往往要求ERP产品提供商在实施上线前对标准产品进行客户化开发,并作为ERP实施项目合同的一部分。在实际情况中,这种客户化开发需求很容易造成实施过程延期、系统交付质量低下等问题,不仅对产品供应商来说是一个沉重的负担,对于用户企业也造成了极大的利益损失。用户企业轻则承担了额外的信息化成本,重则会因此而延误管理信息化的进程,削弱企业的竞争力。
1 ERP客户化开发的动因
ERP产品匹配,就是在企业借助ERP想达到的管理层次提升目标和所采购的ERP标准软件系统之间的匹配。在匹配的过程中,至少要解决两个问题。
第一,普遍性与特殊性的矛盾是支撑共性问题个性化和个性问题共性化的理论。所谓共性问题个性化,是指一个行业的共性问题往往会在一个企业中体现。如果该企业不存在此问题,那么该企业一定要研究为什么问题不存在,不存在到底是好还是坏。如果该企业有效地解决了该问题,那么要研究能否提炼出解决行业该问题的共性方法,这种研究就是个性问题的共性化。
企业管理信息化,存在多业态的问题。ERP产品不可能支持所有业态的全部管理实践,而同一业态的企业在规模、人员素质和管理模式等方面又千差万别,因此存在无法匹配的个性问题在所难免。
第二,企业实施ERP系统是一种管理变革。每一个成熟的企业均在一定程度上有固化的工作流程。企业上ERP的时候,既要保留相应的固化流程,还要改革、创新、优化原有已经固化的工作流程。如果不改变原有固化的工作流程,上EPR仅仅是将手工作业变为计算机作业;但是如果变革原有固化工作流程,将对企业的正常运营带来极大的风险。这就要求ERP系统既要满足当前业务和管理的需要,又要满足未来企业动态管理变革的需要。
通过ERP产品匹配,会发现诸多标准ERP产品不能直接对应满足企业的业务管理诉求。这类诉求正是企业要求对ERP进行客户化开发的主要动因。对于很多ERP客户企业来说,由于缺乏富有经验的内部软件开发队伍,而且对所购买的ERP产品不熟悉,往往委托ERP产品提供商来提供客户化开发服务,并作为ERP实施项目中的一个子项目来进行。
2 风险由谁主导?
对于擅长将企业管理个性化需求进行共性化的ERP产品提供商来说,客户化开发工作既不是它的主要利润来源,也不是它所擅长的工作,更多地只是被客户所迫。为了降低开发成本,很多ERP产品供应商会将客户化开发工作分包给第三方,自己只负责项目管理与协调。这些第三方开发机构一般规模较小、开发能力较弱,加上有三方利益群体的参与,客户化开发项目的管理风险普遍很大。此外,ERP用户企业常常希望客户化开发项目能够一次性解决所有个性化的管理问题,对于客户化开发项目范围的界定大而全。因此,ERP客户化开发项目不能达到客户预期的案例屡见不鲜。
ERP是一种复杂的管理信息化系统,其软件产品的成熟需要较长的时间周期和众多用户企业的使用实践。然而客户化开发的代码,未经过类似于ERP产品开发那样的质量控制过程,更没有先驱企业的一手使用经验积累,其代码质量远不能达到,ERP标准产品的水平,代码的后期维护工作量依然很大。
企业和ERP产品提供商都知道,ERP不仅是一个软件产品,更蕴含着先进的管理理念。然而由于缺乏既懂得ERP产品、又懂得企业管理的人才,很多ERP产品提供商派出的ERP实施顾问也只懂产品,不懂产品背后的管理理念,根本谈不上用ERP的先进管理理念帮助企业提升管理水平,自然就很容易迁就用户企业对个性化管理流程进行计算机化的客户化开发要求。其结果是不仅增加了客户的成本负担,更降低了企业购买ERP产品的管理水平提升价值。
由于存在大量的客户化开发代码,用户企业的ERP产品版本可能无法享受产品供应商标准产品版本不断升级的服务,还需要进行大量的、持续的客户化开发投入。客户化开发部分的代码在体系架构上也难以具备标准产品部署灵活和业务范围可伸缩的特性。随着企业业务和管理方式的持续变化,这部分代码很快就不能适应,甚至成为企业持续管理变革的阻碍力量。
企业的个性化管理方法是组成企业核心竞争力的重要因素之一,一旦泄露给竞争对手,对企业将构成严重的威胁。如果委托企业外的开发团队基于这些方法进行系统开发,企业就存在核心机密泄露的风险。
3 ERP客户化开发应该怎么做
尽量减少客户化开发的需要。尤其是在企业刚实施ERP系统的早期,除非十分必要,最好减少甚至不进行客户化开发,可以有效避免客户化开发的各种风险。待企业使用ERP一段时间,并积累了较为丰富的经验后,企业会更有能力去判断哪些是标准产品可以直接或间接解决、哪些要必须是客户化开发的内容。此时再启动客户化开发工作,会更加有针对性。
尽量最大化客户化开发的业务价值。即便企业的确有客户化开发的必要,也要本着价值最大化的原则,尽量限制客户化开发的需求范围,以便实现小投入、大产出。
从实际操作的角度,可以采用如下方法:在企业实施ERP客户化开发的过程中,每当有新的需求时,应当首先分析该需求所引发的流程变化是否增强了某个价值链中的增值环节(工序),或者有助于企业隐性资产的增长,然后与客户化开发团队一起分析该需求的实现成本(包括开发成本、上线后带来的管理成本增加和承担的风险等),在此基础上再决策是否满足该需求。
ERP用户企业自主进行客户化开发。ERP是企业管理提升和流程优化成果的固化工具。由于企业的管理提升和流程优化是一个持续的过程,也是企业在日益激烈的竞争环境中赖以生存之本,因此ERP也要不断进化,以适应企业管理的需要。
另外,要想使ERP客户化开发的结果很好地服务于企业的管理变革需要,开发团队必须对企业的业务和管理体系有深刻的理解。为此,ERP用户企业应当自己组织客户化开发团队,以满足企业对ERP持续改造的需求,同时也保证企业核心机密不会对外泄露。
采用适应需求持续变化的开发过程。今天企业所面对的市场环境与过去的市场环境大不一样。过去企业可以依靠相对稳定的业务模式,在相对稳定的商业环境中立足。而今天,由于经济的全球化,竞争对手对企业的业务模式、产品和服务的复制极其容易,因此企业必须不断地重新定义和细分市场,不断地寻找下一个差异化的高利润产品和服务。快速变化的市场压力,必然会给企业所用的软件产品带来对市场不断适应的压力。
敏捷软件开发方法是一种轻量级的开发方法,可以在很短时间内交付系统、获取最终用户反馈,特别适合于需求变化频繁的企业应用系统开发。敏捷软件开发方法既能保证所开发需求的价值最大化,又能够减少传统的、重量级软件开发过程中大量在制品所造成的开发成本浪費。因此,敏捷软件开发方法非常适合于ERP客户化开发项目。
|