一家之言:真正发挥平民开发者的创造力,光有低代码还不够

本文主要是介绍一家之言:真正发挥平民开发者的创造力,光有低代码还不够,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着低代码概念日趋火热,与之相关的“平民开发者”(Citizen Developer,也称公民开发者)也受到了更多人的关注。然而,在大多数语境中,平民开发者会与技术基础差划上等号,甚至以此来推演低代码和无代码在企业中的发展路线和应用前景。事实真的如此吗?

平民开发者的定义

平民开发者的概念最早被业界广泛接纳,是源于国际知名咨询公司Gartner的研究报告。翻阅Gartner官网提供的词汇表,我们可以发现其定义如下:A citizen developer is an employee who creates application capabilities for consumption by themselves or others, using tools that are not actively forbidden by IT or business units. A citizen developer is a persona, not a title or targeted role. They report to a business unit or function other than IT.

Gartner对平民开发者的定义

从这段文字中,我们会发现对平民开发者的定义中,完全没有技术能力相关的描述。一个人是否为平民开发者,与其技术能力无关。平民开发者与专业开发者唯一的区别在于前者向业务线而非IT线汇报。也就是说,在平民开发者这个概念上,Gartner更加关注管理层面而非技术层面。

低代码观察员:这是我第一次看到“平民开发者”最初的概念定义。做人群细分时,从管理和组织角度出发,而不是技术,确实很Gartner。

低代码究竟给谁用

关注企业信息化的从业者已经对低代码烂熟于心。作为软件开发技术的发展方向,低代码技术通过可视化的技术手段,大幅降低了软件开发的技术门槛,让更多人能够参与到软件开发中,为企业快速构建个性化的软件应用。然而,真正引入低代码技术的企业面对的第一个难题,是低代码工具究竟该给谁用?以现有的IT团队为主,还是直接将软件开发的工作“下放”到业务团队?

平民开发者的概念,为我们探讨这个问题提供了一个框架。科技以人为本,一切技术的核心都是人。每当我们引入一项新的技术,除了该技术的特性之外,我们还需要从管理和岗位职责上进行梳理和分析。

众所周知,在现代企业管理中,一个员工的职务行为和思维逻辑与该员工的岗位定义和汇报路线直接相关,因为这两者决定了该员工的考核标准,并最终影响该员工的薪资待遇和职业发展。所以,当我们去探讨一项工作或者生产力工具如何在企业落地时,必须理清承接该工作的岗位,才能减少对现有组织架构的冲击,提升落地成功率。这也是Gartner提出平民开发者的概念,并且将其作为一个“用户画像”专门进行研究分析的主要原因。

平民开发者vs专业开发者,谁是低代码用户群体的主力?这个问题可以更直观的转化为另一个“更实际”的问题:企业应该让IT团队负责开发应用,还是让业务团队自行解决信息化的需求。

IT团队 vs 业务团队

因为汇报的上级不是IT部门,平民开发者在进行软件开发时与专业开发者相比有3大挑战。管理层只有认清这三点,并针对其在组织和管理层面进行优化,才能让更多来自业务部门的平民开发者参与到软件开发过程中,最终达到“企业IT能力倍增”的目的。

软件质量:“短平快”优先于可维护性

相比于有明确发展规划和专项预算保障的IT部门,业务部门对信息化的要求通常与当前面临的问题紧密相关。有需要解决的问题,而且IT部门无法及时解决时,业务团队才会临时做出预算,为自己开发软件。

向业务部门汇报的平民开发者在软件开发上的投入更加碎片化,峰值虽然较高,但不可持续。而且,随着软件应用走上正轨,业务部门大概率会在第一时间将后续的维护工作移交给IT部门,即从平民开发者交接给专业开发者。如果在较短的时间周期内,平民开发者没有按照预期完成软件的开发和交付,业务部门就失去了将其留在自己团队的最大理由。该项目则很可能直接搁浅或移交给IT团队,进入开发队列。而对于平民开发者而言,项目已经失败了。
某业务部门的软件采购与开发投入

所以,大多数平民开发者会更关注如何以最快的速度将应用开发完成并投入使用,实现“能用”的基础目标,而不是将精力投入到软件质量和可维护性等方面。“短平快”成为平民开发者构建应用的关键词。相比之下,需要长期维护信息系统的IT部门中,专业开发者则必须将质量与可维护性(包含功能扩展、数据一致性、系统集成等)放在重要的地位,否则就是给自己和其他团队成员“挖坑”,难以持续发展。

学习偏好:对学习投入更加敏感

不可否认,平民开发者在技术能力上可能会比专业开发者稍微弱一些,但这更像是平民开发者运行模式的结果,而不是原因。

为了进一步达到“短平快”的目标,应对不可持续的软件开发工作,平民开发者通常对学习投入更加敏感。除非通过当前岗位之外的工作熟练掌握了某些软件开发技能,平民开发者在学习软件开发技术中投入的每一分钟,都会拖慢项目交付的速度,扩大项目失败的风险。这是很多平民开发者最不愿意看到的情况。

抛开项目本身,相比于IT团队中专业开发者完善的职业发展道路和持续的实战机会,平民开发者在软件开发技术上的学习显得更加没有“性价比”。因为,业务能力才是平民开发者最显著的优势,也是其最大资本;而开发能力,还不知道什么时候才会再次用到。如何让平民开发者也有通过学习不断提升开发能力的机会和动力,是摆在平民开发者领导面前的难题。

风险偏好:对运维风险更加敏感

从学习投入低、更关注短期效果两个特点,我们不难看出平民开发者构建的应用比专业开发者的质量风险更高一些。然而,业务团队对数据错误、系统可用性低、数据安全性差等系统运维风险的敏感性却不会因为开发者不同而展现出明显的差异。更麻烦的是,平民开发者本身处在业务团队,一旦他们构建的应用出现问题,所有损失将由该业务团队自行承担。在很多中大型企业中,这种风险不容忽视。

事实上,决定风险敏感度的首要因素是该软件的应用场景。在应用场景的类型上,企业上下对生产、销售、投资等核心业务系统的风险敏感度更高;OA、人事等边缘应用的敏感度更低。而在数据操作能力上,负责人对仅读取数据的数据分析应用更加放心;而写入数据,尤其是向核心业务系统写入数据的ERP二开等应用要求更加严格。所以,让IT部门的专业开发者专注于核心业务场景、需要写入数据的场景,边缘应用请相关业务团队的平民开发者参与,是一个被广泛接受的“最佳实践”。

平民开发者的突围之路:自我驱动的创业型团队

综上所述,在低代码的使用者群体上,来自IT部门的专业开发者在学习成长、质量保证上比业务团队更有优势,更适合构建高价值的核心业务应用。海比研究在《2021年中国低代码无代码市场研究报告》中提到,使用低代码开发各类应用的使用者中,业务人员占比仅为25%,其余则是来自于低代码平台厂商、合作伙伴和企业IT部门的研发人员,即专业开发者。
低代码使用者以专业开发者为主,海比研究

但是,平民开发者就只能做一些简单的应用,无法对企业创造更高价值吗?我们认为,既然是固化的岗位定义造就了平民开发者和专业开发者的差异,企业可以从根源上打破这种藩篱,彻底解放平民开发者的生产力,即打造自我驱动的创业型团队。

一方面,管理层从公司整体而不是具体团队的业绩对员工进行考核,给勇于创新,加速企业数字化建设的平民开发者以足够的动力,与员工的自我驱动形成正向循环。另一方面,在公司层面形成人员在业务团队和IT团队流转的机制,甚至像创业团队一样淡化岗位区分,让平民开发者可以和专业开发者进行身份互换,确保平民开发者也有在专业开发者团队中学习新技术,持续“充电”的机会;专业开发者也能在业务工作中加深对企业业务运作的理解。

低代码观察员:作为一个从业十几年的专业开发者,在面对业务部门自建IT系统时,应该保持一个开放的心态,提供必要的支持。让IT部门成为业务部门的咨询顾问,也许是一个好思路。

最后,祝愿所有引入低代码技术的企业能够找到自己的落地方案,充分享受软件开发技术进步带来的红利,让企业的数字化进程再创新高。

这篇关于一家之言:真正发挥平民开发者的创造力,光有低代码还不够的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047684

相关文章

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计