[]
        
(Showing Draft Content)

混合模式低代码开发团队

type=info

考虑到混合型开发团队概念的提出者Gartner对低代码的定义,本页面中以下内容均针对“模型驱动的低代码平台”,可能不适用于部分“表单驱动的低代码平台”。

2021年,Gartner在分析报告中总计了企业级低代码开发平台的发展趋势,从2019年的赋能“平民开发者”(citizen developers)升级到了“开发民主化”(democratization), 推崇低代码赋能下来自IT部门内外的多元化混合型团队(diverse fusion team)共同推动企业创新。

一、构成:IT技术人员+业务开发者

在低代码技术普及之前,软件开发的技术门槛较高,仅有IT部门和软件公司具备开发软件的能力。这些受过专业编程训练的开发者能够将数十年来积累的软件架构和软件工程经验应用于企业信息化建设,但是受限于人才供给总量,软件开发产能严重不足。即便是预算较充裕的大型企业,在解决了核心业务场景的信息化之外,很有能拿出预算,投入到其他应用场景的开发中。软件质量尚可,但覆盖度严重不足,大量的业务流程和员工无法直接从信息化中获益。低代码技术的出现,让苦于信息化广度和深度不足的企业看到了解决信息化难题的新途径。在互联网厂商的宣传和推动下,很多企业将信息化的任务交给“业务开发者(也称平民开发者)”,为业务部门配备低代码开发平台,要求他们自行解决信息化问题。但是,软件开发的技术门槛不仅在“编码”环节,还需要开发者掌握诸如数据库设计、系统架构、WebAPI交互等知识和能力,才能开发出可持续迭代的软件。事实上,业务开发者的IT技能严重不足,只能选择表单驱动的低代码和无代码开发工具,针对简单场景构建应用,而且可维护性差、难以与其他系统集成。即便拥有低代码,业务开发者依然很难为较复杂的业务提供信息化支撑。

IT技术人员供给不足,业务人员技术基础薄弱,只有将两者组合在一起,建立混合型团队,才能两全其美。混合型团队通常由IT部门领导,对信息化的结果负责,其核心人员为IT部门内部的专业技术人员,如程序员、项目经理、运维人员等(以下简称专业开发者),在为特定业务部门开发应用时,借调该部门中对软件开发感兴趣的业务人员加入团队。相比于IT部门的专业团队,混合型团队的运转对管理和技术提出了更高的挑战。除了在管理上明确借调的业务开发者与IT部门内部的专业开发者的分工之外,混合型团队的管理者还需要建立有效的技术支撑,以避免重复建设,确保软件的质量和可维护性。项目实践表明,基于模型驱动的低代码开发平台,建立低代码的数字化平台是混合型团队开展工作的最佳实践。

二、协作:低代码数字化平台战略

数字化平台的概念衍生于数据中台和数字中枢,在前两者的基础上强化了对个性化应用开发的支撑作用。数字化平台是一个软件开发平台,其下为现有的软件,其上为针对业务需求场景定制开发的各类应用。数字化平台的核心价值有两点:一是整合现有的软件的数据和能力,充分发挥IT投资的价值;二是简化应用软件的开发与迭代,用个性化应用支撑企业的数字化未来。为了实现简化应用软件开发的目标,数字化平台的落地通常基于低代码技术,所以,我们也将其成为低代码数字化平台。在应用层面上,数字化平台将面向需求侧的应用开发与面向技术侧的平台运维进行了分隔,和混合型团队的诉求高度匹配,非常适合作为混合型团队的工作模式进行推广。

第一步、IT技术人员集成现有软件,打造数字化平台

集成现有软件,打造数字化平台


低代码数字化平台的开发的核心是对现有软件的梳理和整合。企业信息化不是一蹴而就的,不同时期上马的各个软件,如ERP、CRM、OA等成品软件和一些定制开发的软件项目,在技术上通常采用了不同的架构和系统集成用接口,如部署于局域网的ERP软件提供了.NET的二次开发SDK;SaaS模式的OA软件提供了WebAPI;而定制开发的软件项目仅能通过数据库里的数据进行交互等。这些技术和数据上的不一致,给后续的应用开发造成了不容忽视的障碍。如何能让新开发的应用与这些现有软件打通,一方面打通数据孤岛,实现业务流程一体化;另一方面减少重复建设,让IT投资保值?

实践经验上看,最佳路径是在现有软件的基础上搭建一层数字化平台,把各系统的元数据整合成一份,将现有软件的集成用接口整合成面向业务的WebAPI,提供给业务开发者。比如数字化平台提供的会计凭证生单WebAPI背后整合了ERP的SDK和定制开发系统的数据库读写。这意味着应用开发者无需关注平台上WebAPI的技术细节,而一旦需要替换或者升级现有软件,也仅需调整平台上的封装逻辑,而不会导致业务系统的大面积修改。这种整合了现有软件的数字化平台,有如下显著优势:

  • 打通数据孤岛,让业务流程更顺畅

  • 避免重复开发现有软件中已经具备的能力,让接入平台的现有软件更保值

  • 减少现有软件替换和升级对应用软件的影响,让基于平台开发的应用更保值

需要特别提示的是,在数字化平台的构建过程中,低代码开发平台需要提供双向WebAPI集成能力,不但支持调用第三方WebAPI,还需支持使用低代码开发平台构建WebAPI供平台上其他应用以及第三方应用调用。

在管理层面,数字化平台能将技术含量高,可维护性要求严格的系统集成部分从应用开发中剥离出来。让混合型团队中的专业开发者承担起所有的个性化应用的基础数据设计和系统集成工作,以确保这部分工作的质量可控。同时,在专业开发者的帮助下,业务开发者也能更方便的复用现有软件的技术能力,而不是从头实现这些复杂的业务逻辑,对于降低业务开发者的学习门槛也有不容忽视的价值。

第二步、全团队基于数字化平台,低代码开发个性化应用

数字化平台为应用开发提供了技术基础,混合型团队管理人员还需要参照编码开发,结合低代码平台的能力,为专业开发者和业务开发者划定分工原则,并制定可执行的开发规范。

在实际工作中,平台建设中元数据和业务聚合工作是分阶段进行的。随着业务层应用的规划和实施,平台所能提供的WebAPI也会越来越多。而且,因为后续的应用开发均可直接使用之前交付的平台API,项目开发的边际成本也会随着时间的推移显著下降。但是,这并不意味着专业开发者在混合型团队中的重要性发生变化。这些具备技术能力的专业开发者可以投入到新技术的研究和验证中,将AI、IoT等先进的软硬件技术引入企业信息化建设版图,持续提升企业信息化系统的效能。

另一方面,因为技术要求较高的复杂业务逻辑开发被集中到平台建设阶段,业务开发者所需要掌握的技能水平得到了进一步下降。实践表明,经过低代码厂商数十个小时的系统化培训的,业务开发者在专业开发者的技术支持下,完全可以承担页面交互开发和简单业务逻辑开发的工作。

平台建设阶段

工作

专业开发者

业务开发者

说明

现有软件的数据和接口梳理



开发和维护元数据WebAPI



开发和维护业务聚合WebAPI



建立和维护开发/测试/验证/生产环境



建立和维护代码库(如码云、Github)



平台测试(WebAPI)


因为平台没有界面,业务开发者不适合参与测试

应用开发阶段

工作

专业开发者

业务开发者

说明

技术方案和架构设计


重点关注该应用需调用的平台WebAPI

应用级数据库设计


重点关注需要直连的现有软件数据库

开发服务端业务逻辑


专业开发者提供技术支持

开发页面和交互



应用测试


含发布到测试环境和验证环境

生产环境的应用部署与发布


重点关注数据库差分升级等环节


扩展阅读