背景
我们于零几年购买了这款产品,产品仅花费25万。加上定制开发,第一次总共花费50万。随后,十几年间,经历多次改造和迭代,我们在这个系统上总计花费500万!因为早期企业财力有限,购买的产品是比较便宜的产品。其模块化和接口的丰富度都很有限,所以导致后期改造非常痛苦,花费非常大!
——这段吐槽来自于我最近的一位客户。
这个客户是中国传统行业的优秀代表,是中国办公家具行业头部企业。世界500强企业有35%是它们的客户,销售范围涵盖全球60%以上的国家和地区。
它最早从代工和贸易起家,后经过品牌化和数字化升级,发展到行业头部。能在十几年前就大力投入数字化建设,判断力和执行力都很非常不错!
但是,它面对的问题却如此常见,我如此熟悉。所以,我认为有必要写篇文章来帮助有同类问题的朋友。
定义问题
首先申明,我所说的不是一个企业的问题,而是一类企业的问题。
每个行业都有这样的企业,他在自己的细分领域凭借一定的竞争力,业务到达一个新阶段,但尚未到达行业头部。此时,订单量在迅速增加,未来前景很好,但面对突如其来的订单,各种管理问题接踵而至。它们需要信息系统来去提高自己的运营效率,或者说提供更先进的客户服务。但,这种信息化项目非常难,因为:
首先,因为自己的独特竞争力,它有自己的独特业务流程,所以一般的信息系统满足不了它。
其次,企业规模还没有很大,没有足够多的预算来自己从零到一打造一款信息系统。所以只能买市场上已有的产品。
最后,在买产品的时候,它面临两难选择:大公司的模块化产品 v.s. 小公司的定制化产品。
大公司的模块化产品,模块抽象得好,接口定义得好,能灵活地支持各种各样的业务场景。但是,缺点就是贵。不仅仅是买产品的价格贵,首次实施也贵。因为好的产品有个特点,就是”很抽象“,不做配置或二开没法直接使用。
小公司的定制化产品,价格便宜。并且一般小公司的产品,都是刚从某些特定的业务场景中提取出来的。运气好的话,能找到一款跟本企业的业务流程非常类似的产品。但是,缺点是大部分改造都是基于代码的改造,而不是基于接口的改造。所以,首次改造,可能因为改造需求的不多,所以很快。但是,如果你打算长期使用这个产品,你预见到这个产品将会在未来五到十年持续伴随着你的企业经营,那从长远来看,这种产品的改造成本就会变得异常巨大。
接下来,我们把这个问题的特点总结一下:
约束:
-
传统中小企业,初次预算不多。
-
业务流程特殊,需要定制和适配。
目标:
-
开发的系统满足当前业务需求。
-
开发的系统未来迭代成本低。
解决问题
这个问题可以分解成两个子问题:
-
第一个是在初次采购项目的选择和要求问题。
-
第二个是在采购之后长久的迭代开发问题。
首先,我们谈「初次采购项目的选择和要求」问题。
当我们在购买一个软件的时候,我们通常有两个选择:第一是购买本地部署软件,第二是购买 SaaS 软件 。
本地部署软件,国内大多数企业的选择。 当我们购买这类软件时,除了满足当前功能需求外,还需关注以下几个方面。必要时务必在合同中约定以下要求:
-
提供源码。要求乙方提供可编译运行的源码,以及配套的源码说明文档。说明文档需要对各个代码模块的功能和联通关系有清晰的说明,对关键业务逻辑和流程有清晰的说明。
-
开放接口。根据对未来业务发展的预测,来要求乙方提供必要的开放接口,以满足未来的二次开发需要。
-
提供数据库文档。数据是一个信息系统最核心的资产,所以需要乙方提供数据库中,每一个表每一个字段对应的业务含义或者技术含义。并且,当未来某一个时刻,你发现这个系统不值得改造时,这个系统的数据还有很好的利用价值。你很有可能需要提取这个系统的数据,或是制作报表,或是提供数据给其他业务系统。这个时候对于数据库的理解就变得非常非常重要!
SaaS 软件, 也是一个不错的选择。它们一般都有着良好的接口,比较一致的用户体验。他最重要的特点是价格低廉。当你不确定这个系统对应的业务未来前景,他是一个可中和风险的选择。因为如果发展的不好,你的损失也不是很大;如果发展得好, 需要更深度的定制,你可以灵活的用其他的系统去替代。
上面我们提到了对「初次购买项目的选择和要求」, 这为我们后面的「长久迭代开发」提供了一个良好的基础。
接下来,我们再谈「采购之后长久的迭代开发问题」的问题。
如果需要长久的迭代开发某个系统,那么我们选择合适的开发平台就变得异常重要。对于中小型传统企业来说,一般很难有大量的高水平的高代码工程师,所以我们选择的开发平台应该满足以下几个特点:
-
学习成本低。 学习成本低,这个特点就不用说了,因为我们要照顾到一些中低水平的开发工程师。最好能让刚毕业的工程师经过几个月的培训,就能开发出中等难度的软件。随着传统行业数字化进程愈演愈烈,传统行业对软件工程师的数量要求越来越大,所以不太可能在每一个传统企业都有足够多的高水平工程师。所以,各种低代码平台应运而生,很好地解决了上述困难,是一个不错的选择。
-
有高逻辑能力。上面提到了学习成本低这个特点,但是我们同时又不能放弃掉高逻辑这个特点。因为当我们在做二次开发和迭代的时候,我们要面对的是更加复杂的、且定制化的业务逻辑,这些业务逻辑需要有高逻辑的开发平台来完成。
-
业务友好。我们说「业务有好」指的是这个开发平台,写出的代码,让业务人员也能看懂。为什么这么说呢?我在之前的一篇文章《一部软件开发科幻爽片:从数字化到低代码到自动代码生成》中提到过数字化的最终阶段是业务和技术的融合。在这个最终阶段,一定要业务人员和技术人员说,同一套语言写同一套文字,只有这样才能真正的让 业务团队和技术团队无损沟通。同时,这种开发平台也将加速业务人团队和技术团队之间的人员流通。以上两者会带来巨大的符合业务发展的创新力 。
-
方便系统集成。企业软件的二次开发免不了与现有系统进行大量集成,包括接口的集成、数据库的集成等。因此,软件开发平台提供良好的系统集成体验是非常必要的。
在开发平台选择上,我认为 Mendix 是一个不错的选择。因为:
-
良好的学习体验。Mendix 提供了完善的学习路径和评级体系,并有丰富的培训资源,比如图文、视频、培训服务等。
-
有高逻辑能力。Mendix采用MVC(Model-View-Controller)三层逻辑的可视化表达,使得复杂的逻辑处理变得直观易懂。开发人员可以通过简单的拖拽和连接操作,实现复杂的业务逻辑,满足项目的高度定制化需求。
-
业务友好。Mendix注重业务人员参与,其可视化开发环境让业务人员能够完全理解应用的逻辑。这使得开发团队与业务部门之间的沟通更加顺畅,加快了开发周期,减少了开发与业务对接的难度。
-
系统集成方便。Mendix提供了丰富的现成Connector,这些Connector可以轻松集成常用的外部系统和服务,如ERP、CRM等。此外,它还提供了可视化接口对接功能,使得与其他应用系统的集成变得更加便捷和高效。
总结
感谢读完本文,本文核心观点如下:
-
传统中小企业在数字化转型过程中,常面临软件选型两难困境:大公司产品功能强大但昂贵,小公司产品便宜但后期迭代成本高。
-
为降低后期迭代成本,初次购买时应注意:源码、接口开放性、数据库文档完备性。同时也可考虑 SaaS 软件降低采购风险。
-
长期迭代开发要选择学习成本低、高逻辑能力、业务友好、易系统集成的开发平台。
-
Mendix 具有良好的学习体验、高逻辑表达能力、业务团队参与、系统集成方便等特点,适合传统企业长期迭代使用。
-
整体来看,传统企业应在数字化转型中注意平衡初期采购与长期迭代,选择既适合当前阶段又考虑未来扩展的软件产品与开发平台,以降低整体成本。
关于作者
您好,朋友。我现就职于西门子工业软件,担任高级咨询顾问。成功领导 10 多个世界 500 强企业的数字化转型项目,跨越政府、零售、金融、汽车制造、生物医药等多个行业,创造巨大商业价值。
如有任何与「数字化转型」有关的问题,欢迎用以下方式与我交流:
-
添加我的个人微信「zjh1943」。添加时请注明姓名、行业、交流的问题。
-
关注我的微信公众号「知明所以」。
-
关注我的知乎专栏:https://www.zhihu.com/people/zhu-jin-heng 。