查看原文
其他

开发软件不求IT部,企业IT应用的民主化运动

GEORGE陈果 陈果George 2021-05-31


在大企业里,业务部门在工作中产生IT应用需求,要把需求提交给IT部门,无论是等待开发排期,还是让IT部门去找解决方案,都是一件费心费力的事。


小微企业里要解决IT应用需求,企业内没有专职的IT人员,市面上又找不到现成的软件,业务人员能自己搞定开发应用软件吗?


咨询公司给企业设计了一套新的人力资源OKR绩效管理方案,客户要顾问们搞“落地”,该怎么办?


尽管市面上充斥着“Java傻瓜书”或者“十天学会Python”这样充满诱惑的字眼,然而,就算学会编程语言很容易,在编程写代码和构建企业应用之间,还隔了若干条鸿沟:业务分析、架构管理、生产部署、系统运维等等。



在IT应用的早期,即90年代个人计算机刚兴起的时候,就兴起过无需写代码的“可视化编程”潮流,业务人员构造一个应用程序并不需要太多的代码级编程基础。我自己当年就使用过最普及的开发工具——Visual FoxPro和微软Access。90年代中期在银行工作时,我曾经用Visual FoxPro编过好几个实用的小程序,管理文件档案、进行简单的贷款风险评估等。
 
随着企业IT应用覆盖的业务范围越来越广,架构越来越复杂,到21世纪初,这种可视化编程工具就逐渐退出了企业应用的主流市场,企业信息系统实施往往面临着实施套装软件和自开发两个选择,业务人员(管理人员或者咨询顾问)和编程人员之间的鸿沟越来越大。

最近几年,随着云技术发展,无需专业编程技术的应用程序构建技术开始卷土重来,有些人叫“低代码”或“零代码”开发。这一代工具甚至可以直接提供应用的运行时(Runtime)环境,摒弃了普通的DevOps过程,所以软件平台也被称为“低代码应用平台”(LCAP),应用这些工具进行开发的最终用户,称为“公民开发者”。

“公民开发者”(Citizen Developer)是指从公司或集体所有的代码库及系统平台上,创建一个新应用程序的最终用户。从一般意义上讲,这类开发人员并不是拥有“写代码”能力的专业软件开发人员,而是一个“专业的业务分析师”加“业余的程序员”,他使用简单的可视化工具,来构建他的团队在工作过程中需要使用的应用程序。
 
之所以把这种方式称为“企业应用民主化”,是因为业务人员的数字化创造能力被充分赋权;开发企业应用程序,不再是拥有计算机工程学位的技术人员,或者坐拥IT预算资源的CIO的特权了。
 
今天,云服务以及基于模型的代码抽象平台(即所谓低代码/无代码平台,简称LCAP)等工具越来越成熟,使得“公民开发者”可以按需随时创造应用。如果开发平台搭载在云上,它还可以利用云平台之上的云服务,例如人工智能、物联网、区块链的服务,去丰富应用本身的功能。打个比方,你用LCAP工具创造一个CRM软件,就可以用云上的图像识别AI服务,去提取名片上的联系人信息。在LACP上,从表格中提取结构化信息、图像识别,从统一数据服务中识别和预测文本、数据等,都是常见的AI场景。
 
专业开发者和运维者并不是没有发挥空间了,他们也在可以在底层对“公民开发者”的工作进行代码级的修改、集成,以及用户界面和功能扩展,并且纳入云平台的DevOps流程。

我认为,LCNC的实际应用以及架构有如下几种形式:
 
1、作为大型企业软件的延伸功能的快速开发方式,搭载在这类大型软件的云平台之上,例如,SAP、SalesForce的PaaS平台上都提供了LCAP工具。微软推出的Power Platform,提供了数据展现(Power BI)、应用程序生成(Power APP)、流程自动化等一系列LCAP工具,可以和微软的Office 365云、微软CRM云以及其他微软服务无缝对接。最近这几天业界热议钉钉全面整合进阿里云,可能就是和微软的“云+Office 365+Power平台”的产品策略有相似之处。

2、作为公有云平台的快速应用开发工具,可以使用这个云平台上的服务以及数据。无论是主流的通用公有云,例如阿里云的宜搭,网易最近也推出了低代码平台;还是基于物联网的工业云,例如西门子,《数字化转型》一书作者Tom Siebel创业的C3.AI也把模型驱动(model driven)、无需专业编程的物联网和AI能力作为主要卖点。

3、企业构建私有PaaS层,包装企业自有的业务模型,在此之上提供LCAP开发工具,快速构造企业特定的应用。

4、第三方LCAP开发工具,可以部署在任何公有云和私有云上,开发应用。国内的一些传统的中间件、BPM/OA厂商最近都在转型为aPaaS或者LACP厂商。而“明道云”则是属于比较彻底的“无代码”工具,业务用户很容易上手。


对于LCAP工具,市场上还是有“低代码”和“无代码”两派之争,一般来说,“低代码”更偏向于专业程序开发人员,主要目的是简化写重复代码的过程,提高开发效率,要形成完整的可用软件,以及进行深度定制,还是需要复杂的配置或者写代码;而“无代码”则完全面向业务人员,相应地,其可定制性、可连接性就要低些。

企业的部门级业务场景非常适合用LACP来处理,我想到这么一些:
  • 销售管理中的商机、销售协作、营销活动管理

  • 研发管理中的需求沟通、项目协作

  • 人力资源管理中的请假、入职、绩效反馈、紧急事件联系

  • 财务管理的费用申请、报销

  • 服务管理的服务请求、资产设备管理

  • 行政后勤管理的访客登记、物业管理


LACP平台甚至可以建立用户社区,组织用户进行方案交流,用户还可以有偿交易自己开发的方案。

LACP也有局限性,例如用户界面可灵活定制性较差,难以处理复杂的业务对象关系定义和业务逻辑等。此外,民主也有民主的弊端,民主带来治理新问题——从企业的“IT专制”到“IT民主”,关键就是要解决IT治理问题。尤其是大型企业,“公民开发者”构成了企业的“影子IT”,在这种情况下,开发在没有公司IT组织支持之下进行,可能会影响已经存在的公司IT系统架构的完整性,例如数据库结构,或者产生数据治理等方面的问题。

最近和“明道云”创始人任向晖沟通,他给我推荐了他们的“aPaaS平台”,在我来看,应该就是“企业应用民主化”的代表,无论是小微公司快速搭建简单应用,还是大企业业务部门自行开发软件,都是有益的尝试。明道云的SaaS版本提供免费体验,也有可以在任何云计算平台上部署的私有部署版本,还提供免费的社区版许可证。有兴趣的企业管理人员可以动手试试 👉 mingdao.com

以下是任总的两篇文章,分享给大家: 

让业务专家变身企业应用开发者—细说独特的APaaS软件门类 

零代码简史

封面图片来自“@五十国先生”

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存