人工智能正在从各个方面改变软件开发。尽管许多公司竞相推出人工智能功能,但人工智能的潜力已超出了功能层面,成为大多数SaaS解决方案的基础。当机器学习和人工智能模型应用在SaaS技术后,便能提高各种业务流程的效率。人工智能应被视为新的开发方式的基础。
软件交付将成为实用程序,对增量价值征收高额税收的繁重工作会越来越多;积压的高附加值和创新产品将大量投入生产。人类不会被取代,并且恰恰相反,软件开发人员将解放劳动力并释放出更大的潜力。
从设计到平台思维
随着人工智能成为平台(和SaaS)开发的核心,“设计思维”将逐渐演变为“平台思维”。在人工智能技术世界中,探索和学习将是必不可少的,软件设计会从“以结果为导向”变成“以目标为导向”。
使用人工智能,开发团队能够:
- 快速构建和部署功能性概念验证(POC),而不仅仅是设计原型;
- 对真实的最终用户使用A/B测试和多变量测试;
- 基于实时用户证据识别和部署经过充分测试的应用程序。
由于人工智能让不同领域的专业人员都能设计、交付以及改进流程和技术,平台思维将在整个企业中根深蒂固。平台思维最终会让企业中的每一位员工都能很快地将想法付诸行动。
随着人工智能成为软件开发(以及最终业务流程)的重要组成部分,团队结构和技能需要发展。人工智能引擎将以多种形式出现(平台建议、配套机器人、分析和报告),成为软件交付团队的积极组成部分。
人工智能作为软件交付的延伸
尽管敏捷方法论被广泛采用,但很少有企业真正实现持续交付。随着人工智能作为软件交付团队的延伸,真正的敏捷方法论将成为可能——智能自动化能够让团队持续地进行更新。
这种智能自动化的实现将采取什么方式?在机器人构建底层代码时动态创建和实现。也就是说,在开始自建POC时就实现全功能测试。而内置和不断发展的自动化测试将确保质量并提高速度。
人工智能将如何影响软件开发工程师?
企业需要考虑人工智能在平台工程中的作用,并继续前进。随着这种新开发方式的出现,新的就业机会也由此而生。
- 业务分析师将被重视,以推动业务战略。人工智能会编写个人用户故事、需求和接受标准。业务分析师需要评估人工智能产生的想法,并推动业务与平台思维保持一致,而不是捕捉标准。人工智能和技术将是商业战略的驱动因素,业务分析师将是这一战略部门的重要角色。
- 交互设计将超过UI设计。随着视觉人工智能的快速发展,用户界面设计对页面和业务流程的个性化布局需求会越来越少。交互设计师将通过JavaScript设计系统、图形指南和持续的用户测试来指导AI设计UI和UX。
- 软件架构师将掌握人工智能的力量。虽然人工智能在软件开发领域还处于起步阶段,但是大家已经看到了平台工程的快速发展。同时,企业也正在迅速摆脱SaaS单点解决方案,并在定制和支持SaaS的平台上进行整合,如Salesforce、ServiceNow和Workday。如今,软件架构师正在设计治理系统来制定代码标准、开发流程等等。未来,他们将为人工智能提供动力,并站在他们的角度构建、执行和发展这些系统。
- 测试将成为一个高薪、需求旺盛的职位。对于自主构建的软件,不断地进行测试至关重要。而随着交付生命周期的缩短,未来将需要比以往任何时候都更多的测试。仅仅根据验收标准自动化测试是不够的,测试架构师将设计、部署和维护复杂的测试架构,端到端测试新功能,不断地探索性测试,并运行不断发展的回归套件。
最终,有了人工智能作为SaaS的基础,软件开发者的日常工作将发生翻天覆地的变化。在人工智能驱动软件开发的世界中,持续测试将是决定性因素,也将决定哪些企业在新的工作节奏中蓬勃发展,哪些企业将逐渐走向衰败。
原文标题:AI and the future of software development,作者:Sanjay Gidwani
原文链接:https://www.infoworld.com/article/3704270/ai-and-the-future-of-software-development.html