无代码如何破解软件开发中技术人才短缺问题
大家好,我是smardaten服务总监李鸿飞。今天由我向大家介绍「无代码如何破解软件开发中技术人才短缺问题」。
整个介绍分为三个部分,分别是软件开发现状、无代码破题和案例分析,其中案例分析会在下一期呈现。
现状:开发时间不确定,人才难招
结合题目来说,什么是软件开发?
软件开发是根据用户要求,建造出软件系统或者系统中软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。
那软件开发过程中包含哪些角色?
从上述软件开发定义来看,软件开发人员,包括了进行需求捕捉、需求分析的产品经理,软件设计与软件实现的开发工程师,软件测试的测试工程师以及整体进行管理的项目经理。
从项目交付角度来说,中国的大甲方天然就习惯了施工队模式,导致了中国软件行业很多时候就是个外包模式。无论是签订合同边界,还是产品化交付的项目,都不会逃脱这个魔咒。
简单来说,信息系统交付,没有什么核心竞争力,基本上都是各种流程再造,但满足不了甲方需求,最终沦落为新时代的施工队。
如果你是项目交付的一员,回忆一下你上一个交付的项目,无论是数据分析类的还是信息化管理类的,是不是有大量的表单填报、层级审批,五花八门的数据统计和花里胡哨的各种展示?
大量的不确定性、即时服务性、持续修改性,决定了当前绝大部分软件项目是一个基于不确定结果的开发过程,导致软件开发过程需要大量人员持续投入的服务。
企业级无代码破题四把斧
从编码角度来说,随着项目复杂度的提升以及软件编码语言的不断进化,软件开发过程也从一人完成所有,到各种架构糅合、复杂软件体的团队协作模式。虽然降低了单体的逻辑思维要求,但是对整体架构把控人员的技能和持续学习能力的要求在不断提升。
据不完全统计,随着这几年国家在升学方面的要求以及人口出生率的下降,大学毕业生的数量在不断降低。同时,随着家庭收入水平的不断提升,更多的本科毕业生会因为就业形势不好或者自身的发展,继续深造或者出国再深造,进一步压缩了本科毕业人员的数量。
双重夹击下,软件行业出现了大量的开发人员不够,但又有大量的开发人员失业的情况。从开发人员角度来说,工作要求越来越高,学习内容也越来越杂。从软件公司角度来说,好用的人才难招,软件也越来越不好交付。
无代码破局:明确开发周期、缓和人才数量变化峰谷、降低复合人才要求
对于交付项目的软件,企业需要的是按时、按质量交付客户满意的产品。
在当前项目交付过程、软件过程管理方法都已经明确的情况下,一个好的工具是当前一直在优化和解决的问题,包括过程管控和落地方法,也在不断随着工具的变化而变化。
所谓工欲善其事,必先利其器。无代码工具,与传统的编码方法、低代码平台相比,有什么相同,又有什么不同。
相同的是都需要有基础的逻辑理解能力,对计算机的基础知识的了解能力,有自主学习能力。和这些编码工具不同的地方在于,不需要懂编码语言,也不需要有大量的新技术架构的落地能力。
通过这一个不同点,对于编码人员,能作为自己的辅助工具;对于新员工,可以不用在学习前后端的的技术语言和技术框架;对于非计算机专业的毕业生,也可以不通过专业的编码学习,就能快速的进入到软件行业交付中。从而降低了对学习能力的要求,也拉宽了软件交付人员的招聘范围。
在当前的软件交付过程中,标准的配比是项目管理+产品设计+前端研发+后端研发+安装部署几个角色来组成项目团队,如果某一个能力融合的员工,比如具有编码经验的项目经理、具有环境安装部署的后端开发人员,或者是前后端都会的全栈工程师,无论是员工的价格、员工的稳定性以及人员的寻找、培养上,都是很高的成本。同时,不稳定因素带来的能力继承或者是项目继承的风险性也很高,导致软件交付的成本增加。
根据编码的及时性以及需求传递的不确定性,更多的是需要现场完成才能保障内容的正确,就出现了项目经理到处飞,好的编码人员到处救火的情况。
外部影响来看,新冠疫情的爆发,致使人员一旦到达新的地方,自身的健康码就像多个抛在空中的硬币,但凡有一面是疫情,就无法进入到现场。如果在场的每一位,都是可以全栈的编码人员,也就大大降低了多角色驻场的要求,也降低了对复合人才到场的要求。
个人认为解决方案如下:
►软件开发过程中,减少多角色的参与;
► 各个开发人员之间,从业务模块上进行隔离,而不是从代码层面上进行隔离;
► 对于开发过程所见即所得;
► 对交付结果,有标准可控的内容描述。
在成本可控的情况下,稳定完成一个项目,无代码开发工具可能真的是唯一的选择。
接下来我们来做个假设:
你是传统软件开发公司的项目总监,现在销售接到了一个软件开发项目,目前人手比较紧张。但是,从其他项目上挤一挤,还是能有几个研发可以拼凑起来。抽调了两个前端一个后端,由项目经理带领着去了新的客户现场。从人力评估来看是完全没有问题的。但是,隐含的问题就是,如果前一个项目出现任何一点的风险,人员就需要流动,而在疫情的加持下,流动就代表着除了本身项目风险外的隔离风险,也就进入了无限的填坑动作中。
基于无代码平台开发的软件公司,在前序条件都一样的情况下:
► 初期,项目经理和产品经理调研同时,可以完成基础设计配置。
► 中期,无前后端区分,所以任何项目上的配置都可以组合成为团队。
► 后期,留下一个配置人员进入运维和客户需求调优。
从两个比较来看,基于无代码平台的软件开发,无论是人员使用灵活度上,还是人员素质模型要求上,都有极高的优势。
背后隐含的前提条件也不得不提,不然这种优势本身就不科学:
► 项目管理人员要具备完整的软件项目管理经验,本身对项目的计划、以及对项目的目标性与合理性要清晰;
► 产品设计人员,需要计算机基础知识。需要懂得软件设计,也懂得软件边界管理等相关知识;
► 所有参与人员,要学会使用企业级无代码平台smardaten,项目的核心成员至少要过了无代码平台开发的中级课程。
还有一些隐含的优势在无代码平台里面,比如:三方平台的服务与数据对接;无须服务器管理能力的配置及所得;软件安全性的全方位保障;国产化服务器与操作系统的全面适配等。这些冰山之下的动作,就不一一列举了。
总结来说,对于复合型人才要求的降低,缩减了学习成本。对各类已有人才能力的加持,促进了人员结构的灵活度。这样从传统的项目经理+产品经理+前端开发+后端开发+测试工程师+运维工程师,变成了项目经理+产品经理+配置人员+配置测试的新组合模式,也降低了因为项目数量峰谷变化带来的人员风险。
企业级无代码对于优化人才结构核心价值
无代码平台是一个工具平台,它就像你生产加工的一个新的机械设备。在购买前,本身你已经学会了如何进行软件项目的交付,以及软件项目交付的管理者真正具备了软件交付管理能力。它不能解决软件项目的业务知识问题以及个人逻辑思维能力的提升。但是,它能更加快速、便捷、低成本地实现你的软件设计成果,有效地规避掉很多软件交付过程中冰山之下的问题,包括安全、接入、国产化等。
在去考虑无代码平台之前,还需要看下自己的全生命周期的软件交付能力。到底是因为软件开发成本高,还是本身软件交付管理和设计能力就不足。
大数据采集分析刚出来时,为什么很多单位的部门IT都不喜欢。因为数据采集时,有就是有,没有就没有,很容易被发现。无代码软件开发也一样,一旦开始,很多产品经理的设计能力,很容易就能识别出来,逻辑是否闭环能快速被验证。
针对于前者,无代码平台会在不断使用过程中,不断的降低软件开发成本。如果是后者,那恰好可以用新的模式来解决全生命周期软件设计与开发问题。
具体的案例会在下一期分享。在此之前,期待大家留言、提问,我们可以在下期共同探讨。
转载自:https://segmentfault.com/a/1190000041836706