装备质量科普
产品软件就几行代码
也要硬着头皮过GJB 5000B?
先算清这三笔账
最近遇到一家做军用连接器的企业老板,满脸愁容地问我:"我们产品里就一块单片机,代码量不到5000行,软件工程师就一个人。但听说军品软件都要过GJB 5000B评价,没过的话以后连订单都拿不到。你说,我们到底要不要搞?"
这不是个例。很多以硬件制造为主的中小型军工配套企业,正被"要不要过GJB 5000B"这个问题折磨得夜不能寐。一方面,听说这是"趋势"、是"门槛",不过不行;另一方面,看看自己那点软件规模,又觉得杀鸡用牛刀,太不值得。
今天这篇推文,我们就来掰扯清楚这件事。
一、先搞清楚GJB 5000B到底是解决什么问题的
GJB 5000B《军用软件能力成熟度模型》是一套评价军用软件研制能力等级的框架,从低到高分为五个等级:初始级、规范级、全面级、量化级、卓越级。它的核心目的是帮助承担军用软件研制任务的单位,建立规范的软件工程化过程,提升软件质量和可靠性。
当前国防科工局和装备发展部对军用软件质量管理的要求是:承担军用软件研制任务的单位,应通过GJB 5000B相应等级评价。
划重点: "承担军用软件研制任务的单位" ——这是判断要不要过GJB 5000B的第一个关键词。
二、你的软件,算"军用软件研制"吗?
这是很多制造型企业最困惑的地方。产品里确实有软件——但那个软件到底算不算"军用软件研制任务"?
根据GJB 5000B的适用范围,所谓"军用软件",通常指的是:
· 作为独立产品交付的软件(如指挥控制系统软件、仿真评估软件等);
· 作为装备组成部分、且对装备功能性能有重要影响的嵌入式软件(如飞控软件、火控软件、通信协议栈等)。
而那些"软件规模很小、复杂度极低、不涉及核心功能性能"的情况,则处于模糊地带。比如:
这些"软件"更像是硬件配置的一部分,而非独立的"软件产品":
· 简单的参数配置程序:只是通过串口设置几个寄存器参数,没有任何算法逻辑。
· LED闪烁控制逻辑:就是让指示灯按照固定频率亮灭。
· 基础通讯应答逻辑:收到指令,返回固定格式的数据包,不做任何数据处理。
这些"软件"虽然也是代码,但它们更像是硬件配置的一部分,而非独立的"软件产品"。如果把这类情况也强制要求通过GJB 5000B评价,显然是标准适用范围被扩大化了。
三、算清三笔账,再做决定
面对"要不要过"的纠结,建议从以下三个维度理性评估。
第一笔账:能不能过得起?
GJB 5000B评价不是一张证书的问题,而是一套持续运行的成本投入。以二级为例,典型的投入包括:
| · 咨询培训费 | 约30-50万元 |
| · 评估费 | 约20-30万元 |
| · 工具平台费 | 5-15万元 |
| · 人力成本 | 1-2名专职/兼职人员 |
以上合计,一个软件规模很小的制造型企业,为通过GJB 5000B二级,投入60-100万元是正常的。而很多这样的小企业,一年的净利润也就这个数。
第二笔账:值不值得过?
假设花了80万通过了GJB 5000B二级,然后呢?每年还要维持体系运行——内部评估、过程改进、工具维护、人员培训,这些都需要持续投入。如果企业的软件业务并没有因此增加、产品竞争力并没有因此提升,那这80万就是沉没成本。
有一个判断方法:看你的软件在装备中的"分量"。如果你的软件只是产品中一个微不足道的辅助功能模块,用户(军方)在验收时从来不单独关注软件,产品合同中也从未对软件开发过程提出过明确要求——那么,为这样一个"边缘软件"去花80万过GJB 5000B,投入产出比极低。
第三笔账:有没替代方案?
如果评估后发现,自己的软件确实规模很小、不涉及安全和任务关键功能,但出于合同或客户要求的压力又不得不"有所表示",可以考虑以下替代路径:
替代方案一:纳入GJB 9001C设计开发控制
不是所有的软件都必须独立拿出来按GJB 5000B管理。如果软件只是硬件产品的嵌入式附属功能,可以在GJB 9001C框架下,将其作为产品设计开发的一部分进行控制——做好版本管理、测试验证和配置管理。
替代方案二:参照GJB 438C编写必要文档,但不过认证
即使不参加GJB 5000B正式评价,也可以参照GJB 438C《军用软件开发文档通用要求》编制软件需求规格说明、软件设计说明、软件测试报告等必要文档。这既能体现基本的软件工程化意识,又不需要投入巨额的体系建设和评价费用。
替代方案三:主动与甲方沟通,确认软件管理边界
在合同签订或技术协议阶段,主动与甲方/军代表室沟通,说明产品的软件规模、复杂度和风险等级,并明确双方对软件质量管理的期望和要求。如果甲方认可你"不单独走GJB 5000B、但做好配置管理和测试验证"的方案,那就不需要"为了过而过"。
四、一个判断框架:到底要不要过?
总结起来,给软件规模很小的制造型企业一个四步判断法:
| 步骤 | 问题 | 如果你的答案是…… |
| 第一步 | 合同/招标文件中是否明确要求通过GJB 5000B评价? | 是 → 必须过 否 → 进入第二步 |
| 第二步 | 软件是否属于"安全关键"或"任务关键"? | 是 → 强烈建议过 否 → 进入第三步 |
| 第三步 | 软件规模和复杂度是否达到需要独立工程化管理的程度? | 是 → 建议认真考虑过 否 → 进入第四步 |
| 第四步 | 企业是否有余力承担60-100万元的投入和持续的体系维护成本? | 有 → 可自主选择 否 → 建议选择替代方案 |
结论:通过这个框架,绝大多数软件规模很小的制造型企业,会停在第三步或第四步——结论很明确:不必要过。
写在最后
GJB 5000B是一套优秀的软件工程化标准,它对提升军用软件质量的价值毋庸置疑。但任何标准都有其适用范围,超出了适用范围去强行推广,就会制造不必要的负担。
对于软件规模很小的制造型企业来说,与其砸几十万去争取一个你可能根本用不上的"证书",不如把这笔钱和精力投入到更该做的事情上——把产品本身的可靠性做好、把工艺过程控制做扎实、把外协质量管理管到位。这些,才是你真正的核心竞争力。
如果甲方真的问起来,你完全可以说:
"我单位产品的软件部分规模很小、不涉及安全/任务关键功能,已在GJB 9001C框架下纳入了设计开发控制和配置管理,满足产品研制要求。"
这不是找借口,这是实事求是。
友情提醒:本文旨在帮助软件规模较小的承制单位理性评估GJB 5000B评价的必要性,提供决策参考。GJB 5000B-2021和GJB 9001C-2017均系国家现行有效的军用标准,各承制单位仍须依法依规遵照执行。具体是否参加GJB 5000B评价、评价何等级别,建议结合本单位实际情况、合同要求和主管军事代表室意见综合确定。
欢迎转发给那个正在为"要不要花几十万过GJB 5000B"而纠结的老板——告诉他,好钢要用在刀刃上。
— 本文供装备研制单位参考
夜雨聆风