本文发表于《指挥信息系统与技术》2024年第4期
作者:赵宇,周中元,陶智刚
引用格式:赵宇,周中元,陶智刚 .军用作战软件敏捷研发模式与启示[J].指挥信息系统与技术,2024,15(4):1-9.
简介
军事软件敏捷能力交付将成为未来体系对抗博弈的新战场。首先,归纳了军用作战软件研发特点,提出了军用作战软件敏捷研发的3种参考模型以及能力评估框架;然后,分析了美军军用作战软件敏捷研发模式的发展情况与趋势;最后,将软件工厂视为敏捷研发模式的落地实践,提出了相关参考架构、敏捷研发能力评估和启示,并对军用软件敏捷研发关键技术进行了总结。
0 引言
在战争形态向体系化、数字化、智能化和全域化方向演进的时代背景下,随着软件技术和计算技术的进步,未来战场急需以软件为中心的数字化研发方法,否则将招致与竞争对手在战略、战役和战术层面对抗中的溃败。军事作战中,系统硬件和武器系统虽然至关重要,但作战软件则能使复杂的作战决策、目标定位和资源配置等的实现过程更快、成本更低和决策效率更高,从而根本上改变装备体系的价值和效能。
2021年,美军提出了联合全域指挥控制(JADC2),特别强调发挥信息系统的体系作战中枢神经作用,以及基于云架构、人工智能(AI)、敏捷数据架构和可扩展软件架构等技术实现装备功能解耦,从而敏捷适应不同作战场景;2022年,美军发布的《国防部软件现代化战略》将基于软件工厂的敏捷研发上升至战略层面,同期美军智库也提出了软件定义战术和软件定义战争等观点,强调在武器装备数字化和智能化浪潮下,形成一套适应现代杀伤链构建的软件敏捷能力交付模式的重要意义。可以预见,软件定义体系化战争的时代即将来临,对抗双方博弈焦点将不仅限于战场,装备供应链的持续交付、敏捷交付和安全交付能力也会成为保障中长期竞争优势的关键。因此,研究军用作战软件能力交付模式演进具有重要意义。
前期研究侧重于基于软件能力成熟度集成模型(CMMI)的过程管理评估优化等,缺少军用作战软件特点分析,而对JADC2研究也集中于作战样式和装备等方面,将软件研发模式与全域联合作战对软件装备要求的横向拉通考虑则更少。本文认为军用软件敏捷研发是典型的复杂系统工程,故从作战革新推动研发模式转型的新视角,研究了军用软件敏捷研发新趋势和美军软件工厂新情况,并探讨了上述新模式对我军用软件研发的启示。
1 军用软件敏捷研发
1.1 研发特点
军用作战软件研发具有特殊性,无法简单地与民用行业进行横向类比。本文从需求、研制和运维3个方面,对军用作战软件和互联网软件/移动端应用软件(App)的研发特点进行了对比分析,如表1所示。军用软件核心是保障作战任务,因此在可靠性、对抗环境适应性和信息安全等方面要求更高,且需与各类传感器和武器平台铰链,通过数据流和业务流等层面协同,实现观察—判断—决策—行动(OODA)的闭环,最终形成作战能力。此外,由于军用作战软件和互联网软件/移动端App在迭代升级方面要求较相似,故针对需求初始不确定和后期爆炸性增长的情况,均需通过持续集成/持续交付(CI/CD)方式实现敏捷能力交付。
表1 军民用软件特点对比分析
1.2 研发趋势
在设计装备向设计战争理念转变的影响下,军用作战软件研发正从“需求明确、过程清晰”的传统模式,向“军地联合创造需求、数据驱动小步快跑”的新模式转变,具体内容包括:1) 软件不再是能够完全“设计出来”的,用户持续试用成为促进能力升级的动因之一;2) 软件迭代周期更快,从传统的需求调研—研制/联试—交付使用的长周期迭代(以年为单位),向以一线用户为中心的边研—边用—边改迭代(以月/周为单位)转变;3) 软件的便捷可塑性客观上促进了对用户个性化需求的快速响应,以指挥控制系统为例,可适应不同任务/力量特点快速定制化;4) 数字化手段进一步打通了生产者与使用者的通道,交互—反馈—交互的环路更加灵活和高效。
1.3 研发参考模式
借鉴民用软件研发模式,提出以下3类军用作战软件研发模式:1) 瀑布式开发模式:适用于项目需求稳定、开发周期短、开发活动明确以及技术成熟度较高的模块化研制,如美军联合指挥控制系统(GCCS-J)的态势显示和指令分发等功能;2) 基线式迭代模式:适用于用户需求持续变化以及希望阶段性交付产品的情况,通过预设迭代周期和版本管理以实现复杂系统能力集成,如美军海上综合防空火控系统(NIFC-CA);3) 开发安全运维一体化(DevSecOps)模式:将敏捷研发融入军用软件活动全周期,以微服务+研发云为基础,以自动化+标准化研发流程为驱动,融合CI/CD所需的工具、制度规范和信息安全要求,实现工厂化的研发自动监控与快速装配,支持面向作战任务以能力包方式持续性地交付高质量软件,如美空军先进作战管理系统(ABMS)、元星座(Meta Constellation)智能应用研发等。3类军用作战软件研发模式特点及能效对比如图1所示。
图1 3类军用作战软件研发模式特点及能效对比
虽然当前军用作战软件研发普遍处于基线式迭代模式向DevSecOps模式转型探索阶段,并具备主要研发活动的自动化工具支撑能力,但本文认为DevSecOps本质上是对传统软件研发文化的再定义,需在技术革新、模型驱动、组织调整、流程优化和团队认知等层面协同推进,从而有效推动软件敏捷研发模式转型。
1.4 敏捷研发能力框架
联合全域作战对军用作战软件敏捷研发提出了更高要求,具体为:1) 更快的迭代周期:适应部队需求持续变化以及边研边用边改边试的模式;2) 更优的服务质效:高效响应处置战场突发软件异常,保障系统快速升级部署和能力恢复,期间不影响关键任务;3) 更低的研发成本:实现降本增效,且供应链处于高效可持续的能力交付状态;4) 更强的可生存性:具备对抗性的网络生存能力和主动安全防御能力,该能力是从军用软件运用角度考虑的,需在研发过程中重点关注。
基于DevSecOps模式,本文提出了军用软件敏捷研发能力评估框架,如图2所示。军用作战软件敏捷研发能力评估框架包括:1) 需求精准开发与验证能力(C1):需求是精益研发的起点,可支持模型驱动的作战需求、系统需求获取验证、用户沉浸式参与和及时体验确认需求;2) 模型化正向设计能力(C2):贯通体系结构—系统架构—软件编码设计链条,形成基于模型的工具链,支持设计成果的正向传递和逻辑验证;3) 软件持续集成与精益管理能力(C3):基于研发云实现代码生成、编译构建、测试检查、在线部署和安全漏洞扫描等自动化调度,以业务流方式内嵌CMMI等军用软件管理规范,支持大规模和高并发持续集成;4) 虚实交互验证评估能力(C4):对核心算法和功能性能进行贴近实战的仿真验证评估,解决在部队现场实装实网部署验证成本高和迭代慢的问题;5) 研发协同生态构建能力(C5):支持跨单位、跨系统和跨团队的分布式协同研发,支持“大体系与小体系、大系统与小系统”间设计成果的数据对接和模型共享;6)任务/需求敏捷响应效能(C6):是衡量敏捷研发能力的直观指标,针对突发需求变更、软件故障和研制要求等,任务/需求敏捷响应效能包括研发团队完成的软件质量、研发效率(交付速度)和核心需求满足度(业务价值)3个方面,其中,衡量软件质量的指标有发布缺陷情况和测试通过率等,衡量交付速度的指标有缺陷有效解决时长和需求更新周期等,衡量业务价值的指标有核心需求完成度和业务流满足度等。
图2 军用作战软件敏捷研发能力评估框架
图3给出了3类军用作战软件研发模式典型能力状态。可见,瀑布式开发模式的数字化和网络化程度相对较低,基本不具备敏捷研发能力;基线式迭代模式强化了模型驱动和协同研发能力,辅以配套的管理制度规范可实现有限的敏捷交付,但费效比较高且长期可持续性不佳;DevSecOps 模式通过引入先进技术、优化管理机制和开放研发生态等,有效保障了军用软件能力持续集成交付。
图3 3类军用作战软件研发模式典型能力状态
2 美军敏捷研发模式转型
2.1 发展趋势分析
1)宏观层面上发布多份国家战略,持续提升对敏捷研发重视程度。
2021—2022年,美国国防部签署的《联合全域指挥控制战略》《联合全域指挥控制战略实施计划》,将DevSecOps模式软件开发环境与零信任网络安全、云、网络数据传输层、身份与访问管理、任务伙伴环境以及新技术体系化集成(“突击破坏者”Ⅱ项目)并列,并作为推动JADC2落地的7种最小可行产品(MVP)。2022年,美国智库MITRE公司提出实现JADC2目标的功能架构,并将基于DevSecOps模式的现代化软件工具作为下一代指挥控制平台应具备的基本要素。2022年,《国防部软件现代化战略》进一步提出将软件敏捷交付列为美军取得竞争优势的关键因素,强调基于国防部企业云环境实现DevSecOps、建立国防部软件工厂生态以及转变流程以实现软件交付的弹性与速度3项长期目标,并给出了实施框架与思路。美国国防部软件现代化战略框架如图4所示。
图4 美国国防部软件现代化战略框架
2)实践层面上推进软件工厂整合,打造敏捷研发的工具链生态。
软件工厂是美军为适应JADC2能力交付要求,近年来得以重视并快速发展的概念,可视为军用软件DevSecOps模式的物化落地。软件工厂包括狭义和广义2类概念:1) 狭义概念:可视为面向军用软件CI/CD的一套完备的辅助工具集、作业流程和环境支撑,确保在开发、构建、测试、发布和交付等全生命周期内实现高效的工厂化、自动化和规模化,从而降低研发成本;2) 广义概念:本质上是一种新型软件敏捷开发文化实践,既涉及软件研发,又涉及通过调整管理、开发和运维等人员角色,重新定义相关职责和开发过程,从而整体提升开发速度和效益。
目前,美军各类软件工厂发展迅速,其中空军进展相对较快。2017年,美国空军率先组建“凯塞尔航线”软件工厂,截至2022年,软件工厂已达近30家,其中多数为空军建设。得益于先进作战管理系统(ABMS)的PlatformONE项目推进,美国空军已形成包括软件工厂、软件工程小组和服务机构等在内的规模化效应。在美国国防部战略牵引下,后续推进关键步骤是将各类软件工厂的工具/环境整合为生态,尽可能使用通用化的敏捷研发技术栈来构建企业级DevSecOps服务环境,支持跨军种和跨项目共享软件成果,从而加快安全审批流程。图5展示了美国国防部基于PlatformONE构建企业级DevSecOps服务环境愿景。
图5 美国国防部基于PlatformONE构建企业级DevSecOps服务环境愿景
3) 技术赋能层面上提倡装备数字孪生,加速软件工厂能力交付效率。
美军正将数字孪生作为软件工厂的关键使能技术,而美国海军已取得实质性进展。2021年,美海军成立了Forge(锻造)软件工厂,将DevSecOps工具与虚拟“宙斯盾”等舰载作战系统的数字孪生系统集成。美国海军虚拟“宙斯盾”系统运行示意图如图6所示,通过虚拟“宙斯盾”系统,在数字空间模拟“基线9”作战系统中“宙斯盾”防空战(AAW)核心代码功能运行;利用自动测试与重测试(ATRT)设备,从本舰获取实战数据,对新研作战软件进行现场测试与评估,在通过检验、验证和认证(VV&A)流程后实时在线更新到战舰上,打破传统软件试验模式,大幅缩短舰队作战能力升级周期。
图6 美国海军虚拟“宙斯盾”系统运行示意图
2.2 软件工厂技术架构
考虑美国国防部企业级DevSecOps愿景,归纳出DevSecOps与软件工厂技术模型。美军DevSecOps与软件工厂的技术模型如图7所示,其中,基础设施层提供企业级多云环境,支持对各DevSecOps服务的计算存储资源统一纳管;平台层和CI/CD层提供适配微服务架构的基础共性软件、代码/算法仓库、软件运行编译/测试环境和规范化实例构建等工具,数字孪生和AI低代码等平台,以及CI/CD能力;服务网格层充分发挥微服务使能优势,提供基于服务栅格的多容器组合编排能力,以及内生的安全授权认证协议栈;应用层主要提供各类作战应用软件。
图7美军DevSecOps与软件工厂的技术模型
2.3 敏捷研发能力评估
结合图2,本文定性评估了美军近年来军用作战软件敏捷研发能力提升以及对JADC2的赋能,其结果均为概略性结论。美国军用软件敏捷研发能力提升的概要评估如图8所示。美军敏捷研发能力的评估支撑信息如表2所示,其数据来源参考了公开的科技情报信息。
图8 美国军用软件敏捷研发能力提升的概要评估
表2 美军敏捷研发能力的评估支撑信息
2.4 启示与借鉴
为了适应未来持续加快的OODA环路,本文给出对我国军用软件敏捷研发的启示,具体内容如下:
1) 敏捷研发和软件工厂并非颠覆性理念,而是在现有国防科技工业基础上,采用新的研发组织文化,有针对性地进行工具和流程再造,实现渐进式研发能力提升。
2) 敏捷研发会对现有软件研发管理制度带来冲击,需提前加以考虑。a) 以支持敏捷迭代为核心,更加强调差异化,不同项目要求采用适应自身任务特性的独特研发管理流程,这对CMMI要求将更高,故需引入更加高效的辅助工具;b) 数字化思维带来管理模式变化。
3) 军用软件在部队侧与军工单位侧之间,以及在开发、测试与运维人员之间的边界将越来越模糊,交互也将更加密切,这使得持续敏捷交付原型、在真实环境中试用以及以此为抓手迭代将成为趋势。
4) 做好DevSecOps工具平台建设。现阶段,美军军用软件敏捷研发仍为百花齐放态势,后续发展思路将是“求同存异”,即遵循统一的体系工程方法和规范化的数据交换模型(求同),实现成果跨项目/跨军种复用,同时允许各方发展符合自身特色的工具链(存异),通过集智众创,逐步形成工具生态体系。
5) 需高度关注软件安全性,特别是开源/第三方软件安全性认证,提升全程可追溯性。
3 军用软件敏捷研发架构与关键技术
3.1 参考架构
围绕军用软件敏捷研发,借鉴美军模式提出了一种敏捷研发参考架构,如图9所示。基于统一的研发原料库、DevSecOps工具集和基础设施,将研发人员队伍、规范制度和研制流程等因素统筹纳入,以自动化CI/CD流水线的方式固化,围绕不同军用软件研发需求创建CI/CD流水线管道,同时融入低代码和数字化辅助新技术,驱动敏捷研发设计、开发、测试和部署全流程贯通。
图9 敏捷研发参考架构
3.2 关键技术
1) 服务解耦与服务编排技术。借鉴民用微服务技术思路,重点考虑军用软件功能间业务依赖和时序处理情况,重点解决有状态服务业务解耦和数据管控问题,提升军用复杂系统可伸缩性和编排灵活性,包括军用异构服务体制集成、作战业务服务网格和机固一体化软件在线运维等技术。
2) 低代码AI大模型辅助技术。重点考虑大模型在军事领域泛化问题,形成研发助手,辅助代码注释、相似工程复用、算法自动编写和测试用例生成等,提升代码质量和自动化构建以及智能测试水平。由于AI直接生成完整代码技术难度较大,故需研究基于监督学习的低代码性能评估以及基于信息检索/深度学习的自动注释生成等技术。
3) 数字化模型驱动技术。考虑以模型驱动方式,在美国国防部体系结构框架2.0(DoDAF2.0)、系统建模语言(SysML)、统一体系结构框架(UAF)等建模语言基础上,突破军用领域架构模型语义增补以及可执行模型验证等技术,打通指挥控制、情报和通信等领域的体系-系统-编码工具集间信息流,并基于状态机和仿真方式进行模型自闭环验证,实现正向设计贯通。
4 典型应用示例
4.1 运行流程
结合DevSecOps模式,本文提出了一种军用作战软件敏捷研发流程,如图10所示。DevSecOps发生于项目立项策划—研制测试—交付部署的全生命周期,由军地联合促进各阶段流程的自动化和管理高效化,并尽可能依赖全军共用服务组件;针对敏捷研发环境侧,基于模型驱动的系统设计,将全系统研发细分为不同子功能的CI/CD流水线管道,便于差异化管控和编排,同时针对关键环节设置自动合规性测试和安全性监测节点,以确保研发数据流的有效监控和按需共享。
图10 军用作战软件敏捷研发运行流程
4.2 典型案例
以作战任务规划系统为例,对军用作战软件敏捷研发应用模式进行说明。为便于描述,本文将系统功能简化分为作战模型及算法、作战功能及框架2类,2类软件设计研发模式要求不同,前者的持续调优VV&A高度依赖于部队现场试用数据,后期模型持续完善工作较多;后者与用户规划业务需求相关,功能设计对接工作较多。作战任务规划软件架构示意如图11所示。
图11 作战任务规划软件架构示意
考虑军事需求响应优先级,以能力增量V1.1和V1.2方式,分阶段微版本覆盖全部需求,且每个微版本迭代是短周期式的。研发中,可对2类软件采用不同的研发流水线以应对不同科研生产管理流程,同时基于可复用的代码仓库和统一安全检测,实现增量版本受控。在部队现场,可基于数字孪生环境进行模型在线验证调优和软件性能评估,并在线收集新需求和问题,以便用于下阶段的版本快速迭代。图12给出了作战任务规划软件敏捷研发和持续交付示意图。与现有研发模式相比,该典型案例具有以下提升点:1) 基于能力增量的阶段微版本设置;2) 基于软件流水线的差异化软件研发管理;3) 统一的代码仓库(复用)管理和安全漏洞检测支持;4) 基于部队现场数字孪生环境的模型在线调优和软件评估反馈;5) 全流程研发工具集的数据传递、模型贯通及研发智能化辅助支撑。
图12 作战任务规划软件敏捷研发和持续交付示意图
5 结束语
本文研究了军用软件敏捷研发的参考模型和能力评估框架,结合美军软件工厂等实践,分析了对我军软件研发模式转型启示以及关键技术。值得注意的是,我国军用作战软件有其自身特点,不可直接盲目套用美军的基于国防部云+微服务模式,现阶段更宜着眼军工单位研发工具间深度集成运用,探索基于CI/CD流水线管道的精细化研发管理,同时引入数字孪生仿真和量化评价方法,科学验证敏捷研发模式设计成果的有效性。
声明:本文来自防务快讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。