为了应对不断变化的威胁,美国防部必须快速开发和交付基于软件的武器和 IT 系统。2023 年 4 月,美国政府问责局发布了一份报告,审查了国防部在多大程度上落实了国防科学委员会和防御创新委员会提出的软件现代化建议,并为未来的软件现代化改革做好了准备。在很大程度上,这些建议--以及国防部计划中和正在进行的努力--侧重于通过调整国防部的传统流程,如简化采购流程、采用数字化转型、试行新的筹资方法和提供及时培训,为作战人员提供基于软件的创新能力。本报告将借鉴美国政府问责局近期的工作,重点介绍国防部迄今为止为实现软件开发和采购方式现代化所做的努力,并将对国防部计划中的软件现代化努力以及美国政府问责局为提高国防部实施这些努力的能力而提出的建议发表看法。

敏捷软件开发

现代软件交付方法广泛依赖于敏捷开发。敏捷开发是一种灵活、迭代的软件开发方式,与传统的国防部软件开发流程(即瀑布式方法)相比,它能更早地向用户交付工作能力。在大多数情况下,采用敏捷方法涉及新的行为和不同的思维方式,是组织运作方式的重大转变。例如,敏捷实践要求将规划、设计、开发和测试整合到一个迭代生命周期中,以尽早和频繁地交付软件,从每隔几天到每隔 60 到 90 天不等。频繁迭代的目的是有效衡量交付全套功能的进度,降低技术和计划风险,并对利益相关者和用户的反馈做出响应。

相比之下,在美国防部传统使用的瀑布式方法下,需求是在开发之前确定的,软件通常在开发周期结束时作为一个单一的完整程序交付。软件开发过程中没有用户的持续参与或反馈,程序可能无法在不增加成本和延误进度的情况下修改需求。这种软件开发方法与国防部硬件系统的开发如出一辙。图 1 比较了敏捷和瀑布式软件开发方法。

图 1. 敏捷和瀑布式软件开发框架的比较

有许多框架可供敏捷项目使用,如开发、安全和运营(DevSecOps),这是一种迭代软件开发方法,它将开发、安全和运营作为向软件用户提供有用能力的关键要素结合在一起。这些框架提供了指导项目的基本结构。敏捷作为一个概念,并不是规范性的,而是各种迭代软件方法的总称。每个框架都是独一无二的,可能有自己的流程和工件(描述计划或已完成内容的文档、数据或其他信息)术语。根据美国政府问责局(GAO)的《敏捷评估指南》,在联邦环境中实施敏捷时,政府人员和承包商人员应共同确定特定项目使用的敏捷术语和流程。这些框架并不相互排斥,可以结合使用。

美国防部的软件工厂生态系统

美国防部的软件工厂生态系统是一系列工具和流程的集合,为整个 DevSecOps 生命周期的各项活动提供支持。软件工厂使用基于云的计算来组装一套软件工具,使开发人员、用户和管理人员能够按日常节奏协同工作。如图 2 所示,这些工具和流程通过三个关键阶段支持持续迭代开发:规划、开发和运营,并在每个阶段强调安全性。

  • 规划。这一阶段涉及帮助项目管理时间、成本、质量、风险和其他问题的活动,如系统设计、项目计划创建、风险分析和业务需求收集。

  • 开发。这一阶段包含多个工作流,配备工具和工作流程,在尽量减少人工干预的情况下实现活动自动化,以生产软件应用程序。

  • 运行。在这一阶段,软件被部署到最终用户。除其他外,在此期间还要进行操作和安全监控。

2018 年 2 月,DSB 指出,软件工厂是迭代开发实践的重要组成部分,因为它们允许程序不断发现错误并获得用户反馈。

图 2. 美国防部软件工厂生态系统

美国国防部的适应性采购框架和软件采购途径

2020 年 1 月,国防部重新发布并更新了其采购政策,强调采购流程的速度和灵活性。更新后的指令建立了自适应采购框架,由六种采购途径组成,每种途径都是根据所采购能力的特点和风险状况量身定制的。这六种采购途径的目的之一是及时向最终用户提供解决方案(见图 3)。

图 3. 美国防部的适应性采购框架

其中一条途径,即软件采购途径,旨在提供高效和有效的安全软件采购、开发、集成和及时交付。2020 财年国家国防授权法案》第 800 条规定,国防部必须制定这一途径。该途径为软件采购和开发投资决策建立了一个框架,以解决能力、经济承受能力、风险承受能力和其他考虑因素之间的权衡问题。它分为两个阶段:规划和执行(见图 4)。

图 4. 美国防部的软件采购途径

利用这种途径,小型跨职能团队--用户、测试人员、软件开发人员和网络安全专家--有望能够快速迭代地交付软件,以满足用户需求。国防部的政策鼓励项目官员经常与用户接触,并至少每年一次向行动提供新功能。该指令落实了我们在 2019 年提出的建议,即国防部应确保其软件开发指南在用户参与和反馈的时间、频率和记录方面提供具体、必要的指导。此外,我们还在 2022 年 3 月报告称,该指南总体上反映了领先公司所采用的主要产品开发原则。

虽然软件采购途径提供了许多潜在的方法来提高国防部从现代软件开发方法中获益的能力,但我们最近的工作也表明,国防部仍在确定如何对该途径进行监督。例如,我们在 2021 年 6 月报告称,国防部尚未收集数据和开发工具,以监督使用该途径的项目。

2021 年 9 月,美国防部表示已制定了软件采购途径数据收集战略,并与各部门总部和相关项目办公室共享。此外,国防部还表示,它计划准备一个半年度报告模板,并收集早期途径项目的试用报告,以获得见解、落实建议并改进模板。

参与软件现代化工作的实体

负责采购和维护的国防部副部长(USD(A&S))、负责研究和工程的国防部副部长(USD(R&E))以及国防部首席信息官(CIO)负责领导软件现代化活动的协调工作,特别是通过软件现代化高级指导小组(SSG)进行协调。除其他外,软件现代化高级指导小组旨在促进整个部门采用现代软件开发实践,并消除采用的障碍。

OSD 内部的许多其他部门(包括成本评估与项目评估部门 (CAPE)、作战测试与评估部门 (DOT&E) 主任)以及联合参谋部和军事部门也负责执行或监督软件现代化的某些方面。软件现代化 SSG 中也有这些组织的代表。

这些部门与软件现代化相关的部分职责包括

  • 美国国防部(A&S)制定软件采购和维护政策,如国防部软件采购途径指令。

  • 国防部研发与教育司(USD(R&E))就国防研究、工程和技术开发的各个方面制定政策并提供建议,如通过研发和科技举措,推动软件开发能力向记录在案的采购项目快速过渡,并使之成为可能。

  • 国防部首席信息官就国防部信息技术、信息系统和网络安全的运作制定战略和政策,如共同领导制定国防部软件现代化战略。

  • DOT&E 制定国防部测试政策,包括国防部指令 5000.89《测试与评估》,该指令概述了软件采购途径项目的测试指南。

  • CAPE 制定成本估算和分析政策,包括国防部指令 5000.73《成本分析指南和程序》,该指令概述了软件购置途径项目的成本估算指南。

  • 联合参谋部制定需求验证补充指南,并针对联合需求审查软件程序。

  • 军事部门执行国防部软件采购政策,并通过决策机构监督软件采购途径项目。此外,军事部门还制定补充软件政策并管理其软件员工队伍。

成为VIP会员查看完整内容
39

相关内容

人工智能在军事中可用于多项任务,例如目标识别、大数据处理、作战系统、网络安全、后勤运输、战争医疗、威胁和安全监测以及战斗模拟和训练。
《美空军研究实验室(AFRL)全球研究布局》50页报告
专知会员服务
64+阅读 · 2023年12月12日
《将无人机和其他新兴技术融入美军》2023最新56页报告
专知会员服务
75+阅读 · 2023年10月21日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
11+阅读 · 2014年12月31日
国家自然科学基金
47+阅读 · 2011年12月31日
A Survey of Large Language Models
Arxiv
407+阅读 · 2023年3月31日
Arxiv
21+阅读 · 2023年3月17日
VIP会员
相关资讯
相关基金
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
11+阅读 · 2014年12月31日
国家自然科学基金
47+阅读 · 2011年12月31日
微信扫码咨询专知VIP会员