当前位置: 首页 > news >正文

评估方法:CMMI/能力成熟度模型集成

一、什么是CMMI

CMMI,全称为Capability Maturity Model Integration,即能力成熟度模型集成。它是由美国卡内基梅隆大学软件工程研究所研发的过程改进模型,也是国际上用于评价软件企业能力成熟度的一项重要标准。

CMMI的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。

CMMI认证共有5个级别,分别是:

  1. CMMI1级,完成级。软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力,管理是反应式的。
  2. CMMI2级,管理级。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
  3. CMMI3级,定义级。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
  4. CMMI4级,量化管理级。
  5. CMMI5级,优化级。每个过程域,都有一些特殊目标和通用目标,通过相应的特殊实践和通用实践来实现这些目标。

请注意,CMMI评估也称为CMMI认证,评估由SEI授权主任评估师(Lead Appraiser)组织评估小组成员执行。评估全程受SEI监控,最终在SEI官方网站上通报评估结果。

二、CMMI的评估过程是什么

CMMI的评估过程主要包括以下步骤:

  1. 评估前准备:在这一阶段,项目参与人员需要接受评估流程的介绍,并编写PIIDS(项目初始化集成开发计划)。同时,还要进行过程完善问题的指导,使参与人员熟悉访谈列表。最后,完成评估前的清单准备。
  2. 预评估:预评估的目的是通过一位主任评估师的指导,初步了解项目的成熟度。在这个阶段,会按照CMMI相关级别的KPA(关键过程域)识别明显的缺陷,并推荐相应的纠正措施。预评估的工作主要包括组织级和项目组长的文档审阅,以及与项目组人员的面谈。
  3. 正式评估:正式评估是CMMI认证的核心阶段,目标是按照SCAMPI/CBA-IPI的要求进行正式的评估。评估的重点是组织内部实施的软件过程,涉及相关级别的所有KPA。正式评估的时间通常是在实施第一阶段培训后的12个月(根据企业的实施情况可能会有所不同)。评估的方式包括文档审阅和评估小组总结。在文档审阅中,所有参评的文档都需要书面打印并装订成册,供评估师审查。

需要注意的是,CMMI评估也称为CMMI认证,评估由SEI授权主任评估师(Lead Appraiser)组织评估小组成员执行。评估全程受SEI监控,最终在SEI官方网站上通报评估结果。

三、CMMI的评估周期是多久 

CMMI的评估周期因不同的认证级别和企业的实际情况而异。

以CMMI3级为例,评估周期通常约为4-6个月。其中,建立CMMI体系的过程可能需要8-12个月,甚至更长时间,这取决于企业的规模、管理水平、资源投入等因素。而评估阶段,包括账号注册、项目开始到正式评估,大约需要3-5个月。正式评估到公示评估结果的时间大约需要1-2个月。因此,从开始准备认证到正式评估,再到公示评估结果,整体服务时间大约为4-7个月。

对于CMMI4-5级,评估周期会更长。前期建立CMMI体系的时间可能超过12个月。从项目开始到正式评估,大约需要6-7个月,而正式评估到公示评估结果的时间仍为1-2个月。因此,整体项目时间大约为7个月以上。

此外,评估周期还会受到其他因素的影响,如评估师的项目档期。由于国内的CMMI评估师较少,每年只能参与16次评估,因此企业在预约评估师时可能需要提前较长时间。

需要注意的是,CMMI证书的有效期为三年,与ISO管理体系不同的是,CMMI证书三年有效期中间不需要做监督,到期后可申请重新认证或证书升级。

具体的评估周期可能会因各种因素而有所不同。建议企业在考虑进行CMMI评估时,提前与专业的评估机构或评估师进行咨询,以便更好地了解评估周期和相关的准备工作。

 

四、CMMI 可以使用到哪些领域? 

CMMI(Capability Maturity Model Integration)即能力成熟度模型集成,主要用于评估和改进软件开发过程的管理和工程实践。以下是CMMI的主要应用领域:

  1. 软件过程改进(SPI,Software Process Improvement):帮助软件企业对其软件过程的改变进行计划、制定以及实施。这包括识别当前软件工程过程的状态,以及确定组织所面临的与软件过程有关的、最迫切的改善问题。
  2. 软件过程评估(SPA,Software Process Assessment):在评估中,一组经过培训的软件专业人员会确定出一个企业软件过程的状况,找出该企业所面对的与软件过程有关的,最迫切的所有问题,并取得企业领导层对软件过程改进的支持。这是一种在合作的、开放的环境中进行的过程。
  3. 软件能力评鉴(SCE,Software Capability Evaluation):在这个环节,一组经过培训的专业人员会鉴别出软件承包者的能力资格,或者是检查监察正用于软件制作的软件过程的状况。这通常在一个审核的环境中进行,重点在于揭示组织实际执行软件过程的文档化的审核记录。

CMMI 还分为五个不同的成熟度级别(从1级到5级),每个级别都代表了组织在软件过程管理上的不同能力。这些级别为组织提供了一个清晰的改进路径,帮助它们逐步提高其软件开发和维护的能力。

CMMI 是一种重要的工具,可以帮助软件组织改进其软件开发过程,提高软件质量,降低软件开发的风险,并增强组织的竞争力。

 

 

相关文章:

评估方法:CMMI/能力成熟度模型集成

一、什么是CMMI CMMI,全称为Capability Maturity Model Integration,即能力成熟度模型集成。它是由美国卡内基梅隆大学软件工程研究所研发的过程改进模型,也是国际上用于评价软件企业能力成熟度的一项重要标准。 CMMI的目的是帮助软件企业对…...

Gin框架: HTML模板渲染之配置与语法详解

Gin的HTML模板配置 1 &#xff09;单一目录的配置 配置模板目录&#xff0c;在与main.go同级下, 新建目录&#xff0c;下面二选一&#xff0c;仅作举例, 这里选择 tpls templatestpls 在 tpls 目录下新建 news.html <!-- 最简单的 --> <h1>News Page</h1>&l…...

.NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库

一、效果 记录日志为文档 记录日志到数据库 二、添加NuGet包 三、log4net.config代码配置 <?xml version"1.0" encoding"utf-8" ?> <log4net><!-- Debug日志 --><appender name"RollingFileDebug" type"log4net…...

Day36 贪心算法 part05

划分字母区间 一个字母区间仅有几个字母前一个字母区间有的字母后面都没有 合并区间 天才举一反三写出来了...

C#计算矩形面积:通过定义结构 vs 通过继承类

目录 一、涉及到的知识点 1.结构 2.结构和类的区别 3.继承 4.使用类继承提高程序的开发效率 5.属性 &#xff08;1&#xff09;属性定义 &#xff08;2&#xff09;get访问器 &#xff08;3&#xff09;set访问器 6. 属性和字段的区别 二、实例&#xff1a;通过定义…...

【复现】Panalog大数据日志审计系统 RCE漏洞_51

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 Panalog大数据日志审计系统定位于将大数据产品应用于高校、 公安、 政企、 医疗、 金融、 能源等行业之中&#xff0c;针对网络流…...

react【五】redux/reduxToolkit/手写connext

文章目录 1、回顾纯函数2、redux2.1 redux的基本使用2.2 通过action修改store的数值2.3 订阅state的变化2.4 目录结构2.5 Redux的使用过程2.6 redux的三大原则2.7 Redux官方图 3、redux在React中的使用4、react-redux使用4.1 react-redux的基本使用4.2 异步请求 redux-thunk4.3…...

.NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2

前言 很多同学都不愿给电脑设动态壁纸&#xff0c;其中有个重要原因就是嫌它占资源过多。今天大姚分享一个.NET开源、免费&#xff08;MIT license&#xff09;的一个小而快并且功能强大的 Windows 动态桌面软件&#xff0c;支持视频和网页动画播放&#xff1a;DreamScene2。 …...

jsp计算机线上教学系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 计算机线上教学系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5…...

RabbitMQ的高可用机制

RabbitMQ通过多种机制提供高可用性(HA)支持&#xff0c;以确保消息系统的稳定性和可靠性。下面将详细介绍这些机制&#xff0c;并提供代码示例。 集群&#xff08;Clustering&#xff09; RabbitMQ的集群提供了高可用性和负载均衡。集群中的节点共享同一个Erlang分布式数据库…...

人机协同中的贝叶斯和马尔可夫

人机协同中的马尔可夫链是指在人与机器之间协同工作过程中&#xff0c;可能涉及到的状态转移概率模型。马尔可夫链是一种数学模型&#xff0c;描述了在给定当前状态下&#xff0c;未来状态的概率分布只依赖于当前状态&#xff0c;而与过去状态无关的随机过程。在人机协同工作中…...

STM32的SDIO

一.SDIO简介 SDIO&#xff0c;全称Secure Digital Input/Output&#xff0c;是一种用于在移动设备和嵌入式系统中实现输入/输出功能的接口标准。它结合了SD卡的存储功能和I/O功能&#xff0c;允许设备通过SD卡槽进行数据输入输出和外围设备连接。 SDIO接口通常被用于连接各种…...

Unity中的Lerp插值的使用

Unity中的Lerp插值使用 前言Lerp是什么如何使用Lerp 前言 平时在做项目中插值的使用避免不了&#xff0c;之前一直在插值中使用存在误区&#xff0c;在这里浅浅记录一下。之前看的博客或者教程还多都存在一个“永远到达不了&#xff0c;只能无限接近”的一个概念。可能是之前脑…...

年后上来面了一个来字节要求月薪23K,明显感觉他背了很多面试题...

最近有朋友去字节面试&#xff0c;面试前后进行了20天左右&#xff0c;包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说&#xff0c;80%的人都会栽在第一轮面试&#xff0c;要不是他面试前做足准备&#xff0c;估计都坚持不完后面几轮面试。 其实&…...

代码随想录算法训练营DAY20 | 二叉树 (8)

一、LeetCode 701 二叉搜索树中的插入操作 题目链接&#xff1a; 701.二叉搜索树中的插入操作https://leetcode.cn/problems/insert-into-a-binary-search-tree/description/ 思路&#xff1a;见缝插针罢辽。 class Solution {public TreeNode insertIntoBST(TreeNode root, i…...

2023年全球软件开发大会(QCon北京站2023)2月:核心内容与学习收获(附大会核心PPT下载)

本次峰会是一个汇集了最新技术趋势、最佳实践和创新思维的盛会。对于从事软件开发和相关领域的专业人士来说&#xff0c;参加这样的大会将有助于他们了解行业动态、提升技能水平、拓展职业视野&#xff0c;并与同行建立联系和合作。 本次峰会包含&#xff1a;AI基础架构、DevO…...

键盘输入4个数,从小到大排序

题目 键盘输入4个整数&#xff0c;从小到大排序 思路 代码 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>//键盘输入4个整数&#xff0c;从小到大排序 int main() {int n1, n2, n3, n4;scanf_s("%d %d %d %d", &n1, &n2, &n3, &n4);…...

Day11-Linux系统iNode及链接知识及企业按哪里精讲

Day11-Linux系统iNode及链接知识及企业按哪里精讲 1. 文件核心 属性知识1.1 什么是索引节点&#xff08;inode&#xff09;。1.2 索引节点作用1.3 inode是怎么产生的&#xff1f;1.4 inode的特点&#xff1f;1.5 Linux系统读取文件的原理1.6 企业生产案例&#xff1a;No space …...

C# Thread的使用

在C#中&#xff0c;线程用于实现程序的并发执行。通过创建和管理多个线程&#xff0c;可以同时处理不同的任务或操作&#xff0c;从而提高程序性能和响应性。以下是如何在C#中使用线程的基本步骤&#xff1a; 创建新线程 // 使用System.Threading命名空间 using System.Threa…...

ETL数据集成工具DataX、Kettle、ETLCloud特点对比

ETL数据集成工具 对于数据仓库&#xff0c;大数据集成类应用&#xff0c;通常会采用ETL工具辅助完成。ETL&#xff0c;是英文 Extract-Transform-Load 的缩写&#xff0c;用来描述将数据从来源端经过抽取(extract) 、交互转换(transform) 、加载(load)至的端的过程当前的很多应…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...