大部分软件公司都会去申请获得 CMMI 的认证,也会以通过认证为荣,那么 CMMI 认证的意义和目的是什么样可以拿到 CMMI 认证呢篇文章为不懂 CMMI 的同学做个常识的介绍,并且将书本和 络上的文本介绍,转化成了图示和表格等更容易理解和更直观的形式。
CMMI 的定义
CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成。
CMMI是世界公认的软件产品进入国际市场的通行证,不仅是对产品质量的认证,更是一种软件过程改善的途径。如果一家公司最终通过CMMI的评估认证,标志着该公司在质量管理的能力已经上升到一个新的高度。
而认证的等级越高,意味着公司质量管理能力成熟度越高,做的越好。
1994年由美国国防部(United States Department of Defense)与卡内基-梅隆大学(Carnegie-Mellon University)下的软件工程研究中心(Software Engineering Institute,SEISM)以及美国国防工业协会(National Defense Industrial Association)共同开发和研制的
CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。
这些都可以不用关注。只要知道它是一项国际认可的认证标准即可。
CMMI的价值
CMMI为企业带来价值主要体现在以下几个方面:
1) 对开发流程进行标准化和规范化,保证项目进度和质量。
2) 有利于成本控制,缩减不必要的项目开支。
3) 建立完备的知识库,不畏惧人才流失。
4) 持续改善流程,提高质量和效率。
5) 在一些投标项目竞争中,更具有优势。——这也是一般外包公司特别重视这个证的原因。
6) 来自美国制定的国际标准,更能得到国外的认可。——所以一般软件公司要准备融资上市前都力争拿到此证的原因。
传闻有这么一个故事,在一个项目投标过程中,一家公司说,我们 CMMI 认证是5级,另外几家都是3级,所以直接中标了。
软件外包公司之所以特别重视 CMMI 的认证,也是这个原因。
软件公司也会将拿到CMMI 认证视为争取国际融资的一个重要过程。
CMMI 的结构
连续式表述(Continuous)
连续式表述可以提供最大的弹性,一个组织可以选择改善单一流程相关的问题点的绩效,或是可以使用多个领域以密切配合组织的经营目标。连续式表述允许对不同的流程执行不同等级的改善。但组织在选择上仍有一些限制,因为有一些流程领域是彼此相依赖的。
阶段式表达(Staged)
阶段式表达提供系统化结构化的方式,一次一个阶段达到以模型为基础的流程改善。达到每一个阶段可确保有足够的流程基础建设,可作为下一个阶段流程改善的基础。
连续式表达和阶段式表达图示如下:
常见的 CMMI 等级为阶段式表达。
CMMI 的等级
CMMI 等级共五级, Maturity Levers,通常简写为 ML。
ML1初始级
软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
ML2已管理级
建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
ML3已定义级
已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
ML4量化管理级
分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
ML5优化级
过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
默认情况下,任何一家软件公司都可以认为是1级。
2级比较容易做到,3级的要求要多很多,一般来说建议2、3级一起来做。3级到4级间跨度和难度较大。但如果4级做得比较好,要做到5级难度不算很大。
参考示意图如下:
而评估的时候,如果2级的标准达到,但3级的要求达不到,就算4级的要求达到了,也只能算2级。
CMMI的各级标准
先理解过程域的概念。过程域(Process Area),简称 PA,简单的说就是软件开发过程中的某一个方面。
每个ML等级都被分解为若干个过程域。
如上图,PA 共22个,2级有7个PA,3级有11个PA,4级有2个PA,5级有2个PA。各个过程域对应的名称及释义如下:
CMMI等级 |
缩写 |
过程域英文名称 |
过程域中文名称 |
过程域的释义 |
类别 |
ML1 |
|
|
|
|
|
ML2 |
CM |
Configuration Management |
配置管理 |
建立和维护在项目的整个软件生存周期中软件项目产品的完整性 |
支持管理 |
MA |
Measurement and Analysis |
测量与分析 |
开发和维持度量的能力,以便支持对管理信息的需要,作为改进、了解、控制决策 |
支持管理 |
|
PPQA |
Process and Product Quality Assurance |
过程和产品质量保证 |
为项目组和管理层提供项目过程和相关工作产品的客观信息 |
支持管理 |
|
PMC |
Project Monitoring and Control |
项目监督与控制 |
通过项目的跟踪与监控活动,及时反映项目的进度、费用、风险、规模、关键计算机资源及工作量等情况,通过对跟踪结果的分析,依据跟踪与监控策略采取有效的行动,使项目组能在既定的时间、费用、质量要求等情况下完成项目 |
项目管理 |
|
PP |
Project Planning |
项目计划 |
保证在正确的时间有正确的资源可用,为每个人员分配任务、协调人员,根据实际情况,调整项目 |
项目管理 |
|
REQM |
Requirements Management |
需求管理 |
需求管理的目的是在客户和软件项目之间就需要满足的需求建立和维护一致的约定 |
项目管理 |
|
SAM |
Supplier Agreement Management |
供应商协议管理 |
旨在对以正式协定的形式从项目之外的供方采办的产品和服务实施管理 |
项目管理 |
|
ML3 |
DAR |
Decision Analysis and Resolution |
决策分析与解决方案 |
应用正式的评估过程依据指标评估候选方案,在此基础上进行决策 |
支持管理 |
IPM |
Integrated Project Management |
集成项目管理 |
根据从组织标准过程剪裁而来的集成的、定义的过程对项目和利益相关者的介入进行管理 |
项目管理 |
|
OPD |
Organizational Process Definition |
组织级过程定义 |
建立和维护有用的组织过程资产 |
过程管理 |
|
OPF |
Organizational Process Focus |
组织级过程焦点 |
在理解现有过程强项和弱项的基础上计划和实施组织过程改善 |
过程管理 |
|
OT |
Organizational Training |
组织培训管理 |
增加组织各级人员的技能和知识,使他们能有效地执行他们的任务 |
过程管理 |
|
PI |
Product Integration |
产品集成 |
从产品部件组装产品,确保集成产品功能正确并交付产品 |
工程管理 |
|
RD |
Requirements Development |
需求开发 |
需求开发的目的在于定义系统的边界和功能、非功能需求,以便涉众(客户、最终用户)和项目组对所开发的内容达成一致 |
工程管理 |
|
RSKM |
Risk Management |
风险管理 |
识别潜在的问题,以便策划应对风险的活动和必要时在整个项目生存周期中实施这些活动,缓解不利的影响,实现目标 |
项目管理 |
|
TS |
Technical Solution |
技术解决方案 |
在开发、设计和实现满足需求的解决方案,解决方案的设计和实现等都围绕产品、产品组件和与过程有关的产品 |
工程管理 |
|
VAL |
Validation |
确认 |
确认证明产品或产品部件在实际应用下满足应用要求 |
工程管理 |
|
VER |
Verification |
验证 |
验证确保选定的工作产品满足需求规格 |
工程管理 |
|
ML4 |
OPP |
Organizational Process Performance |
组织过程绩效 |
建立与维护组织过程性能的量化标准,以便使用量化方式的管理项目 |
过程管理 |
QPM |
Quantitative Project Management |
量化的项目管理 |
量化管理项目已定义的项目过程,以达成项目既定的质量和过程性能目标 |
项目管理 |
|
ML5 |
CAR |
Causal Analysis and Resolution |
因果分析与解决方案 |
识别缺失的原因并进行矫正,进一步的防止未来再次发生 |
支持管理 |
OPM |
organizational performance management |
组织绩效管理 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
开源GIS软件 1
上一篇
2017年8月6日
基本但却重要,看似简单但却容易流于形式:做实数据模型设计的一些初级实践
下一篇
2017年8月7日
|