为了开发一个企业软件,不写代码居然比写代码还要好?这个论断看似违背直觉,但其实是司空见惯的商业规律。无论是消费品还是工业品,预制品总是比DIY的解决手段更加高质和廉价。在企业软件定制开发领域,就是一个典型的重复发明轮子的领域,大部分围绕数据管理和工作流定义的企业中后台应用都不值得自己用代码开发,而是应该选用零代码平台直接搭建。
零代码平台承担了基本交互设计的全部工作,围绕数据输入,查询,展示等一系列动作。应用零代码平台后,不需要再进行这些细枝末节的交互体验设计和增强。比如:一个复杂表单的每个控件,应该用什么样式,保持什么间距,支不支持键盘切换焦点等等,这些细节问题往往耗费前端程序员大量的重复劳动。
现在,都不用了。我们的一次性范式设计统统考虑在内了。
有人说,如果不能个性化设计前端页面,那做出来的应用岂不是很雷同。的确是这样,但这种雷同是好的重复,而不是粗鄙的复制。我们可以为一个日期输入控件耗费几天的时间来优化,这并不是所有的应用前端开发所能够承担的成本。
而且,即便你不用零代码平台,在应用前端框架时,也绝对不可能自己从头开始设计,总是会应用一些现成的成熟框架。君不见各种后台系统使用的几乎都是阿里Ant的那一套?在企业中后台应用中,界面好看,功能好用是最重要的目标。所以,高质量的雷同正是解决这个问题的手段。
前端开发容易产生重复工作,后端数据架构也是一样。为了让一个企业应用能够满足业务数据管理和工作流程的需要,开发者需要设计正确合理的数据结构。这个工作,无论是零代码,还是传统的原生开发都是需要的。
但是,除了数据模型外,原生开发项目还需要架构师设计合理的数据存储过程和函数(可重复利用的程序结构),这些工作都是依赖经验丰富的架构师的。有了零代码平台,所有的后端架构工作被转化成可视化的配置过程,数据结构依靠表单来建立,工作流依靠触发器和节点来配置,权限系统依靠角色和颗粒度很高的权限细节来组合。
这些工作虽然不会自动完成,但它们已经不再依赖狭义的软件架构师,完成这些工作的时间成本也大大降低。这里还要提到一个重要因素,那就是业务变更所带来的后端架构调整噩梦。一旦业务流程产生新的需求,绝大多数情况下都不是简单地修改几行前端代码能够搞定的,后端架构都需要配合进行调整。
在过去,这是很多定制开发软件项目的危机所在,因为往往需要的时候找不到人,或者找不到健全的文档,导致后续跟进的修改中堆叠出越来越多的低质量代码。有零代码系统,无非就是调整一下配置就能够完成。这是原生开发永远难以企及的效果。
零代码搭建的应用也要测试,但用户只需要聚焦在数据处理的正确性上,一次对,次次对。传统软件的测试要复杂得多,首先要有开发人员自己完成的白盒测试,还需要有需求方和测试人员共同编写黑盒测试用例清单。
光这一件事情就依赖专业人员,成本很高,而且有很麻烦的跨专业沟通。完整的测试还需要涵盖性能,兼容性等方面,相当地耗时耗力。所以大部分定制软件开发是没有健壮的测试流程的。作为只有一个用户的定制软件,软件缺陷的消除过程非常漫长。
开发已经掉了一层皮,但一个最终可用的企业应用,为了能够地让员工开始正常使用,还有一个“在组织内分发”的过程。
这个过程通常都比想象的复杂,尤其是那些需要根据不同角色分配不同权限的复杂系统。在软件开发完毕后,还需要引导用户注册账户,分配角色后,用户才真正能够登录系统使用。目前,越来越多的企业已经开始使用钉钉和企业微信等平台,这意味着,开发出来的企业应用最好还能够适配这些平台,至少实现用户账户和消息通知的打通。
零代码系统一般都带有完善的企业管理后台,提供用户,部门,职能角色,汇报关系配置,还预先和钉钉和企业微信等平台接通。
这样,用零代码方式搭建的应用不仅交付迅捷,部署到用户那里也很方便。如果某个应用的角色需要对应企业的财务出纳,配置好以后,只要有人入职了财务出纳岗位,就能够自动得到这个应用的访问权和恰当的权限。
在开发企业软件的过程中,最痛苦和昂贵的过程真的不是写代码,而是需求沟通,让开发者理解软件的应用目标和掌握必要的背景知识。在稍微复杂一些的企业软件领域,比如生产制造流程管理,物流管理,物料管理,设备管理,仓储管理和财务信息交换等环节,软件的设计源泉完全来自企业管理最佳实践。没有企业的运营知识,是绝不可能开发出可用的企业软件的。
于是乎,企业软件开发的主要成本都投入在了这些浩繁的需求沟通上。
通常是开发厂商提供一个框架解决方案,懂行的客户基本能够判断是否合适,然后客户企业需要就自己的实际运营提出组合和修改要求,开发厂商再记录在需求清单中,并用工作范畴文档(SOW)和原型图让客户确认。
即便花了很多时间做前期的需求确认工作,到了实际交付的节点,依然还会有大量的调整和确认环节。这也是为什么交付是传统软件开发服务的噩梦。成本和进度都是在这些环节上容易失控的。
零代码平台首先了提供一个可能性——不要开发人员参与,精通需求的业务人员直接自主实现,因为他们不需要掌握代码开发知识。
因为需求方直接自主实现,自然也就免去了反复的需求沟通和确认。人人都能够开发软件,这句话一半是宣言,一半已经是现实。这完全看用户自己对需求的清晰程度和学习新工具的意愿。美国人为什么习惯DIY?一方面是因为雇佣工人太贵,另一方面是因为非常发达和廉价的DIY工具支持。
就算零代码平台也是由技术团队来提供服务,业务需求方也很容易通过预先搭建的示范模块来确认是否满足需求。搭建者和使用者的沟通会非常顺畅,有时候,使用者会忍不住自己动起手来。
概括起来,这五个优势正好是“三免两减半”,免除交互设计,免除后端架构,免除应用分发,减半测试流程,减半需求沟通。
【本文是51CTO专栏作者“明道云”的原创稿件,转载请通过51CTO联系原作者获取授权】
戳这里,看该作者更多好文