在加班没完没了的ERP实施后,我终于难得的休息了半天。在家安逸地看了电影《特洛伊》,让我感触很深——古希腊神话中最怕脚跟受伤的无敌战士阿喀琉斯,成了它致命的“生命之门”。事实上,ERP也有一道最害怕触碰的“生命之门”。这是二次开发。
在大多数情况下,二次开发会演变成对ERP系统无休止的修改过程,最终将用户和厂商都拖入泥潭,开发实施顾问心碎,生不如死.
顽固的客户
在我担任 ERP 实施顾问的第一天,我的老板告诉我,第一条经验法则是由用户需求驱动。然后,我的老板告诉我第二条规则:作为实施顾问,我必须坚决反对用户过度二次开发。过多的二次开发不仅会增加软件的不稳定性,还会延长实施项目的周期。从而增加了项目的成本,需要用各种方法将用户的需求转移到现有的ERP软件流程中。这两个看似矛盾的标准,让我最近在一个ERP项目的实施过程中,感觉生不如死,进退两难。
用户是老国企,对界面和操作提出了很多特殊要求,并固执地要求按照自己的习惯进行二次开发,以满足自己原有的操作模式。一般来说,我们的ERP软件产品为了具有很强的通用性,软件功能比较规范,流程设置比较规范。虽然通过参数可调的形式可以部分满足不同用户的需求,但这种“轻”的灵活性在很多情况下会失效。
用户的固执或偏见主要体现在以下几个方面:
①不愿改变现有的操作习惯。用户想把目前的人工流程和人工作业搬进ERP,这正是不换药换汤的方法。当我为用户分析现有ERP流程和用户原有流程的优缺点时,用户一句话反驳我,说我们一直在做这个,做得很好。我们用这种方法开发了管理方法,并为您的ERP系统获得了资金。未来,我们计划以我们习惯的方式进行管理。
除了用户在业务流程方面的个性化需求外,往往还有一些与业务流程无关的个性化需求,是由企业的特殊性产生的,比如文档/表格的格式一般来说,ERP会提供一种通用的文档格式,用户有一套自己习惯的文档格式。因此,在实施过程中,企业上来询问是否可以用这种格式打印。事实上,这是本末倒置。只要有内容,就不需要保持格式不变。
这样的问题经常出现在我参与的实现中。与用户的交流常常让我很难说服用户同意首先尝试文档格式。这不仅容易导致项目延误,而且还会将大家的注意力转移到不相关系统的边缘过程上,这通常是幸运的。
只有在不能通过调整参数的情况下;或者当报表功能确实不能满足用户的需求时,需要改变报表的样式和内容。这些情况应该通过二次开发来实现。这种由于操作习惯的二次开发,主要针对用户的各种报表系统查询、打印格式和字段标准化。
②管理制度不合理造成的特殊工艺要求。用户的一些二次开发需求是由于原有的管理制度和流程不合理造成的。因此,我们首先要做的就是判断其要求的合理性,然后再深入一线,找出真正的需求。大量事实证明,大量因管理流程要求不合理而提出二次开发的案例最终都以失败告终。
③ERP软件不能真正满足需求。当然,每个用户都有一些个别的业务流程需求是 ERP 无法满足的。毕竟,ERP是一个打包软件,不是为用户量身定做的。针对这种需求,即使经过各种实现方式,也没有更好的办法应对,只好进行二次开发。
二次开发的风险
当用户明确提出重新开发时,容易出现项目延误、开发程序不稳定、容易报错等问题;是的,但可能会涉及到一开始就做出决定的各方领导人的利益,所以谁也不敢改变。所以导致二次开发的程序就变得鸡肋了,既不扔也不扔。
①修改报表格式或用户查询系统比较简单,不涉及程序代码更改,因为软件一般都具有报表生成功能,任何业务人员都可以自行设置,无需大量计算机知识。当实施顾问组与用户充分沟通时,通常更容易解决。
2 当用户的需求个性化,涉及修改程序代码时,工作非常复杂,往往需要ERP系统提供工具支持二次开发,还可能需要厂商软件的源程序支持支付额外费用。
当用户提出需要进行代码级二次开发时,实施顾问一定要与用户明确沟通,否则更容易陷入泥潭,因为代码级二次开发可能会使ERP系统更加并且更加复杂,成为“四级” 不像是臃肿复杂的ERP系统。
一般来说,代码级二次开发存在以下三个风险:
①容易造成系统不稳定或崩溃。 ERP系统是一个复杂的系统,每个模块都是一个有机的整体。如果要修改其中一项功能,不仅会影响当前功能,还会影响其他功能。目前,实施顾问对ERP代码级二次开发的普遍看法是:做不到就别做。由于ERP系统就像人的血液一样错综复杂,在二次开发过程中,如果因为增加了用户特定的功能而触及了ERP原有的主动脉,将极大地影响其整体性能,开发和开发调试成本也很高。吓人。
②严重影响项目实施周期。代码层面的二次开发时间可以短至几天,长至半个月、一个月,甚至长达几个月。很容易耽误项目实施进程。在签订合同或制定项目实施计划时应包括这一因素。进去吧。
③后续维护升级风险高。软件的更改也会影响后续的软件版本升级。如果不升级,则无法享受新版本的好处。如果升级,则面临重新开发的可能。因为ERP软件供应商在开发新版本的ERP系统时,可能不会考虑特定用户对旧版本的二次开发。因此,在二次开发前应进行仔细的分析和比较。无论是修改软件,改革现行管理程序,还是对两者都进行一些修改,都应该知道修改的必要性、效果和成本。
ERP二次开发得失反思
实施顾问和用户都可能有这样的感觉:显然,经过几个月的初步讨论和项目分析,ERP系统已经在用户的认可下完成了。结果,由于“二次开发”,系统变得越来越复杂,离最初预期的效果也越来越远,最后,突然发现系统已经完全“陈旧”了。因此,掌握二次开发的原理非常重要。
①在概念理解上,实施顾问要让用户清楚地意识到,不能过分强调用户自身的特点。 ERP软件中的管理流程提取自多家企业,先进合理。 很多用户的特殊性是由不合理的流程本身造成的。 ERP的实施应该优化或重组企业的业务流程wordpress二次开发教程,而不是修改软件以适应不合理的流程。
②需要二次开发时,实施顾问和开发顾问应严格遵守不修改核心代码的基本原则。如果需要二次开发,二次开发制作的功能模块应尽量独立于原有的ERP系统。这样,当ERP系统版本更新时,二次开发的模块无需修改或修改较少即可应用到高版本ERP系统中。
③二次开发的需求一定要控制好,在完全了解ERP系统的功能以满足用户管理需要之前,尽量不要进行二次开发。因为用户的业务流程不是一成不变的,ERP软件中的流程一般比较抽象,主要的方面通常可以和用户的业务流程挂钩,细节可以不做修改。同时,ERP软件也不是一个人的,每个用户都有自己的想法,不可能都满足。零件受制于更大的图景。项目实施按时按预算完成,线上运行是实施阶段的全局。哪些二次开发必须做,哪些不能做wordpress二次开发教程,要看会不会影响大局。能做不做的,绝对不要做。
文章来源:https://zhuanlan.zhihu.com/p/44284638