选择定制开发还是购买现成软件?
这是一个不可避免的问题,但是现在您有一个新选择
Blade Shao | 2024年03月10日
在企业信息化和数字化建设过程中,选择使用现成的套装软件还是进行定制开发是一个不可避免的问题。现成的商业套装软件(COTS,Commercial Off-the-shelf)是指功能已经完备、开盒即用的软件,如我们熟悉的ERP和CRM等。随着云生态的兴起,许多专业的SaaS应用,如差旅管理、项目管理和HR薪资管理等,也属于此类软件。
近年来,低代码和业务自动化得到了广泛关注,它们是企业在选择软件时的第三种选择。可以说,它们是定制开发的一种进化形式。在本文中,我们将简要讨论企业数字化转型过程中面临这种选择时需要考虑的因素。
COTS的优缺点
好处
无论您的企业所属行业和规模如何,都可以找到相应的COTS软件。以ERP为例,如果您是大型制造业企业,可以选择SAP或国内各种替代产品。如果您是小型电商企业,选择更多可能会让您感到纠结。在这些软件中,您甚至可以借鉴"行业最佳实践"的业务运作模板,以提升企业自身的管理能力。许多SaaS专业功能软件已经实现了无需销售接触、使用培训,也无需雇佣专业IT工程师进行定制开发和维护。您只需要在线支付,即可登录使用。同时,您还可以享受产品在服务期内的功能迭代。
因此,COTS软件的最大优势在于"便利性"和成本的"可预测性"。
等等,您也许会说这和我的经历不太一样,我们公司使用了的SAP,我们需要雇佣大量的工程师对它进行定制化开发。你的经历没有偏差,接下来我们来聊聊COTS的问题。
问题
软件供应商所宣传的最佳实践和现成解决方案可能会给您一种错觉,即只要您的业务遵循这些最佳实践,那么相关业务就能顺利数字化。但现实并非如此,当涉及到较长的业务过程、跨部门甚至与外部伙伴合作时,您实际业务的要求和COTS软件所提供的功能可能存在不协调之处。它可能无法满足您的需求,或存在缺陷。
此外,企业是不断发展的,市场也在不断变化。而COTS软件供应商的功能迭代进程通常落后于您企业的变化。在这种情况下,您面临的问题是是否要投入成本进行定制开发,或是放弃原有方案寻找其他解决方案。
那些具备定制开发功能的COTS软件往往受制于供应商的技术锁定,而这种能力需要您付出昂贵的工程师人力投入。此外,许多COTS供应商还会限制定制开发的范围,导致某些功能的缺失或缺陷无法调和。
补充说明:关于SAP这样产品生态完整的产品,它已经超出了传统COTS软件的定义。它拥有广泛的生态系统,涵盖各种场景,并且还具备自己的低代码开发平台。国内许多所谓的低代码开发平台本质上仍然属于COTS软件。虽然它们具备一定的工作流和用户体验的自定义能力,但只能满足简单功能的需求,无法定义完整的数字化时代的业务过程。它们更适用于小微企业的日常人工事务处理。
何时考虑使用低代码定制开发应用
如果您的数字化预算很少、需求很紧急、完全不需要自定义那么你可以果断地选择能购买到的COTS。定制化开发并不是一个好的选择。
过去,软件定制开发被认为是一项需要巨额金钱和时间投入的任务。然而,随着IT技术的不断演进,这种投资往往难以预测,并且有可能以失败告终。因此,CIO们对定制开发总是持谨慎态度。即使IT或数字化团队对企业的发展战略和业务过程有清晰的描述,由于应用开发和方法的限制,定制开发的效率和速度也很难满足需求。
低代码技术的出现很好地解决了CIO们面临的难题。从本世纪初提出的组合式应用概念,到流程驱动型应用,再到可视化的业务建模标准BPMN以及通过拖拽生成UI/UX组件等等。企业数字化应用的建设方式越来越倾向于使用少量的代码来组装不同的原子能力,并形成个性化的应用。
与COTS软件和传统的定制开发相比,这种基于低代码和组装理念的定制具有明显的优势:
高度的灵活性和扩展性
- 应用的构建不再局限于COTS软件的配置或定制化的黑盒开发。相反,通过可视化的流程建模工具,可以对不同数字化服务进行编排。这里所说的服务包括业务过程中的各个要素服务,如人工任务、API接口、微服务、业务规则、RPA、AI、IoT物联网等。传统的OA/BPMS软件也有工作流编排的功能,但往往仅限于人工任务(审批)的管理。
- 当业务发生变化时,企业无需等待COTS软件供应商或服务提供商的响应,只需调整业务流程或引入新的原子服务能力即可。这种调整和扩展通常可以在几个小时内完成。
促成业务与IT协作的高质量数字化建设
- 业务和IT可以使用统一的可视化语言(业务流程、规则逻辑等)来表达业务需求和实现方案。
- 业务可以在更短的时间内获得需求的体验和验证,而对已有的数字化服务的重用使得IT能够专注于更强大功能的实现而无需重复造轮子。
- 通过对现有数字化服务的重用,业务可以更快地获得需求的体验和验证并提出优化意见进行快速迭代。而IT部门则能够专注于实现更强大的功能,而不需要重复开发已有的功能,避免了重复造轮子的情况。
总体使用成本的降低
- 通常情况下,定制开发的建设及使用成本高于COTS产品,但低代码组装式定制开发技术显著降低了应用自主开发的成本,并提高了应用构建的速度。根据Forrester的分析报告,相较于传统开发方法,低代码组装式应用在实现相同功能的前提下,可以提升4倍的交付速度并降低80%的开发成本。
- 降低供应商技术锁定成本和遗留系统的许可费用、维护升级成本。
- 低代码开发还能大幅提升对数字化应用整体的控制力。
最后
关于低代码,行业存在着各种争议。有些人将其吹捧为神器,而有些人认为它只是一个无用的玩具。类似的争议也出现在RPA领域。在讨论这个话题时,我更倾向于将低代码视为一种企业应用建设理念的代表,而不是对某个具体软件产品功能的争论。低代码背后的理念应该以低成本、高效提供以下能力为目标:
- 基于行业标准的、开放的、可视化的业务流程和业务对象建模能力。
- 可视化的UI/UX生成能力。
- 生成和分享业务对象管理API的能力。
- 与主流应用便捷集成的能力。
- 对已有数字服务的重用能力。
- 完整的应用生命周期管理能力,包括设计、测试、部署等。
- 具备应用完整运行的能力。
- 应用运行控制和监控的能力。
- 与AI集成的能力.