GJB5000B《军用软件能力成熟度模型》于2021年发布,旨在提升军用软件的研制能力与质量管理水平,确保软件产品的可靠性和安全性。GJB5000B是在GJB5000A基础上修订而成,吸收了guojibiaozhunCMMI(CapabilityMaturity Model Integration)的Zui新理念,并结合军用软件的实际情况进行本地化改进。
GJB5000能力成熟度模型是构建于GJB9001C体系之上的,起笔者将以GJB9001C过程方法的思维GJB5000二级能力成熟度模型标准要求的理解与实施,并融合,解决一线设计及生产人员同步疲于应付两套标准,质量管理部门单设门户独立运行两套体系的资源浪费现象,期待切实做到体系标准提升实物质量的作用。
【标准原文】
5.5 实施基础(II)
5.5.1 目的
确保组织过程的建立、实施、保持和改进。维持有效和高效地实现目标的能力。
【理解与实施】
在GJB5000B标准中,5.4实施基础(II)实践域的目的是确保组织的过程能够有效地建立、实施、保持和改进,从而维持实现目标的能力。这一条款强调的是组织在软件开发过程中需要具备的基础条件和支持机制,确保过程的持续有效性和高效性。
理解要点
过程建立:确保组织能够根据其业务目标和软件工程需求,建立合适的过程框架和流程。
过程实施:确保所建立的过程能够被正确地执行,并且在执行过程中能够达到预期的效果。
过程保持:确保已经实施的过程能够在日常工作中持续地运行,并且不会因为人员流动或其他因素而失效。
过程改进:确保组织能够持续地识别和改进过程中的不足之处,不断提高过程的效率和效果。
【实施步骤】
1.需求分析与过程设计:组织应进行需求分析,识别软件开发过程中的关键要素,如需求管理、设计、编码、测试等,并设计相应的过程框架。
2. 过程文档化:将设计好的过程文档化,确保每个过程都有明确的操作指南、标准和模板,便于员工理解和执行。
3. 培训与宣贯:通过培训和宣贯,确保所有相关人员了解过程要求,并能够按照规定执行。
4. 过程执行与监控:在实际操作中,确保过程被正确执行,并通过监控机制收集数据,评估过程的有效性和效率。
5. 持续改进机制:建立持续改进机制,定期收集反馈,识别过程中的问题和改进机会,并采取措施进行优化。
【举例说明】
假设某企业的软件开发部门正在实施GJB5000B标准,为了确保软件开发过程的有效性和高效性,采取了以下措施:
1. 需求分析与过程设计:
公司的软件工程部门与质量管理部门合作,通过需求分析,识别出软件开发过程中的关键环节,如需求管理、设计评审、代码审查、测试计划等。
根据这些需求,设计了详细的软件开发过程框架,并制定了相应的操作指南和标准。
2. 过程文档化:
将设计好的过程框架和操作指南编制成详细的文档,包括《软件需求管理规程》、《设计评审指南》、《代码审查标准》等。
这些文档详细描述了每个过程的步骤、责任人、输入输出、使用的工具和技术等。
3. 培训与宣贯:
通过内部培训课程,确保所有软件开发人员和质量管理人员了解新建立的过程框架及其操作指南。
定期举行研讨会和交流会,分享zuijia实践和常见问题解决方案,确保员工能够正确执行过程。
4. 过程执行与监控:
在实际开发项目中,严格按照文档化的过程执行各项任务,并通过定期的项目评审会议,检查过程执行情况。
使用项目管理工具和质量管理系统,收集过程执行的数据,如需求变更次数、缺陷率、测试覆盖率等,以便评估过程的有效性和效率。
5. 持续改进机制:
每个季度举行一次过程改进会议,过去一段时间内的过程执行情况,识别存在的问题和改进机会。
根据会议结果,制定改进计划,并分配责任人员负责实施改进措施。
改进措施实施后,通过后续的项目执行验证改进效果,并将成功的改进措施纳入标准过程文档中,形成良性循环。
通过上述措施,该企业不仅确保了软件开发过程的有效性和高效性,还建立了持续改进的文化,为提升软件开发质量和项目管理水平提供了坚实的基础。
【标准原文】
5.5.4 二级目标和实践
5.5.4.1目标
提供过程实施的资源保障。开发并持续改进过程,形成过程规范,监督过程实施的遵循性,逐步积累过程资产。
【理解与实施】
GJB5000B标准中的5.5.4实践域涉及过程实施的资源保障、过程开发与改进、过程规范的形成以及过程实施的监督与过程资产的积累。这一目标旨在确保组织能够为软件开发过程提供必要的资源,并通过持续改进和规范化管理,确保过程的有效性和效率,Zui终积累宝贵的过程资产。
理解要点
1. 资源保障:确保为过程实施提供足够的资源,包括人员、资金、工具、设备等。
2. 过程开发与改进:开发适合组织特点的过程,并通过持续改进,提升过程的成熟度和有效性。
3. 过程规范:形成并维护过程规范,确保过程的一致性和标准化。
4. 过程实施监督:监督过程实施的遵循性,确保过程按照规范执行。
5. 过程资产积累:逐步积累过程资产,包括文档、模板、工具、zuijia实践等,为未来的项目提供支持。
【实施步骤】
1. 资源规划与分配:明确过程实施所需的资源,并确保资源到位。
2. 过程开发与改进:开发适合组织的过程,并持续改进,确保过程的适用性和高效性。
3. 过程规范制定:制定详细的过程规范,包括操作指南、标准和模板。
4. 过程实施监督:通过监控机制,确保过程按规范执行。
5. 过程资产积累与管理:收集和管理过程资产,确保资产的可用性和持续更新。
【举例说明】
假设某企业正在实施GJB5000B标准,为了实现5.5.4.1目标,采取了以下措施:
1. 资源规划与分配:
人员:公司确保每个项目团队配备了足够的软件工程师、测试工程师、项目经理和质量保证人员。还设立了专门的过程改进团队,负责过程的持续优化。
资金:公司为过程改进项目预留了专项资金,用于购置先进的开发工具、测试设备和培训资源。
工具与设备:公司采购了Zui新的开发工具和测试平台,并确保所有开发人员都能够使用这些工具。
2. 过程开发与改进:
需求管理:公司开发了一套需求管理过程,确保需求从收集、分析到确认的每一个步骤都有明确的操作指南。
设计评审:公司制定了详细的设计评审流程,确保设计方案经过多轮评审,减少了设计缺陷。
持续改进:公司建立了定期的过程评审机制,通过数据分析和项目复盘,识别过程中的问题,并采取改进措施。
3. 过程规范制定:
文档化:公司将所有过程规范文档化,包括《需求管理规程》、《设计评审指南》、《代码审查标准》等。
培训与宣贯:通过内部培训课程,确保所有相关人员了解并掌握过程规范。
标准化:确保所有项目团队按照统一的标准和流程执行,减少差异性。
4. 过程实施监督:
监控机制:公司使用项目管理工具和质量管理系统,实时监控过程执行情况,收集关键指标数据。
定期评审:通过定期的项目评审会议,检查过程执行情况,并对不符合规范的情况进行纠正。
反馈机制:建立过程反馈机制,鼓励员工提出改进意见,并将有价值的建议纳入过程规范中。
5. 过程资产积累与管理:
资产库:公司建立了中央过程资产库,收集了所有过程文档、模板、工具、zuijia实践等。
持续更新:资产库中的内容定期更新,确保其时效性和适用性。
共享机制:通过内部网络和培训活动,确保所有项目团队能够方便地访问和使用这些资产。
通过上述措施,该公司不仅确保了软件开发过程的资源保障,还通过持续改进和规范化管理,积累了宝贵的过程资产,为提升软件开发的质量和效率提供了坚实的基础。
【标准原文】
5.5.4.2 提供过程的资源保障(II 2.1)
应为组织和项目过程的建立、实施、保持和改进提供必要的资源保障。
活动实例:
a) 应为过程建立、实施和改进提供人力保障,进行人力资源策划,建立过程实施团队并指派职责(如组织决策机构和组织实施机构、软件开发团队、测试团队、质量保证团队、项目管理团队等人力资源);
b) 应为过程建立、实施和改进提供物资保障,分析现有内外部环境因素(如资源能力和局限),确定过程建立、实施和改进所需的物资(如项目运维保障场地、设施,软件开发所需的设备,包括硬件环境、软件开发环境、仿真环境和测试环境等),识别从外部获取资源和内部提供资源,进行策划,保障过程实施;
c) 应为过程建立、实施和改进提供资金保障,进行资金预算策划,购置或开发所需资源;
d) 为组织和项目过程实施提供培训保障(培训资料开发及提供培训)。
工作产品实例:资源保障策划、培训记录,过程实施的工作环境、设施等资源保障记录。
【理解与实施】
GJB5000B标准中的5.5.4.2条款要求为组织和项目过程的建立、实施、保持和改进提供必要的资源保障。这一条款涵盖了人力资源、物资资源、资金资源和培训资源的保障,确保过程能够顺利进行并达到预期目标。
理解要点
1.人力资源保障:确保过程实施团队的组建和职责分配,包括组织决策机构、组织实施机构、软件开发团队、测试团队、质量保证团队、项目管理团队等。
2. 物资资源保障:分析内外部环境因素,确定过程实施所需的物资,并进行策划,确保资源的可用性。
3. 资金资源保障:进行资金预算策划,确保购置或开发所需资源的资金支持。
4. 培训资源保障:提供必要的培训,确保员工具备执行过程所需的技能和知识。
【实施步骤】
1. 人力资源策划:根据过程需求,策划人力资源配置,明确各团队的职责。
2. 物资资源分析与策划:分析内外部环境,确定所需物资,并策划获取途径。
3. 资金预算策划:制定资金预算,确保资源购置和开发的资金支持。
4. 培训资源策划:开发培训资料,提供必要的培训,提升员工能力。
【举例说明】
假设某企业正在实施GJB5000B标准,为了实现5.5.4.2条款的要求,采取了以下措施:
1. 人力资源策划:
团队组建:公司成立了专门的过程实施团队,包括组织决策机构(高层领导)、组织实施机构(项目经理)、软件开发团队、测试团队、质量保证团队、项目管理团队等。
职责分配:明确各团队的职责,如软件开发团队负责软件开发和编码,测试团队负责软件测试,质量保证团队负责质量监控,项目管理团队负责项目整体管理。
人员培训:组织定期的培训课程,确保团队成员具备执行各自职责所需的技能和知识。
2. 物资资源分析与策划:
环境分析:公司进行了内外部环境分析,识别了软件开发所需的硬件环境、软件开发环境、仿真环境和测试环境等。
资源需求:根据分析结果,确定了所需的物资,如高性能服务器、开发工具、测试设备等。
资源获取:通过内部采购和外部合作的方式,确保所需物资的及时到位。例如,与供应商签订长期合作协议,确保关键设备的供应。
3. 资金预算策划:
预算制定:公司制定了详细的资金预算计划,包括硬件采购、软件许可费用、设备租赁、培训费用等。
资金保障:确保预算得到批准,并按计划执行,避免因资金问题影响过程实施。
4. 培训资源策划:
培训资料开发:公司开发了一系列培训资料,包括操作手册、视频教程、案例分析等。
培训实施:组织定期的内部培训课程,确保员工掌握必要的技能。还邀请外部专家进行专题讲座,提升员工的专业水平。
工作产品实例
资源保障策划:详细的资源保障计划,包括人力资源配置、物资需求分析、资金预算等。
培训记录:每次培训的签到表、培训内容记录、培训效果评估报告等。
工作环境、设施等资源保障记录:硬件设备的采购记录、软件许可证的购买证明、测试环境的搭建记录等。
通过上述措施,该企业不仅确保了软件开发过程的资源保障,还通过详细的策划和实施,提升了过程的效率和质量。这些措施为组织和项目的成功实施提供了坚实的基础。
【标准原文】
5.5.4.3 开发并持续改进过程,形成过程规范,监督过程实施的遵循性(II 2.2)
通过描述、执行并记录过程,保持过程的持续改进,形成过程规范,按照过程规范客观评价过程的遵循性,并处理不符合项。
活动实例:
a) 识别过程目的,策划并描述过程,包括过程的策划、模板、说明;
b) 按计划标识和吸纳过程的利益相关方,执行并记录过程,维护过程的实施计划;
c) 已验证的过程,形成过程规范(包括过程定义、说明和过程描述);
d) 评估过程的遵循性,验证过程是否按照过程规范执行,标识待改进项,提出改进建议;
e) 收集项目运行过程中出现的问题和改进建议,并持续改进过程规范;
f) 处理待改进项,启动必要的纠正措施并跟踪完成情况;
g) 交流验证结果。
工作产品实例:过程实施策划、过程模板、过程实施记录、内部评估记录、评价结果、修改建议、过程规范。
【理解与实施】
GJB5000B标准中的5.5.4.3条款要求组织通过描述、执行并记录过程,保持过程的持续改进,形成过程规范,并监督过程实施的遵循性。这一条款旨在确保软件开发过程的标准化、规范化和持续优化,从而提高软件开发的质量和效率。
理解要点
1. 过程识别与策划:明确过程的目的,策划并描述过程,包括过程的策划、模板和说明。
2. 过程执行与记录:按计划执行过程并记录执行情况,维护过程实施计划。
3. 过程规范形成:已验证的过程,形成过程规范。
4. 过程遵循性评估:评估过程的遵循性,验证是否按照过程规范执行,并处理不符合项。
5. 持续改进:收集项目运行过程中出现的问题和改进建议,并持续改进过程规范。
6. 纠正措施:处理待改进项,启动必要的纠正措施并跟踪完成情况。
7. 验证结果交流:交流验证结果,确保信息的透明和共享。
【实施步骤】
1. 过程识别与策划
识别过程目的:明确每个过程的目的,确保过程与组织的业务目标和软件开发需求相一致。
策划并描述过程:制定详细的策划文档,包括过程的输入、输出、责任人、步骤、模板和说明。
2. 过程执行与记录
执行过程:按照策划的计划执行过程,并确保所有步骤都按照规范进行。
记录执行情况:详细记录过程执行的每一个步骤,包括使用的工具、产生的文档、参与人员等。
3. 过程规范形成
已验证的过程:将已验证的过程成规范文档,包括过程定义、说明和过程描述。
形成过程规范:确保过程规范的文档化,并在组织内部进行宣贯和培训。
4. 过程遵循性评估
评估过程遵循性:定期评估过程的执行情况,确保过程按照规范执行。
验证过程执行:通过内部审计、项目评审等方式,验证过程是否按照规范执行。
标识待改进项:在评估过程中发现的问题和不符合项,明确标识出来,并提出改进建议。
5. 持续改进
收集问题与建议:在项目运行过程中,定期收集问题和改进建议,并进行汇总。
持续改进过程规范:根据收集到的问题和建议,持续改进过程规范,确保规范的适用性和有效性。
6. 纠正措施
处理待改进项:针对发现的问题和不符合项,制定纠正措施计划。
启动纠正措施:启动纠正措施,并跟踪纠正措施的完成情况,确保问题得到解决。
7. 验证结果交流
交流验证结果:将验证结果与相关人员进行交流,确保信息的透明和共享,以便各方了解过程改进的进展。
【举例说明】
假设某企业的软件开发部门正在实施GJB5000B标准,为了实现5.5.4.3条款的要求,采取了以下措施:
1. 过程识别与策划
识别过程目的:公司识别了软件开发过程的主要目的,包括需求管理、设计评审、编码、测试等关键环节。
策划并描述过程:制定了详细的《软件开发过程策划书》,包括需求管理过程、设计评审过程、编码过程、测试过程等,明确了每个过程的输入、输出、责任人和步骤。
2. 过程执行与记录
执行过程:在软件开发项目中,严格按照策划书中的过程执行,并确保每个步骤都有详细的记录。
记录执行情况:使用项目管理工具记录每个过程的执行情况,包括需求变更记录、设计评审记录、编码版本控制记录、测试结果记录等。
3. 过程规范形成
已验证的过程:在多个项目中验证了软件开发过程的有效性后,公司形成了《软件开发过程规范》文档,包括过程定义、说明和过程描述。
形成过程规范:将《软件开发过程规范》文档化,并在组织内部进行宣贯和培训,确保所有相关人员都能理解和执行。
4. 过程遵循性评估
评估过程遵循性:公司设立了内部审计小组,定期对软件开发过程进行评估,确保过程按照规范执行。
验证过程执行:通过项目评审会议,验证过程是否按照规范执行,并记录评审结果。
标识待改进项:在评审过程中发现的问题和不符合项,明确标识出来,并提出改进建议。
5. 持续改进
收集问题与建议:在项目运行过程中,定期收集项目团队的问题和改进建议,并进行汇总。
持续改进过程规范:根据收集到的问题和建议,持续改进《软件开发过程规范》,确保规范的适用性和有效性。
6. 纠正措施
处理待改进项:针对发现的问题和不符合项,制定纠正措施计划,并分配责任人。
启动纠正措施:启动纠正措施,并跟踪纠正措施的完成情况,确保问题得到解决。
7. 验证结果交流
交流验证结果:将验证结果与相关人员进行交流,确保信息的透明和共享,以便各方了解过程改进的进展。
通过上述措施,该企业不仅确保了软件开发过程的标准化和规范化,还通过持续改进机制,提升了过程的效率和质量,为实现GJB5000B标准下的软件工程成熟度提供了坚实的基础。
【标准原文】
5.5.4.4管理项目过程资产并逐步积累过程资产(II 2.3)
识别项目过程资产,确保项目组成员知悉过程资产的获取方式,逐步积累可用的过程资产。
活动实例:
a) 识别项目产生的数据、过程资产,并按规范要求管理数据、过程资产;
b) 发布可用的过程资产,确保团队成员了解哪些资产可用;
c) 按过程资产管理要求获取、并重复使用过程资产;
d) 积累过程资产,为建立组织的过程资产库打基础。
工作产品实例:已管理并可重复使用的过程资产、已管理的数据。
【理解与实施】
GJB5000B标准中的5.5.4.4条款要求组织识别项目过程资产,确保项目组成员知悉过程资产的获取方式,并逐步积累可用的过程资产。这一条款旨在确保项目过程中产生的数据和过程资产得到有效管理和利用,为组织的过程资产库积累奠定基础。
理解要点
1. 识别过程资产:识别项目过程中产生的数据和过程资产,并确保这些资产得到妥善管理。
2. 发布可用资产:确保项目团队成员了解可用的过程资产,并能够方便地获取和使用这些资产。
3. 获取与重复使用:按照过程资产管理的要求,获取并重复使用过程资产,提高工作效率。
4. 积累过程资产:逐步积累过程资产,为建立组织的过程资产库打下基础。
【实施步骤】
1. 识别过程资产
数据识别:识别项目过程中产生的数据,如需求文档、设计文档、测试报告、项目计划等。
过程资产识别:识别项目过程中形成的过程资产,如模板、zuijia实践、工具配置文件等。
2. 管理过程资产
资产分类:对识别出的过程资产进行分类,确保每一类资产都有明确的管理规范。
资产存储:将过程资产存储在中央过程资产库中,确保资产的安全性和可访问性。
资产更新:定期更新过程资产,确保资产的时效性和有效性。
3. 发布可用资产
资产发布:将可用的过程资产发布到项目团队成员可以访问的地方,如内部网站、共享文件夹等。
资产宣传:通过培训、会议、内部通讯等方式,确保团队成员了解可用的过程资产,并知道如何获取和使用这些资产。
4. 获取与重复使用
资产获取:确保团队成员能够按照过程资产管理要求获取所需的过程资产。
重复使用:鼓励团队成员在新项目中重复使用已有过程资产,提高工作效率。
5. 积累过程资产
资产积累:逐步积累过程资产,为建立组织的过程资产库打下基础。
资产优化:根据项目经验,不断优化过程资产,提升其适用性和实用性。
【举例说明】
假设某企业的软件开发部门正在实施GJB5000B标准,为了实现5.5.4.4条款的要求,采取了以下措施:
1. 识别过程资产
数据识别:公司识别了项目过程中产生的关键数据,如需求规格说明书、设计文档、测试计划、测试报告、项目计划等。
过程资产识别:识别了项目过程中形成的过程资产,如需求管理模板、设计评审模板、测试用例模板、项目管理指南等。
2. 管理过程资产
资产分类:将识别出的过程资产按照类型进行分类,如需求管理类、设计评审类、测试管理类、项目管理类等。
资产存储:建立了中央过程资产库,使用版本控制系统(如Git)存储所有过程资产,并确保每个资产都有版本控制。
资产更新:定期对过程资产进行评审和更新,确保资产的时效性和有效性。
3. 发布可用资产
资产发布:通过内部网站发布可用的过程资产,确保项目团队成员可以随时访问和下载这些资产。
资产宣传:通过内部培训、会议、邮件通知等方式,确保团队成员了解可用的过程资产,并知道如何获取和使用这些资产。
4. 获取与重复使用
资产获取:确保团队成员能够按照过程资产管理要求获取所需的过程资产。
重复使用:鼓励团队成员在新项目中重复使用已有过程资产,如需求管理模板、设计评审模板等,提高工作效率。
5. 积累过程资产
资产积累:逐步积累过程资产,如需求管理模板、设计评审模板、测试用例模板等,为建立组织的过程资产库打下基础。
资产优化:根据项目经验,不断优化过程资产,提升其适用性和实用性。例如,根据项目中遇到的问题,改进需求管理模板,使其更适合当前项目的实际情况。
工作产品实例
已管理并可重复使用的过程资产:需求管理模板、设计评审模板、测试用例模板、项目管理指南等。
已管理的数据:需求规格说明书、设计文档、测试计划、测试报告、项目计划等。
通过上述措施,该企业不仅确保了项目过程中产生的数据和过程资产得到有效管理和利用,还通过逐步积累过程资产,为建立组织的过程资产库奠定了坚实的基础。这不仅提升了项目团队的工作效率,还为组织的长期发展提供了重要的智力资本支持。