如何开发更多更好的软件而不是在尝试中死去
最近企业数字化和技术现代化的加速加剧了一个长期存在的问题:软件应用程序变得越来越复杂。而开发人员和工程师的数量没有增长到足以跟上复杂性的步伐。不幸的是,解决人才缺口的努力,比如软件外包或政府推广的软件职业都未能成功。所以我想谈谈低代码平台解决不平衡的新兴价值。
复杂性的兴起
让我们从了解复杂性增长所涉及的内容开始。IT 区域定义了要使用的技术。我们这些在软件开发领域工作多年的人都知道,80 年代和 90 年代所需的技能只是包括掌握两三种技术,即便如此,合格的开发人员仍然短缺。
随着互联网世界的出现,技术领域必须扩大以支持市场上的各种选项(Android、iOS等),软件工程团队需要了解新的编程语言、架构,并获得其他技能,如界面设计、安全、不同设备的技术、界面设计和用户体验等,这些都添加到开发人员所需的技能列表中。几个方面的需求都影响到复杂性呈指数级增长。
1.移动设备等新平台的可用性增加,最终用户现在有权选择要使用的技术;
2.需要开发多体验应用程序,包括使用移动应用程序(在线和离线)、聊天机器人、AR、可穿戴设备、传感器、云、人工智能等;
3.应用程序需要与不同的数据源以及后端的无数服务和技术集成;
4.计算机安全已成为信息时代的差异化因素,软件开发不仅限于编码,还包括测试开发的软件并在敏捷过程 (DevOps) 中部署解决方案。
复杂性也随着用户体验之外的因素而增加。总之,一个人不可能掌握所有这些知识。需要更多的专家来完成解决方案的开发。
需求曲线:企业对应用程序的需求
第二个变量的演变反映了公司不同业务领域不断增长的需求。几年前,与 IT 领域相关的企业面临的最大挑战可能与选择平台和开发 ERP、HR、CRM 系统或其他系统有关。这些选择在近两年产生了巨大的影响,新冠疫情加速了一种观念,即必须使用技术重新设计公司的所有领域,甚至重塑商业模式才能生存。
用户绝对是定义他们需求的人,并且在许多情况下,他们决定了他们想要运行日常应用程序的技术。除此之外,用户根据企业实际情况定义不断变化的需求,并希望他们的应用程序能够适应新的需求,在高度不确定的环境中灵活应对频繁的变化。很明显,软件开发在所有组织中都变得至关重要。每家公司,无论其行业如何,都已转变为小型“软件公司”。
最后,对全世界程序员数量不断增加的分析反映了过去几年的适度加速。然而,尽管政府和 IT 行业协会为促进与编程相关的职业做出了各种努力,差距仍然巨大,其他策略也面临逆风。许多公司通过将软件开发外包给越南印度等国家来满足他们的一些需求。然而,如今生产时间的加快和对灵活性的需求使得这一战略难以为继。未来几年,内部软件开发团队可能会成为常态。
面对这样的现实,还有哪些选择?
新解决方案
一条清晰的道路是在软件开发的自动化方面向前发展。如果我们把它放在一个角度来看,近年来大多数行业都能够或多或少地实现自动化。然而,软件开发行业的出现已经过去了很多年,一个新的世纪已经开始,我们仍在以原来同样的方式:手工编写代码开发软件。
是否可以使用机器人和/或人工智能来构建软件,以高效、有效地满足用户的多种需求?所谓的“低代码平台”是一个有效的选择吗?
我相信这是一个有效的选择,我也鼓励业界的其他软件反思这个问题,以及如何使软件的自动开发、维护和演进成为可能,以实现创新,以及这些解决方案的方式建成。