Ede's Blog

我所认知的企业级ERP应用

个人观点,仅供参考

即将离开用友,暂别ERP行业。

有幸参与多维合并新项目的开发,在这一年多的开发过程中,接触了不少人或事,也有一些感悟。记录于此:2B端立命点是功能、性价比,交互次之,兼容性次之

兼容性:2C端,兼容性可能是立命点:一个网页,一旦用户常用游览器打不开,功能便如同虚设。而2B端则不然,我接触的ERP Web 应用,仍处于传统软件的采购模式,仍需要经历注入投标采购个性化培训上线等步骤。作为2B端的提供商,在兼容性上具有相当的商议能力:以NC Web为例,初版兼容性规划仅考虑6.x版的chrome和safari,这在2C端是不可想象的。

交互:2B端和2C端在交互上的相同点很多,凡有前端开发经历的人,在此点均有或多或少的见解,故不再讲述。如:较少操作完成较多的事(如“选择充值金额->点击付款按钮->输入密码” 变更为 “选择充值金额->输入密码”);突出主次功能点等(一般情况,有且只有一个主要功能按钮);添加适当的提示以减少误操作和用户学习成本等。

在此说说自动化灵活性

  • 自动化:自动化本身是一个很复杂的问题,在早期以及现阶段的ERP阶段,自动化主要与数据填充相关。如:关系型数据库或异构系统取数, 合并业务步骤(如:“一键xxx”),在实操过程中,必须赋予客户可理解配置能力(对应语义模型、公式等)。未来展望,则寄托于相关的学习模型,即一般意义的“AI”。(观察点
  • 灵活性:客户理解的灵活性与开发,尤其是前端开发是有较大的差异的。以报表为例,客户所希望的报表灵活性,偏向于透视表;前端控件有:pivot.js(含React || Jquery版);但更多的是后端存储结构本身是基于多维数据存储,对应的操作则归属于OLAP切片旋转过程。可见,客户方的灵活性往往代表则新的存储结构和处理方式,而不仅仅是入门前端所认知的微交互。

功能点

  • 差异性:所有2B端的开发者都必须正视企业间的差异性,现阶段,任何寄托于一套流程完美解决相似属性的企业过程都是徒劳的。假若公司间所有业务过程中都一致,要么是地方性质的公司,要么终究归类为一家公司。差异化乃公司存在的本命。去差异化,力图所有过程一致是可笑的。

  • 可配置:显然,包容性的程序允许差异化的存在,通过客户方不同的配置(通常需要形式各异的公式支持),在实现不同的流程上,保持程序的相对一致性。这应是2B端现阶段追求的过程。(实操过程中可能会因业务过程过于复杂、实施成本过高而难产)

  • 个性化/客开:由于差异性的存在,假若2B端软件不能提供强大的可配置属性,让客户去自定义过程,则必须提供客开的能力(其中一个表现形式为:外包)。以NC为例,NC提供了一套相对标准的单据模板,其涵括查询模板打印模板数据间组织以及流转过程(表头、表体;拉单、推单…)等。这个过程必须是文档齐全且对开发人员要求尽可能低的;

    • 举个亲身体验的例子:去年双百到客户现场,惊奇底发现,单据的一部分Java代码,竟然是由分公司的实施(类似于需求人员)以及会计(!!客户方的会计!!)所写。令我瞬间就成为了Java在2B端的坚定的拥护者。

性价比:此点极具中国特色的。作为国内ERP行业的No.1,用友(或NC)用以击溃其竞争对手:SAP、Oracel的策略,可能源自于其和各企业的深厚友谊…