译自forbes / 原标题《How Will AI Impact Software Development?》
Shutterstock
回到我是一个青少年的时候,在互联 之前,我教自己如何编程,对神经 络和深度学习特别感兴趣。
从这个角度来看,AI在长期未能达到预期之后重新出现是非常有趣的。由于云计算和大数据的力量,AI正在创造一个比我们想象中更快的革命。我们今天看它-从Google Photos到Amazon’s Alexa,再到无人驾驶的特斯拉汽车。但是,AI如何影响许这些新服务的软件开发?开发人员和测试人员的工作会如何改变?
我们会看到一个过渡,以Google CEO 桑达尔·皮查伊的话来说,软件会成为”自己写自己”的系统。
AI已经开始影响软件开发声明周期的各个方面。从软件的早期概念化,到开发、测试、部署和持续维护。目前,我们看到AI对软件开发的两大影响:
-
1.AI帮助开发人员和测试人员创建更好的软件
-
2.开发人员使用AI创建更好的功能,更能影响用户
AI帮助开发人员和测试人员创建更好的软件
AI对开发人员工作的第一个影响是改进的工具,可帮助开发人员更好地编写代码,并使质量保证(QA)专家更有效地进行测试。这已经有助于提高整体软件质量,因为使用机器学习测试软件是自动化测试后的下一步。我们已经可以看到测试人员使用机器来自动查找软件错误。同时,一个新兴领域的测试工具,可以使用AI来帮助测试人员发现软件的缺陷,然后在发现错误后自动修复代码。例如:去年,国防部高级研究计划署(DARPA)举办了一件重大事件,旨在开发可以自动和自助的“检查、评估和修复软件漏洞”的系统,以改善 络安全。
AI最有趣的领域之一是看到它如何帮助开发人员更好的合作。例如:在敏捷开发中,我们看到如何使用AI来改进预估。虽然敏捷团队在合作一段时间后可以非常有效地进行准确估计,但鉴于影响因素较多,仍然会面临挑战。AI对于在不同变量之间存在复杂互相作用的估计以及以前项目的大量数据提供了指导。
同时,我相信我们可以期待看到机器学习在诸如预测敏捷冲刺的可能故障率等场景中使用。 我们也可以期待AI的出现帮助开发者决定应该建立什么。 例如,开发团队应该关注哪些应用程序?
开发人员使用AI来构建更好的应用程序
今天,企业希望AI能够为其软件提供功能,为客户提供高度自定义和个性化的服务。无论在智能手机上的预测性文字,还是华盛顿邮 用来编写新闻的机器人,目前改善应用和创造新功能的AI已经不胜枚举。
将这样的AI功能集成到应用程序中,开发人员变得容易很多。例如:在2017年,微软宣布部署了29个Miscrosoft认知服务,以便只是用几行代码便可以接入AI。Microsoft API帮助开发人员轻松的将AI集成到他们正在开发的应用程序的,同时,现在可以通过 Octane AI 或者 Chatfuel为您的业务创建一个自定义聊天室,无需编程经验,您可以使用它来创建自己的Facebook Messenger机器人。
挑战在于培养正确的心态
机器学习,特别是神经 络,将要求开发人员不仅要学习新的技能,而且要树立新的思维。 发展这种观念将是真正的挑战。 传统的开发人员通常以线性算法的方式来思考,而在开发机器学习算法时,这并不总是需要的。
这也将要求开发人员更深入地了解业务以及总体目标。 这是因为当AI被实现为软件时,从相对简单的输入 – 输出方程转变为可以自动响应不同情况并提供一系列响应的构建软件。
自编码软件还有很长的路要走
我们仍然无法简单地告诉计算机我们的要求是什么,然后电脑单独写代码并创建最终的应用程序。 我不认为开发人员应该担心随着AI的出现而失去工作; 相反,他们需要寻找能够发展AI技能的方法,并使用AI来成为更好的开发人员。 我们将看到的是开发人员和质量保证工作的性质的广泛转变。
声明:
本人的翻译水平有限,翻译中定有错误和疏漏,请各位谅解。
译者不承担因此文翻译所可能导致的任何版权纠纷导致的法律后果;
本站部分文字及图片均来自于 络,如侵犯到您的权益,请及时通知我们,立即删除!谢谢
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!