评估方法:CMMI/能力成熟度模型集成
一、什么是CMMI
CMMI,全称为Capability Maturity Model Integration,即能力成熟度模型集成。它是由美国卡内基梅隆大学软件工程研究所研发的过程改进模型,也是国际上用于评价软件企业能力成熟度的一项重要标准。
CMMI的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。
CMMI认证共有5个级别,分别是:
- CMMI1级,完成级。软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力,管理是反应式的。
- CMMI2级,管理级。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
- CMMI3级,定义级。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
- CMMI4级,量化管理级。
- CMMI5级,优化级。每个过程域,都有一些特殊目标和通用目标,通过相应的特殊实践和通用实践来实现这些目标。
请注意,CMMI评估也称为CMMI认证,评估由SEI授权主任评估师(Lead Appraiser)组织评估小组成员执行。评估全程受SEI监控,最终在SEI官方网站上通报评估结果。
二、CMMI的评估过程是什么
CMMI的评估过程主要包括以下步骤:
- 评估前准备:在这一阶段,项目参与人员需要接受评估流程的介绍,并编写PIIDS(项目初始化集成开发计划)。同时,还要进行过程完善问题的指导,使参与人员熟悉访谈列表。最后,完成评估前的清单准备。
- 预评估:预评估的目的是通过一位主任评估师的指导,初步了解项目的成熟度。在这个阶段,会按照CMMI相关级别的KPA(关键过程域)识别明显的缺陷,并推荐相应的纠正措施。预评估的工作主要包括组织级和项目组长的文档审阅,以及与项目组人员的面谈。
- 正式评估:正式评估是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的主要应用领域:
- 软件过程改进(SPI,Software Process Improvement):帮助软件企业对其软件过程的改变进行计划、制定以及实施。这包括识别当前软件工程过程的状态,以及确定组织所面临的与软件过程有关的、最迫切的改善问题。
- 软件过程评估(SPA,Software Process Assessment):在评估中,一组经过培训的软件专业人员会确定出一个企业软件过程的状况,找出该企业所面对的与软件过程有关的,最迫切的所有问题,并取得企业领导层对软件过程改进的支持。这是一种在合作的、开放的环境中进行的过程。
- 软件能力评鉴(SCE,Software Capability Evaluation):在这个环节,一组经过培训的专业人员会鉴别出软件承包者的能力资格,或者是检查监察正用于软件制作的软件过程的状况。这通常在一个审核的环境中进行,重点在于揭示组织实际执行软件过程的文档化的审核记录。
CMMI 还分为五个不同的成熟度级别(从1级到5级),每个级别都代表了组织在软件过程管理上的不同能力。这些级别为组织提供了一个清晰的改进路径,帮助它们逐步提高其软件开发和维护的能力。
CMMI 是一种重要的工具,可以帮助软件组织改进其软件开发过程,提高软件质量,降低软件开发的风险,并增强组织的竞争力。
相关文章:
评估方法:CMMI/能力成熟度模型集成
一、什么是CMMI CMMI,全称为Capability Maturity Model Integration,即能力成熟度模型集成。它是由美国卡内基梅隆大学软件工程研究所研发的过程改进模型,也是国际上用于评价软件企业能力成熟度的一项重要标准。 CMMI的目的是帮助软件企业对…...
Gin框架: HTML模板渲染之配置与语法详解
Gin的HTML模板配置 1 )单一目录的配置 配置模板目录,在与main.go同级下, 新建目录,下面二选一,仅作举例, 这里选择 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.属性 (1)属性定义 (2)get访问器 (3)set访问器 6. 属性和字段的区别 二、实例:通过定义…...
【复现】Panalog大数据日志审计系统 RCE漏洞_51
目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 Panalog大数据日志审计系统定位于将大数据产品应用于高校、 公安、 政企、 医疗、 金融、 能源等行业之中,针对网络流…...
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
前言 很多同学都不愿给电脑设动态壁纸,其中有个重要原因就是嫌它占资源过多。今天大姚分享一个.NET开源、免费(MIT license)的一个小而快并且功能强大的 Windows 动态桌面软件,支持视频和网页动画播放:DreamScene2。 …...
jsp计算机线上教学系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 JSP 计算机线上教学系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5…...
RabbitMQ的高可用机制
RabbitMQ通过多种机制提供高可用性(HA)支持,以确保消息系统的稳定性和可靠性。下面将详细介绍这些机制,并提供代码示例。 集群(Clustering) RabbitMQ的集群提供了高可用性和负载均衡。集群中的节点共享同一个Erlang分布式数据库…...
人机协同中的贝叶斯和马尔可夫
人机协同中的马尔可夫链是指在人与机器之间协同工作过程中,可能涉及到的状态转移概率模型。马尔可夫链是一种数学模型,描述了在给定当前状态下,未来状态的概率分布只依赖于当前状态,而与过去状态无关的随机过程。在人机协同工作中…...
STM32的SDIO
一.SDIO简介 SDIO,全称Secure Digital Input/Output,是一种用于在移动设备和嵌入式系统中实现输入/输出功能的接口标准。它结合了SD卡的存储功能和I/O功能,允许设备通过SD卡槽进行数据输入输出和外围设备连接。 SDIO接口通常被用于连接各种…...
Unity中的Lerp插值的使用
Unity中的Lerp插值使用 前言Lerp是什么如何使用Lerp 前言 平时在做项目中插值的使用避免不了,之前一直在插值中使用存在误区,在这里浅浅记录一下。之前看的博客或者教程还多都存在一个“永远到达不了,只能无限接近”的一个概念。可能是之前脑…...
年后上来面了一个来字节要求月薪23K,明显感觉他背了很多面试题...
最近有朋友去字节面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…...
代码随想录算法训练营DAY20 | 二叉树 (8)
一、LeetCode 701 二叉搜索树中的插入操作 题目链接: 701.二叉搜索树中的插入操作https://leetcode.cn/problems/insert-into-a-binary-search-tree/description/ 思路:见缝插针罢辽。 class Solution {public TreeNode insertIntoBST(TreeNode root, i…...
2023年全球软件开发大会(QCon北京站2023)2月:核心内容与学习收获(附大会核心PPT下载)
本次峰会是一个汇集了最新技术趋势、最佳实践和创新思维的盛会。对于从事软件开发和相关领域的专业人士来说,参加这样的大会将有助于他们了解行业动态、提升技能水平、拓展职业视野,并与同行建立联系和合作。 本次峰会包含:AI基础架构、DevO…...
键盘输入4个数,从小到大排序
题目 键盘输入4个整数,从小到大排序 思路 代码 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>//键盘输入4个整数,从小到大排序 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 什么是索引节点(inode)。1.2 索引节点作用1.3 inode是怎么产生的?1.4 inode的特点?1.5 Linux系统读取文件的原理1.6 企业生产案例:No space …...
C# Thread的使用
在C#中,线程用于实现程序的并发执行。通过创建和管理多个线程,可以同时处理不同的任务或操作,从而提高程序性能和响应性。以下是如何在C#中使用线程的基本步骤: 创建新线程 // 使用System.Threading命名空间 using System.Threa…...
ETL数据集成工具DataX、Kettle、ETLCloud特点对比
ETL数据集成工具 对于数据仓库,大数据集成类应用,通常会采用ETL工具辅助完成。ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract) 、交互转换(transform) 、加载(load)至的端的过程当前的很多应…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
机器学习的数学基础:线性模型
线性模型 线性模型的基本形式为: f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
41道Django高频题整理(附答案背诵版)
解释一下 Django 和 Tornado 的关系? Django和Tornado都是Python的web框架,但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架,鼓励快速开发和干净、实用的设计。它遵循MVC设计,并强调代码复用。Django有…...
