低代码平台在数字化转型过程中的定位

在这里插入图片描述

内容来自演讲:郭昊东 | 上海外服 | 流程分析工程师

摘要
本文介绍了外服集团的 IT 共享中心在低代码平台应用开发方面的实践经验。他们选择低代码平台的原因包括开发成本低、快速看到实际产品以及能够解决数据孤岛和影子 IT 等问题。他们在应用开发中面临的挑战包括数据孤岛、影子 IT、忽略使用体验等。为了解决这些问题,他们采用了委托开发和用户自研模式,并记录了应用开发过程中的问题和最佳实践。最后,他们分享了两个低代码应用案例,包括 IT 内部需求和事件单管理。

一、公司简介

上海外服(集团)有限公司(简称“上海外服”),隶属于东浩兰生集团(上海市国资委直管),成立于1984年8月。上海外服作为人力资源服务机构,着力于打造高效的人力资源外包综合解决方案,已在全国主要重点经济城市设立了自己的分支机构。依托品质服务、创新的技术平台、精益的管理流程和遍布全国近400个服务网点,提供融合本土智慧和全球视野的专业外包服务。上海外服正服务于遍布全国的25000家企业的139万名员工。

二、低代码平台的定位

1.选择低代码平台的原因

我来自于外服集团下的IT共享中心,我们选择低代码平台的原因之一是开发成本低,能够快速看到实际产品。传统开发流程需要经过需求调研、开发、测试、上线的过程,这个过程往往需要耗费大量的时间和资源,而且无法实时看到最终产品。而低代码平台具有所见即所得的特点,让开发人员能够在谈需求的同时顺手制作demo给需求方看,不仅提高了效率,还使得需求方能够更直观地了解产品的实际效果。
在这里插入图片描述

2.低代码应用开发面临问题

  • 数据孤岛

在数字化转型的过程中,我们还面临了数据孤岛的问题。由于各个部门对业务数据的口径和叫法不一致,将这些数据转化为系统或进行数字化、线上化时很难做到对齐。这可能导致数据的不准确性和不一致性,增加了数据整合的难度和成本。

  • 影子IT

此外,还存在影子IT应用的问题。这些应用不受IT部门的监管和管理,可能由业务部门自行开发和维护。由于缺乏统一的规划和标准,这些影子IT应用可能导致数据不兼容、安全风险等问题,给企业带来额外的管理负担。

  • 忽略使用体验

针对像明道云这样的零代码平台,虽然前端界面高度定制化,没有办法非常自由的进行设计,但仍然可以通过视图和其他功能来优化使用体验,况且明道云已经实现前端开源,给技术人员更大的空间去优化交互体验。这意味着技术人员可以利用开源的代码库进行定制化的开发,根据自己的需求和用户反馈来改进界面的交互设计和用户体验,以满足不断变化的市场需求和用户期望。

3.低代码应用的应用场景

我们使用低代码应用平台主要在两个方面。首先是我们内部的应用,包括研发流程管理、基于 ITIL 实践的运维管理。之前我们内部是基于自己研发的管理系统,使用时间较长,目前正在逐步替换为明道云。其次,是针对业务部门的应用。我们将业务部门应用定义为流程优化工具,或者说是需求沟通工具,他可能并不是一个完整的系统,但可以作为一个与业务部门进行良好沟通、了解真实需求的工具。

在这里插入图片描述

大家在开发过程中会发现,能够聊出来的需求往往与真实需求存在一定的偏差,但是当用户真正使用你的应用时,他们只会考虑需求是否得到满足,而不会关注偏差,因此,一个良好的需求沟通工具至关重要。它能够帮助我们与业务部门建立有效的沟通桥梁,确保我们能够准确理解并满足他们的需求。

三、低代码应用开发流程探索

1.两种开发模式

对于低代码应用开发我们有两种模式。第一种是委托开发,即由我负责调研需求、开发应用,跟进整个流程,然后交付给业务部门使用。第二种是我们目前正在探索的用户自研模式。尽管全民开发者的概念被广泛提倡,但实际上,用户仍需接受一些必要的培训和监管。即使是专业的编码人员,也需要遵守IT开发的规范。因此,我们尝试建立一种独特的用户自研模式。

2.定义团队角色和责任

当业务部门提出需求时,我们会提供明道云的使用培训。我们的培训并不是面向所有用户的统一大会,而是针对特定需求进行培训。在开发过程中,我们发现无论是传统应用开发还是低代码应用开发,一个优秀的团队都至关重要。首先需要一个产品负责人,他可能是传统意义上的PM,负责推动整个产品开发流程。目前,我们将领域专家与产品负责人合二为一的。专业的开发人员负责低代码流程配置,而管理员后期要接手应用,并负责应用管理迭代。

3.沉淀应用文档

在低代码开发的过程中,由于前人经验相对较少,且各行业的经验存在差异,因此记录经验显得尤为重要。通过应用程序目录,可以方便所有用户知道当前应用程序的开发者、管理员以及使用手册等信息。

记录开发过程中的应用问题,不仅有助于管理员进行迭代开发,也能为整个集团积累宝贵的开发经验。在实现同一功能时,明道云平台可能存在多种实现方式,各有优劣。我们会在开发过程中记录这些差异,整理成指导手册,为后续的培训或开发中提供帮助。

4.最佳实践的积累

衡量一个应用的质量并不能仅凭bug的数量来评判。用户的接受度和使用的舒适度才是真正的评价标准。因此,我们在应用开发完成后,会定期与用户沟通,了解应用的使用情况,收集反馈,看是否有新的需求。通过这种方式,我们可以确保应用始终与用户的实际需求保持紧密关联。

四、低代码应用案例分享

我为大家挑选了一些我们作为IT内部使用的案例来分享。首先,我们最初的一个明道云应用是“IT内部需求”,它用于管理集团内部的协作和任务分发。我们在一天之内就完成了初步的demo,并进行了实际应用。目前已经更新了三个版本。
在这里插入图片描述

另外一个应用是“事件单”。由于我们拥有多个系统,它们会产生不同的告警。而且目前我们正在对系统进行大量的改造,导致频繁的系统上线和下线。因此,我们使用明道云作为一个统一的接入点,生成并记录所有的事件,这样就可以进行统一管理。
在这里插入图片描述

我们深知在数字化和低代码开发的道路上,每一个团队都有自己的独特经验和故事。因此,我们非常期待与大家的进一步交流和分享,希望我们的这些实践经验能为你们提供一些新的视角或启发。

同时,我们也欢迎各位对我们的实践经验提出宝贵的建议和反馈,让我们共同学习和进步。我们坚信,通过不断的实践和交流,我们能够共同推动低代码开发的发展,为更多的业务和用户带来实际的价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/186490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java SSM框架+Vue实现汉服文化平台网站项目【项目源码+论文说明】

基于java的SSM框架Vue实现汉服文化平台系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个汉服文化平台网站 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将…

【RabbitMQ】RabbitMQ快速入门 通俗易懂 初学者入门

目录 1.初识MQ 1.1.同步和异步通讯 1.1.1.同步通讯 1.1.2.异步通讯 1.2.技术对比: 2.快速入门 2.1.安装RabbitMQ 2.2.RabbitMQ消息模型 2.3.导入Demo工程 2.4.入门案例 2.4.1.publisher实现 2.4.2.consumer实现 2.5.总结 3.SpringAMQP 3.1.Basic Que…

2023.11.29 -hmzx电商平台建设项目 -核销主题阶段总结

目录 1.准备源数据 2.准备数仓工具进行源数据同步到ods层,本项目使用Datax 3.使用Datax完成数据同步前建表时的方案选择 3.1同步方式区别: 3.2存储格式和压缩区别: 4.在hive中创建表,共31个表 5.数仓概念 和 数仓建模方案 5.1数仓的基本概念 5.2 数仓建模方案 关系建模…

信贷销售经理简历模板

这份简历内容,以信贷销售经理招聘需求为背景,我们制作了1份全面、专业且具有参考价值的简历案例,大家可以灵活借鉴。 信贷销售经理简历模板在线编辑下载:百度幻主简历 求职意向 求职类型:全职 意向岗位&#xff…

光伏设计软件:创新工具,提升设计效率与质量

随着可再生能源的全球关注度不断提高,光伏产业也迎来了前所未有的发展机遇。光伏设计软件作为支持光伏项目的重要工具,为设计师提供了强大的功能,以优化设计过程,提高设计效率,减少错误,降低成本。 首先&am…

保存规则、nat、自定义链

目录 一、保存防火墙的规则 1、保存规则 二、nat 一、SNAT和DNAT 1.SNAT 2 DNAT 三、自定义链 1.添加自定义链 2.设置自定义链并生效 3.删除自定义链 一、保存防火墙的规则 1、保存规则 [rootlocalhost ~]# iptables -A INPUT -s 172.16.114.30 -p tcp -m multiport…

科技与教育:未来教育的新趋势

在21世纪,科技的快速发展正在深刻地改变教育行业。从在线学习平台到虚拟现实教室,科技为教育带来了革命性的变化。本文将探讨科技如何影响现代教育,并预测未来教育的发展趋势。 一、科技在教育中的应用 在线学习平台:通过平台如C…

深入解析 Python 中 Parsel 的两种数据提取方式

更多资料获取 📚 个人网站:ipengtao.com 在网络爬虫的世界中,数据提取是至关重要的一环。Python 提供了许多强大的工具,其中之一就是 parsel 库,专门用于解析和提取 HTML 或 XML 数据。本篇博客将深入探讨 parsel 中两…

信贷专员简历模板

这份简历内容,以信贷专员招聘需求为背景,我们制作了1份全面、专业且具有参考价值的简历案例,大家可以灵活借鉴。 信贷专员简历在线编辑下载:百度幻主简历 求职意向 求职类型:全职 意向岗位:信贷专员 …

LRU缓存淘汰策略的实现——LinkedHashMap哈希链表

LRU(最近最少使用)缓存淘汰策略可以通过使用哈希链表实现。LinkedHashMap 是 Java 中提供的一种数据结构,它综合了哈希表和双向链表的特点,非常适合用来实现 LRU 缓存。 LinkedHashMap 内部维护了一个哈希表和一个双向链表。哈希…

使用Jetty编写RESTful接口

一、依赖 <!--Jetty服务器的核心依赖项&#xff0c;用于创建和管理服务器。--><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-server</artifactId><version>9.4.43.v20210629</version></dependency…

spring框架的事务传播级别经典篇

一 spring事务传播级别 1.1 总结概述 方法A:外围方法&#xff0c;方法B&#xff1a;内部方法&#xff0c;在A中调用B 1.事务级别PROPAGATION_REQUIRED&#xff1a; 如果A为PROPAGATION_REQUIRED&#xff1a;B 不管有没有设置事务级别&#xff0c;都会加入到A的事务级别中。如…

【驱动】串口驱动分析(四)-串口编程和调试方法

串口调试 串口调试主要有 根据/proc系统信息确认串口状态&#xff0c;stty命令&#xff0c;编程调试 三种调试方法&#xff0c;下面我们分别具体介绍下。 根据设备节点确认串口是否正常 系统上电时&#xff0c;默认会使能串口&#xff0c;我们可以通过dmesg | grep ttyS 查看…

SSM6 11-27 SpringMvc过滤器和异常处理

try catch:处理异常 throw/throws:不处理 抛出 jvm中断程序运行 打印错误信息 web:经典三层模型&#xff1a; dao(mapper) service web层 异常抛给web层Controller类的方法&#xff0c;每个方法可能处理异常,可能处理异常代码相似,造成重复代码重复编写 web层再往上抛 …

【驱动】串口驱动分析(二)-tty core

前言 tty这个名称源于电传打字节的简称&#xff0c;在linux表示各种终端&#xff0c;终端通常都跟硬件相对应。比如对应于输入设备键盘鼠标&#xff0c;输出设备显示器的控制终端和串口终端。也有对应于不存在设备的pty驱动。在如此众多的终端模型之中&#xff0c;linux是怎么…

Flutter使用flutter_gen管理资源文件

pub地址&#xff1a; https://pub.dev/packages/flutter_gen 1.添加依赖 在你的pubspec.yaml文件中添加flutter_gen作为开发依赖 dependencies:build_runner:flutter_gen_runner: 2.配置pubspec.yaml 在pubspec.yaml文件中&#xff0c;配置flutter_gen的参数。指定输出路…

《C++ Primer》第10章 算法(二)

参考资料&#xff1a; 《C Primer》第5版《C Primer 习题集》第5版 10.4 再探迭代器&#xff08;P357&#xff09; 除了为每个容器定义的迭代器外&#xff0c;头文件 iterator 中还定义了额外的几种迭代器&#xff1a; 插入迭代器&#xff08;insert iterator&#xff09;&…

Selenium 连接到现有的 Google Chrome 示例

python 3.7 selenium 3.14.1 urllib3 1.26.8 Google Chrome 119.0.6045.160 (64位) chromedriver.exe 119.0.6045.105(win32) 1 Google Chrome 添加参数 "--remote-debugging-port9222" 2 测试效果(chromedriver.exe 要和 Google Chrome 版本…

vue3 router-view 使用keep-alive报错parentcomponent.ctx.deactivate is not a function

问题 如下图&#xff0c;在component组件上添加v-if判断&#xff0c;会报错: parentcomponent.ctx.deactivate is not a function 解决方法 去除v-if&#xff0c;将key直接添加上。由于有的公用页面&#xff0c;需要刷新&#xff0c;不希望缓存&#xff0c;所以需要添加key…

分支和循环

通常来说&#xff0c;C语言是结构化的程序设计语言&#xff0c;这里的结构包括顺序结构、选择结构、循环结构&#xff0c;C语言能够实现这三种结构&#xff0c;如果我们仔细分析&#xff0c;我们日常生活中所见的事情都可以拆分为这三种结构或者它们的组合。 下面我会仔细讲解我…