低代码平台对烟草企业信息化建设的启发
2022-10-18张晓博
□文/张晓博 元 栋
(河南省烟草公司新乡市公司 河南·新乡)
[提要] 面对越来越多个性化、多样化的应用软件开发需要,传统的全代码开发方式日渐乏力,无论是专业人员还是业务人员,都迫切呼唤更加敏捷的开发手段,在此背景下,低代码平台应运而生。本文从时代背景出发,首先介绍低代码平台相关概念,然后从易用性、周期、质量、成本等方面将低代码平台与传统开发方式对比,概述采用低代码平台的优势所在,接着将企业信息系统进行抽象,从业务实体、流程活动、操作权限、统计图表等四个方面论述低代码平台的赋能逻辑,最后结合烟草企业信息化现状,论述低代码平台对信息化建设的启发和思考。
随着大数据、云计算、互联网等新一代信息技术价值的显现,数字化转型成为了当下的热门话题,越来越多的企业寄希望于通过数字化转型激发创新活力、把握市场机遇、应对风险挑战、重塑竞争优势。突如其来的新冠肺炎疫情,为数字化转型按下了加速键,网络强国、数字中国、智慧社会等战略决策,深刻揭示了未来数字化发展的广阔前景,信息系统作为数字化转型的重要载体,其建设需求也将不断持续。以往,信息系统通常由程序员通过编写程序代码开发,开发周期长、投资金额大,交付的软件产品往往存在可维护性低、需求被侵蚀等问题,面对数字化转型带来的个性化、多样化的开发需求,传统的开发方式越来越捉襟见肘,人们迫切需要一种更加快捷、易用的开发工具。2014 年,Forrester 提出了“低代码/零代码”概念,伴随着“互联网+”“云计算”“数字化转型”等时代风口,“低代码/零代码”被引入国内并成为新宠,提供低代码支撑能力的开发平台应运而生,为烟草企业应对日益多样化的信息系统建设需求、缓解数字化转型焦虑提供了又一路径。
一、低代码平台概述
(一)低代码平台概念和细分。所谓低代码,是一种通过对软件通用功能的高度提炼,将手写代码封装为功能组件,使开发者可以通过拖拉拽的方式对功能组件进行编排,从而实现快速构建应用软件的开发方式。广义上讲,低代码概念涵盖所有能够为实现软件交付而减少代码开发的技术和服务,包括在20 世纪90 年代就已流行的可视化IDE(集成开发环境),这些IDE 借助功能组件虽然减少了开发人员对代码的编写,但其仍主要面向“专业开发者”,与目前的低代码概念有本质区别。目前,IT 界广泛认同的低代码特指定位于满足企业业务端应用需求,通过可视化界面,利用少量代码或者无代码即可搭建简单应用或复杂应用的开发技术,主要面向“平民开发者”。低代码开发一般需要依托特定的开发平台,根据集成性、扩展能力、专注领域的不同,低代码开发平台又进一步细分为两类,第一类是具有企业核心业务承载能力,具有高集成性、扩展性的狭义低代码平台,国内以葡萄城、金蝶、奥哲等平台商为代表;第二类是针对小型场景,具有有限集成和扩展能力但交付更加迅速的零代码(又称无代码)开发平台,此类平台商有明道云、轻流、简道云等。相较于前者,零代码的使用门槛更低、用户面更为广泛、成本更加低廉,这也是本文讨论的重点。
(二)低代码平台的内在优势。据机构研究,“2020 年中国低代码行业市场规模为15.9 亿元,行业整体仍将维持50%以上的复合增长”,低代码产业快速发展,受到用户与资本的广泛青睐,这其中既有信息化、数字化浪潮的外力推动,但更与低代码的高效率、低门槛、云原生等内在优势密不可分。与传统的全代码开发方式相比,低代码开发的优势主要体现在以下几点:
1、降低软件开发门槛。传统模式下,开发人员需要学习编程语法、函数库、开发框架、数据库等多种技术,技术门槛高、实现难度大。而低代码开发平台将原本需要编码才能实现的软件功能(例如UI 组件、流程控制、角色控制、报表引擎)封装成组件,再利用可视化、拖拉拽、自动化等方式实现流程搭建,使非专业IT 人员、业务人员等“平民开发者”经过简单的培训就可具备软件开发能力,从而大大降低了软件开发的技术门槛。
2、显著缩短开发周期。传统的软件开发专业性强、效率低、采购周期长,IT 部门很难在短期内对业务需求完成响应。低代码平台利用图形化的功能组件和拖拉拽式的流程编排,一方面避免了冗长的底层代码开发,使开发工作量可节约34%~70%;另一方面也让研发人员可以以类似“搭积木”的方式灵活组织软件功能,加快版本迭代,从而大大缩短开发周期,实现技术对业务的快速响应,也加速了企业的信息化进程。笔者曾利用无代码平台实现过在一个上午完成从需求收集到应用上线的案例,这在传统的开发模式下几乎是不可实现的。
3、准确对接业务需求。软件项目中,40%~60%的问题都是在需求分析阶段埋下的“祸根”。因此,能否正确地获取、理解、确认需求,就成为了影响软件质量的关键。传统的软件开发模式下,首先业务部门提出需求,然后产品经理(或需求分析人员)将业务需求转化为开发需求,接着由开发人员编码落地,这个过程每一步都伴随着信息衰减。这是因为业务人员往往只专注于局部问题,很难从系统角度提出建设性的软件需求,而IT人员又因为远离业务,看不到问题全貌,很难理解业务人员的真实意图,导致需求不断地被遗漏、曲解、侵蚀。低代码平台降低了开发门槛,使得开发人员能够更加专注于对业务的理解而非技术细节。此外,有些“平民开发者”本身就有一定的业务背景,他们的参与进一步缩短了需求信息的传递路径,减少了信息衰减,从而使开发人员能够对业务需求作出精准回应,最终保障软件质量。
4、节约项目成本投入。在一般的软件开发项目中,项目成本主要是人力资源成本,软件功能越复杂、开发人员越多,则开发周期越长,项目成本越高,并且在后期的版本迭代和运维过程中,这种成本还会不断增加,这是由传统软件开发模式的自身特性决定的。与传统模式不同,低代码开发平台通常按照订阅数量收费,这种模式类似于会员制,企业投入的成本与所购买的会员数量有关,一旦成为会员,便可使用平台上的所有资源,利用平台开发的软件越多,每个会员摊薄的成本越低。所以对于用户数量不高但需求场景颇多的企业来说,采用低代码开发平台进行信息化建设的成本优势尤其明显。
(三)低代码平台的赋能逻辑。与硬件产品的“摩尔定律”(即:硬件的性能每隔约18 个月翻番,而价格下降)类似,软件产业也有相似的“摩尔定律”,即:类似功能的软件产品的规模每隔18 个月(如,代码行)会翻倍,而用户获取该软件或者服务的代价将会下降。为应对越来越庞大的软件规模,降低软件开发难度,化解“软件危机”,模块化、组件化、低耦合逐渐成为软件开发领域的共同行为准则,软件产品的搭建也从最开始的原生代码开发到SaaS(软件即服务)租用再到低代码平台的尝试,都是人们为了降低开发成本、控制项目风险、提高开发效率不断努力的结果,人们期望能找到更通用更高效的解决方案。低代码平台之所以能被企业和用户接受,就是因为它从底层思维出发找到了绝大多数企业软件的通用特性,即绝大部分企业的软件由业务实体、流程和活动、操作权限、统计图表这几个要点组成。(图1)
图1 简道云的数据、流程、图表定制功能图
1、业务实体。业务实体简单理解就是操作对象,以烟草企业为例,可以是人(客户、客户经理、涉案人员等)或物(卷烟、车辆等物品)。软件系统需要建立数据模型以维持业务实体,记录实体的特征(例如客户许可证号、案发时间、卷烟价格等)。低代码平台提供了丰富的可视化组件,使用户可以方便地通过拖拽搭建数据模型,同时自动生成该数据模型的“增删改查”页面,这也是低代码平台中常说的表单引擎。
2、流程和活动。活动可以理解为用户在软件系统中进行的某种操作,例如事项申请、事项审批、数据的“增删改查”等,流程是指活动开展的先后顺序。开发人员利用页面设计引擎可以方便地设置页面元素及元素属性,进而搭建出活动操作页面,并通过设置触发条件、处理节点,实现对流程的自定义。
3、操作权限。操作权限包括数据权限、页面访问权限、业务权限等。低代码平台通常采用基于角色的访问控制管理用户权限,例如只有具有部门负责人角色的用户才能进行审批操作、客户经理只能查看自己客户的订单等。
4、统计图表。统计图和统计表为用户提供了观察数据的多种视角,用户可以从不同侧面掌握业务运行现状、洞察业务问题。统计图和统计表通常由数据来源、计算规则、展现形式定义,低供码平台也是遵循这种方式,实现了统计图表的可视化配置,甚至可以让用户方便地做出BI、仪表板等专业应用程序。
正是由于低代码平台对业务实体、活动流程、操作权限、统计图表等软件系统的基本特性进行了高度的封装和概括,才使“平民开发者”得以迈过技术门槛,以更低的成本付出构建软件系统,进而赋能企业数字化转型。
二、低代码平台对烟草企业信息化建设的启发
作为在最近十年才发展起来的概念,低代码必将在软件开发领域产生深远影响。综合前文的概述和讨论,同时结合烟草企业信息化现状,笔者从中得出了以下启发,以期为企业信息化建设提供参考:
(一)低代码平台在某种程度上撑起业务中台。中台的核心在于“能力复用”,业务中台对企业业务进行抽象形成通用的服务能力,将规则、流程、逻辑等通过微服务、组件化等方式封装成面向前台的友好型服务,推动实现后台资源到前台应用的敏捷转化,提高整体业务的灵活性和响应速度。从这个角度理解,低代码平台俨然已经具备了业务中台的基本特征,各种通用的功能组件完成了业务的抽象,建立了复用能力,使开发人员不必“从零开始”或“再造轮子”,可视化的开发环境和自身APaaS(应用程序平台即服务)的定位降低了开发门槛,让柔性定制软件成为可能,进而实现了对业务需求的快速响应。
(二)数字化转型中的“长尾需求”将更容易满足。“长尾”一词原本用于描述商业活动中那些需求量少但种类繁多,价值总和又十分可观的商品。烟草企业在数字化转型过程中,卷烟营销、专卖管理、财务管理等头部业务转型较为充分,已经实现了数字化、网络化、智能化,但同时又有部分业务由于业务价值相对较低(如办公用品管理、就餐管理、车辆管理等),采用传统方式开展信息化建设的投入与产出不成比例,以至于对数据仍处在手工记录阶段,构成了“长尾”。低代码平台催生了“平民开发者”,降低了开发门槛,简化了开发流程,“长尾”需求将更易于被实现,一些个性化、短小精悍的应用将不断涌现,信息化触角将进一步延伸,从而弥补企业数字化转型的短板和空白。
(三)使用低代码平台开发同样需要项目管理。信息系统项目管理是综合运用相关知识、技能、工具和技术在一定的时间、成本、质量等要求下为实现预定的系统目标而进行的管理活动。低代码平台虽然降低了软件开发的复杂性,但并不意味着期间的需求、风险、质量等问题的消除,例如软件需求问题、低代码平台部署在云环境带来的安全问题、平台的租用成本等,如果不对这些问题进行科学管理,项目同样会面临失败的风险。
(四)“鱼和熊掌”不可兼得。“鱼和熊掌”分别指低代码平台的灵活性和技术门槛。要降低技术门槛,势必要对组件做更为彻底的封装、隐藏更多细节,减少开发者的干预,那么平台的灵活性和适应性就会降低,反之亦然。所以,企业在使用低代码平台之前,应当对开发人员的技术水平、需求类型、复杂性进行评估,选择合适的低代码平台产品。
(五)人才建设仍不可忽视。一方面技术门槛的降低不等于对技术的要求为零,开展学习培训对使用平台来说仍不可或缺,企业需加强能力建设,培养这方面的人才和团队;另一方面低代码平台只是解决了工具问题,而数字化转型的顶层设计和具体细节仍需要人去谋划、付诸实施。
综上,低代码平台作为近十年才诞生的概念,目前仍处在导入和成长阶段,从笔者周围使用情况看,采用低代码进行信息系统开发的案例凤毛麟角,熟知并准确理解低代码平台概念的群体仍局限于专业开发人员。不久前,笔者利用低代码平台实施了一些小型项目,深刻回味,将认识和体会形成此文,以期为走在数字化转型之路上的探路者们拓宽前行道路、缓和转型焦虑。最后,从全代码开发到低代码平台,从实物载体到ASaaS,无论哪种软件开发方式,其本身并没有绝对的优劣之分,变化的是软件开发模式,不变的是让技术赋能业务,为企业创造价值。