AI智能总结
这种软件开发的速度和效率对于企业在现代数字领域中进行创新、适应和发展至关重要。然而,这种便捷性和速度也带来了新的挑战。曾经是提高生产力的途径,如今却为一种新的运营混乱打开了大门。企业必须能够并自信地快速开发、部署具有先进治理控制的定制人工智能(AI)解决方案,以确保业务不会因安全问题而受阻。在以前所未有的速度进行创新的过程中,企业面临关键问题:速度与控制能否共存?能否在混合多云基础设施上实施有效且全面的监控?鉴于应用程序编程接口的激增、不断发展的生成式人工智能工具以及团队规模的预算压力下降,能否确保质量?能否大规模部署治理措施以确保满足包括软件供应链在内的安全标准和合规法规?技术革新正支撑着对快速软件开发的需求。低代码/无代码平台的承诺正在实现,让企业内部的新用户无需编码技能即可创建任何所需的技术解决方案。过去需要数月才能完成的项目如今几天内即可完成,这一切得益于能在几分钟内构建的解决方案和应用。在当今快节奏的商业环境中,企业快速开发软件应用的能力不仅是一种竞争优势,更是一项必需品。以更快的速度交付更多软件的压力达到了前所未有的高度,对于未能跟上步伐的公司而言,潜在的财务和声誉风险也显著增加。当该方案得到正确部署时,它可以持续地实现高质量、优化、安全且合规的软件的快速创新和交付。更加令人鼓舞的是,现有的AI驱动解决方案能够支持、管理和确保每个支柱的成功。那些采用由《哈佛商业评论分析服务》研究的、本白皮书详述的方法的人员,对这些问题的每一个问题的答案是肯定的。本报告在软件开发领导者、来自500强公司、全球咨询公司和技术研究机构的专家的指导下,重点介绍了现代软件开发相互关联的四大支柱。与AWS、LogicMonitor、Quickbase、SmartBear和Sonatype共同支持本次研究和白皮书,旨在为团队提供装备和力量,使其在变化的环境中充满信心地前行。我们鼓励您继续阅读,以了解这四个相互关联的支柱,并思考您如何在您的业务中部署和支持它们。 梅根·吕德尔斯,Sonatype首席营销官Eric Olson, 首席营销官, QuickbaseCynthia Gumbert,营销总监,SmartBear布罗克·坎宁安,逻辑监控公司首席营销官 1白皮书 | 在人工智能时代拥抱现代软件开发实践如果操作得当,这种方法可以使公司具备创新、适应和在速度至上的时代蓬勃发展的能力。根据总部位于马萨诸塞州坎布里奇的研究机构Forrester Research Inc.的数据,到2028年,软件开发将经历一场彻底的变革,使团队能够以前所未有的速度构建新应用程序。迪耶戈·洛·吉迪切,福雷斯特公司的副总裁兼首席分析师解释道:“软件是企业的一种表达形式,因为它是组织所有流程、政策和服务的基石。创建一个持续、迭代的软件交付模型取决于拥有一个从里到外精心设计的基础设施,以加速开发过程。”正在发展的数字环境要求现代软件开发实践包含四个相互关联的支柱:速度和敏捷性、通过测试和可观察性提高的可见性、人工智能驱动的自动化以及嵌入式安全和治理。将生成式人工智能(gen AI)融入这些流程可以对IT人员产生深远影响。麦肯锡公司的一项研究发现,87%使用gen AI的开发者表示他们能够专注于有意义和令人满意的工作,而未使用该技术的开发者中只有50%表示如此。图1这种对IT人员的影响再次强调,正如任何深刻的技术变革一样,现代软件开发远不止于技术层面。这四个支柱需要更高水平的协作。高技能工作者必须被赋予创新权力,同时也要建立保护企业资产的约束机制。高管必须重新思考IT预算等实践方式,以确保软件开发不被拖累在人工智能(AI)和快速变化的业务需求的时代,企业必须加速其软件交付,同时确保其开发流程能够适应不可避免的更多代码、基础设施和测试的需求。拥抱人工智能时代现代软件开发实践。 重点内容很明显,那些将取得成功的组织是那些能够有效利用这些现代软件工程实践以快速、一致和安全的方式提供价值。现代软件开发正在经历深刻变革,组织正经历着这一过程。采用新实践以提供速度、敏捷性和创新那就是不断变化的商业世界所要求的。The transformation requires a shift in组织对持续学习和适应的承诺并谨慎平衡速度和品质、创新与安全。 嵌入安全与治理白皮书 | 在人工智能时代拥抱现代软件开发实践AI 可以承担我们人类工作中一些较为繁琐的部分,这样我们就能专注于那些 AI 无法做到的更具创造性的解决方案,Bolt说。“我们正在评估这种方法的指标,包括采用率和完成的代码行数。我们看到,由于上市时间缩短、sprint [一个固定长度的时期,在此期间完成特定工作并准备好供审阅] 速度提升以及缺陷减少,业务价值 KPI 正在增加。”根据Capital Group Companies Inc.(一家总部位于洛杉矶的百年金融服务公司)的网络和网络可靠性工程副总裁肖恩·兰德里(Shawn Landreth)的说法,人工智能必须在测试和可观察性等任务中处于核心地位。“一年前,我们每天有超过13,000次警报。我们将这个数字削减到不到1,000次每天,但这对于一个团队来说,仍然是一次要处理的警报量,”他说。“随着我们监控平台的演进,我们需要将人工智能置于其中,添加背景信息并填补空白,以便我们能确定哪些问题真正需要我们立即关注。”随着开发速度的提高和系统的日益复杂,安全和治理必须融入开发过程的每个阶段。在开发使用人工智能和机器学习模型的应用时,稳健的数据治理措施尤为重要。在波士顿咨询集团股份有限公司(BCG),一家总部位于波士顿的管理咨询公司,人工智能驱动的自动化已被扩展到软件测试这一关键任务中。\"软件未完成测试和缺陷修复及重新测试之前,它就不算完成\",BCG全球IT软件工程师、总监和卓越中心负责人Ryan Bolt表示。\"你可以拥有世界上最优秀的软件应用,但如果它加载需要10分钟,你的用户接受度就会受到严重影响。\使用生成式人工智能有助于弥补这一差距。BCG的软件质量工程师正在使用ChatGPT和GitHub Copilot等工具,以更快地编写自动化代码框架,并测试不同测试场景下的业务需求。此步骤已嵌入测试流程中,允许工程师一键获取建议的测试用例列表。“随着应用程序的构建变得越来越容易,人们会稍微松懈一点,”电信巨头AT&T(总部位于Bedminster)的商业管理首席顾问布莱恩· hinshaw表示。数据以预期软件开发过程中可能出现的问题或延迟。在咨询公司中,程序员们已开始运用生成式人工智能编写代码。如今,该组织正探索为软件质量工程师测试生成式人工智能工具的使用案例,以提升他们的效率。“我收到的最大反馈是软件测试人员需要更多时间和[质量保证]能力,但我们没有无限的资源,”Bolt表示。 % %■技术改善了开发者的生活。对人工智能高度满意来源:麦肯锡公司调查,2023年6月图我能够专注于令人满意和有意义的工作。disagreeWithout generative AI使用生成式人工智能本文探讨了软件工程的转型,研究企业如何采用现代软件开发的关键支柱来创新、适应并在速度至上的环境中取得成功。本报告将深入探讨企业在从传统实践和工具过渡到根本不同的软件交付方式时所必须应对的变革管理、人员和技术问题。最重要的是,组织必须构建一个灵活的基础设施和流程,以适应变化将成为常态的时代。\"软件和应用程序的未来很可能会与我们现在所见大不相同,\" 来自都柏林总部、全球专业服务公司埃森哲(Accenture plc)的全球创新负责人亚当·伯登(Adam Burden)表示。\"我能预见一个世界,数据驱动型开发开始取代,取而代之的是像知识图谱这样的东西,而不是大量的代码和长篇软件程序。如果你今天不投资于正确的架构并实施适当的治理,你会发现自己越来越落后。\人工智能和机器学习(ML)正在从代码生成到测试和部署的各个方面,为软件开发革命增添动力。通过为过时的技术和较不动态的时期而设计的流程。通过人工智能提升效率:AI驱动的工具可以根据自然语言描述建议代码补全,甚至生成整个函数。AI可以帮助生成测试用例,预测代码中哪些区域最有可能包含错误,甚至修复其中的一些缺陷。AI可以分析历史项目 %%■强烈Somewhatdisagree ■Neither agree不认同 % 低代码和无代码平台——这些允许用户无需广泛编程知识即可创建应用程序或自动化流程的工具——正在使软件开发民主化,让“公民开发者”(即用户本人)能够快速创建应用程序而无需广泛的编码知识。“我见过一些公民开发者几天内就构建了他们的解决方案,现在他们负责维护这些方案,” Hinshaw表示。“如果你观察传统的开发实践,除了需求之外,几乎没有什么能在几天内完成。”Airhart 以一个简单而强大的步骤开始——通过一个由人工智能驱动的发展平台引入版本控制。这一看似微小的改变为更稳健的开发流程奠定了基础。他的团队随后引入了构建和发布管道,这些是自动化软件开发过程中涉及步骤的过程,消除了许多以前曾让开发人员头疼的手动任务。这些挑战要求公司在开发过程的早期就整合安全实践,而不是将其视为事后补救。他们必须使用工具自动检查并强制执行相关法规和标准。当Airhart于2019年被任命为其现任职位时,他继承了一个使用过时软件系统的环境,其中一些系统已有十多年历史。该公司的风险状况不明确,众多网站容易受到未知的威胁。“大多数现代软件工程开始更加强调代码重用、开源代码以及其他内部源代码库,”美国钢铁公司(一家总部位于匹兹堡的钢铁制造商)网络安全经理亚当·艾哈特(Adam Airhart)表示。“所以,如果你在一个领域中发现安全漏洞,这些漏洞会被大量复制到其他地方。”根据2024年6月由位于马里兰州贝塞斯达的非营利网络安全机构SANS研究所进行的一项调查,在这个复杂的环境中,公司发现自己面临挑战,需要在不断扩大的漏洞或“攻击面”上监控安全、抽出时间改进流程,并及时响应安全问题。图2此外,美国钢铁公司已采纳第四支柱,将安全嵌入开发实践。“我们在人工智能飞速发展的过程中,已经很大程度上超出了我们的舒适区,我们需要像新人工智能技术出现的速度一样快速学习,”艾哈特表示。该公司设立了“审批关卡”,这些是在构建和发布过程中需要明确批准的检查点N.J. “你必须回来检查他们的工作。内部审计非常重要,而且我们还有第三方审计正在进行。开发过程永远不会缺少这一环节。” %安全挑战为流程改进和自动化留出时间衡量安全运营的投资回报率。在员工和/或轮班之间保持一致的流程持续关注安全警报的数量日益增长的网络攻击面和不足的时间是主要问题及时检测/响应安全事件图来源:SANS研究所调查,2024年6月其他在进行下一阶段之前。“开发者能立即获得反馈,因此他们可以立即纠正任何问题,”Airhart说。“虽然大多数中间步骤的批准环节是自动化的,但当开发者希望从流程中的一个关键阶段过渡到另一个关键阶段时,仍需获得人工批准。”正如Accenture的Burden所指出的,“没有比拥有一套真正强大的标准和治理体系来指导你做事更好的选择了。最成功的公司都有一个强大的中央治理机构和一些精明的架构师。”缺乏统一的安全分析和监控 / 过多的非集成化点解决方案使网络安全威胁情报(即对“野生”网络安全威胁的新信息做出反应)的运作化以下哪项您认为是最显著的安全运营挑战?选择最多三个,不按任何特定顺序。对基于云的工作负载、应用程序和软件即服务缺乏可见性监控不断增长和变化的攻击面(即更多设备、应用程序、网络流量等)的安全状况。 4提升可见度Most modern software engineering has started要强调大量代码重用,大量开放源代码,以及其他内部来源图书馆,所以如果你在一个领域存在安全漏洞,那些缺陷在许多地方都有体现。”十年前,系统的主要组件通常被构建为单体,其复杂度不过比客户端层、服务器层和Web层更高,伯登说。“如今,