软件企业如何简要实施CMM软件成熟度模型
CMM简介软件能力成熟度模型

CMM的五个等级
1. 初始级:软件过程的特点是无序的,甚至是混乱的。 几乎没有什么过程是经过妥善定义的,成功往往依 赖于个人或小组的能力。
2. 可重复级:建立了基本的项目管理过程来跟踪成本、 进度和功能特性。制定了必要的过程纪律,能重复 早先类似应用项目取得的成功。
3. 已定义级:已将管理和工程活动两方面的软件过程 文档化、标准化,并综合成该机构的标准软件过程。 所有项目均使用经批准、剪裁的标准软件过程来开 发和维护软件。
4. 已管理级:收集对软件过程和成品质量的详细度量 值,对软件过程和产品都有定量的理解和控制。
5. 优化级:过程的量化反馈和先进的新思想、新技术 促使过程不断改进C。MM简介软件能力成熟度模型
关键过程域
指明为了改进其软件过程组织应重点关注的区 域。识别出为了达到某个成熟度等级所必须着 手解决的问题。
SEI:美国卡耐基梅隆大学的软件工程研究 院产品
SEI:为美国联邦政府评估软件供应商能力,于 1986年开始研究的模型,于1993 年推出CMM 1.1版。
CMM 1.1版:是目前世界上比较流行和通用的CMM 版本。
新研究:
CMMI ( Integration ) P-CMM ( People ) SACMM ( 软件获取CMM )
CMM定义:对于软件组织在定义、实现、度量、控 制和改善其软件过程中各个发展阶段的描述。这个模 型便于确定软件组织的现有过程的能力和查找软件质 量及过程改进方面最关键的问题,从而为选择过程改 进战略提供指南。
CMM简介软件能力成熟度模型
SEI:Software Engineering Institute
组织过程定义的目标是,开发和维护一组可用的能提高项目软件 过程整体效能的软件过程资源集合,并为在定量过程管理中确定 有意义的数据提供基础,这些资源提供了一组稳定的准则,并通 过诸如培训等机制使其制度化。
“软件能力成熟度模型”

“软件能力成熟度模型”(1)背景介绍:CMM是“软件能力成熟度模型”的英文简写,该模型由美国卡内基-梅隆大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定,初始的主要目的是为了评价美国国防部的软件合同承包组织的能力,后因为在软件企业应用CMM模型实施过程改进取得较大的成功,所以在全世界范围内被广泛使用。
CMMI是SEI于2000年发布的CMM的新版本,目前CMMI已经发展到1.2版本,并且只接受1.2版本的评估结果。
CMMI目前包含了三个模型,分别是CMMI-DEV、CMMI-SVC以及CMMI-ACQ模型。
CMMI-DEV:最新版本是SEI于2006年8月份发布的CMMI for Development v1.2版本。
该版本集成了软件工程、硬件工程和系统工程三大学科领域。
图表1 CMMI-DEV模型集成CMMI-DEV模型按照阶段式表达方式将成熟度分为五个等级,每个等级包含相应的过程域,如下图所示:图表2 CMMI-DEV各成熟度等级包含的过程域CMMI-SVC:该模型SEI于2009年2月份发布,最新版本是CMMI for Services v1.2版本。
该模型可以应用于IT、医疗卫生、教育等各类服务领域。
该模型采用了CMMI的基础架构,在此基础上增加了服务相关的特有过程域。
对于已经实施CMMI- DEV 的企业,提供了快速、便捷的理解和导入机制。
图表3 CMMI-SVC和CMMI其他模型的关系CMMI-SVC模型按照阶段式表达方式也分成五个等级,每个等级包含相应的过程域,如下图所示:图表4 CMMI-SVC各成熟度等级的过程域CMMI-ACQ:该模型SEI于2007年11月份发布,最新版本是CMMI for Acquisition v1.2版本。
该模型基于CMMI模型体系架构,整合了CMMI采购模型、软件采购模型以及政府及产业采购的最佳实践等,用于指导采购方进行采购管理。
cmmi项目流程

cmmi项目流程CMMI项目流程CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是一种用于评估和改进组织软件和系统工程能力的国际标准。
CMMI项目流程是指按照CMMI模型的要求进行软件和系统工程项目管理的具体过程。
本文将介绍CMMI项目流程的主要内容。
一、项目立项项目立项是指确定项目的目标、范围和约束条件,制定项目计划和资源分配的过程。
在CMMI项目流程中,项目立项阶段需要明确项目的业务目标、计划和相关要求,形成项目章程和项目计划,并进行项目风险评估和资源分配。
二、需求分析需求分析是指根据项目的业务需求,明确产品或系统的功能、性能和可靠性要求的过程。
在CMMI项目流程中,需求分析阶段需要收集、分析和确认项目的需求,制定需求规格说明书,并与相关利益相关者进行沟通和协商。
三、系统设计系统设计是指根据需求规格说明书,设计产品或系统的结构、组件和接口的过程。
在CMMI项目流程中,系统设计阶段需要制定系统架构和模块设计,编写详细设计文档,并进行设计评审和验证。
四、编码与单元测试编码与单元测试是指根据系统设计文档,进行程序编写和单元测试的过程。
在CMMI项目流程中,编码与单元测试阶段需要根据设计要求进行编码,编写单元测试用例和执行单元测试,并进行代码评审和缺陷修复。
五、集成测试集成测试是指将各个模块或组件集成到整个系统中,进行功能测试和性能测试的过程。
在CMMI项目流程中,集成测试阶段需要编制集成测试计划和测试用例,执行集成测试并记录测试结果,对测试中发现的问题进行跟踪和解决。
六、系统测试与验证系统测试与验证是指对整个系统进行功能、性能和可靠性等方面的综合测试和验证的过程。
在CMMI项目流程中,系统测试与验证阶段需要编制系统测试计划和测试用例,执行系统测试和验证,并记录测试结果,对测试中发现的问题进行跟踪和解决。
七、系统交付与运维系统交付与运维是指将已经完成的系统交付给用户,并进行系统运维和技术支持的过程。
软件生产能力成熟度模型

软件生产能力成熟度模型
什么是CMM?CMM(软件生产能力成熟度模型)为软件企业的过程能力提供了一个阶梯式的进化框架,它基于过去所有软件工程成果的过程改善的框架,吸取了以往软件工程的经验教训。
是目前国际上最流行也是最实用的软件生产过程标准,理解CMM需要注意以下几点:
他仅指明该做什么,而没有指明如何做,他不是方法论,但我们在学习CMM时,可以从中学到分析问题的方法。
他仅指明该做的关键内容,他仅描述软件过程的本质属性,而并非面面俱到。
抓问题的主要方面的思想贯穿在整个CMM模型中。
软件过程是指软件工程过程、软件管理过程和软件组织的过程三者的有机结合。
上述两个过程是以软件工程组为主的活动。
软件组织的过程是企业级的对软件的组织活动,是以企业为主的活动。
他是从软件过程的角度考虑问题,而并非关注软件软件开发工具。
这与框架软件生存周期无关,也与所采用的开发技术无关。
CMM为改善整个企业的软件过程提供了指南,而并非针对某个具体项目。
CMM并不能保证在这个过程框架下,产品开发百分之百的成功。
产品的成功是多种因素的组合,例如市场等因素。
软件能力成熟度模型CMM CMMI

什么是CMMI?软件能力成熟度模型(Capability Maturity Model For Software ,简称SW-CMM/CMMI),是由美国卡内基梅隆大学软件工程研究所(CMU SEI)研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。
CMM/CMMI是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了国际软件产业界的认可,成为当今(企业)从事规模软件生产不可缺少的一项内容。
CMM/CMMI将软件过程的成熟度分为5个等级,以下是5个等级的基本特征:(1)初始级(initial)。
工作无序,项目进行过程中常放弃当初的计划。
管理无章法,缺乏健全的管理制度。
开发项目成效不稳定,项目成功主要依靠项目负责人的经验和能力,他一但离去,工作秩序面目全非。
(2)可重复级(Repeatable)。
管理制度化,建立了基本的管理制度和规程,管理工作有章可循。
初步实现标准化,开发工作比较好地按标准实施。
变更依法进行,做到基线化,稳定可跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件。
(3)已定义级(Defined)。
开发过程,包括技术工作和管理工作,均已实现标准化、文档化。
建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职责均有共同的理解。
(4)已管理级(Managed)。
产品和过程已建立了定量的质量目标。
开发活动中的生产率和质量是可量度的。
已建立过程数据库。
已实现项目产品和过程的控制。
可预测过程和产品质量趋势,如预测偏差,实现及时纠正。
(5)优化级(Optimizing)。
CMM在小型软件企业中的实施运用

经就位 , 使具有类似应用的项 目, 能重复以前的成功.
3 )已定义级 管理活动和工程活动两方面的软件过程均已文档化、 标准化 , 并集成到组织
的标准过程. 全部项 目均采用供开发和维护软件用 的组织标准软件过程 的一个 经批准 的裁剪
版本 .
4 )已管理级
已采集到详细的软件过程和产 品质量的度量. 无论 软件过程和产品均得到
维普资讯
第04 3月 期 2 2卷 第1 0 6年
N mA C海N 大 OU 报 自 然 HA 学A N V R r A兀 L S I 南 学 学 A 科 版 I E S I E CE J RN L OF NU
V J 4N . 0 2 o1 .
‘
一
个不同的成分 , 导致组织过程能力的增长. M C M可以分为以下 5个成熟度等级 . ]
1 初始级 )
2 可重 复级 )
软件过程 的特点是无序 的, 偶尔甚 至是混乱 的, 几乎没有什么过程定义的, 其
已建立基本 的项 目管理过程去跟踪成本、 进度和功能性. 必要 的过程纪律 已
成功是依赖于个人的努力.
个模型便于确定软件组织的现有过程能力和查找 出软件质量及过程改进方面的最关键的问题 ,
从而为选择过程改进战略提供指南. C M中, 在 M 它提供了一个软件过程改进 的框架 , 这个框架
与软件生命周期无关 , 也与所采用的开发技术无关. 根据这个框架开发企业 内部具体 的软件过
程, 可以极大程度地提高按计划的时间和成本提交有质量保证 的软件 产品的能力L . 已经成 l它 J 为软件过程及质量改进方面的世界主流. 随着人们对 C M研究 的不断深入 , M 出现 了许多学科 的 C M模型. M 如系统工程能力成熟度模型 (yt ni en aait M t t M d1和人力 Ss m E g er gCpb i a r oe e ni ly u y i ) 资源能力成熟度模型( ep aai yM t i oe) 为了与这些模型加 以区分 , Pol C pb i a ryM d1. e l t ut 国际上通常 把 C M 叫做 S C M, M W—M 为了便于叙述 , 本文简称为 C M. M
cmmi3体系实施方案

cmmi3体系实施方案CMMI3体系实施方案。
一、背景介绍。
CMMI(Capability Maturity Model Integration)是一种用于评估和改进组织软件开发和维护过程的模型。
CMMI3级别是指在软件开发过程中已经形成了一套标准化的流程,并且这些流程已经被正式记录并得到实际执行。
本文档旨在为企业在实施CMMI3体系过程中提供一个详细的实施方案。
二、实施目标。
1. 通过CMMI3体系的实施,提高软件开发过程的可控性和可预测性,降低开发过程中的风险。
2. 优化软件开发流程,提高产品质量和交付效率,减少资源浪费。
3. 建立一套规范的软件开发流程,提高团队协作效率,降低沟通成本。
三、实施步骤。
1. 制定实施计划,确定实施CMMI3体系的时间节点和具体任务,明确责任人和实施过程中的监控措施。
2. 建立组织结构,成立CMMI3体系实施领导小组,明确各部门的职责和协作关系,确保实施过程中的有效沟通和协调。
3. 进行现状分析,对软件开发过程进行全面的现状分析,包括流程、资源、技术等方面,找出存在的问题和不足之处。
4. 设计流程改进方案,根据现状分析的结果,制定软件开发流程改进方案,包括流程优化、资源配置、技术支持等方面的具体措施和实施计划。
5. 实施流程改进,按照设计的流程改进方案,逐步实施各项改进措施,包括培训、技术支持、流程监控等方面的工作。
6. 进行效果评估,对流程改进的效果进行评估,收集实施过程中的数据和反馈意见,及时调整和优化实施方案。
7. 持续改进,建立持续改进机制,不断优化软件开发流程,提高CMMI3体系的实施效果和持续改进能力。
四、实施要点。
1. 领导支持,CMMI3体系实施需要得到企业领导的全力支持,领导应该积极参与实施过程,为实施提供资源和保障。
2. 团队参与,CMMI3体系实施需要全员参与,团队成员应该充分理解和支持实施目标,积极配合实施工作。
3. 持续改进,CMMI3体系实施是一个持续改进的过程,需要建立有效的反馈机制,及时收集和分析实施过程中的数据和意见,不断优化实施方案。
软件能力成熟度模型等级和过程

软件能力成熟度模型等级和过程在软件开发行业中,软件能力成熟度模型(Capability Maturity Model,简称CMM)是一种用于评估和改进组织软件开发能力的方法。
CMM将软件过程能力分为五个等级,每个等级代表了不同的软件开发成熟度。
在本文中,我将介绍CMM的五个等级和相应的软件开发过程。
第一等级——初始级(Initial)初始级是软件开发团队的起点,特点是开发过程不可预测、不稳定且不受控制。
在这个等级中,软件开发过程通常是一种灵活的方式,缺乏定义和规范。
开发团队的工作主要依靠个人技能和经验,而非标准化方法。
第二等级——可管理级(Managed)当开发团队达到可管理级时,他们开始寻求一种系统化的方法来管理软件开发过程。
这个等级的关键是建立有效的项目管理实践,通过规范化的计划、控制和测量,对项目进展进行管理和监控。
第三等级——已定义级(Defined)已定义级是软件开发过程的一个重要里程碑,它要求开发团队建立起一套标准化的软件开发流程。
这个过程必须经过详细的定义和文档化,以确保团队的工作是可重复的和可预测的。
第四等级——量化管理级(Quantitatively Managed)在量化管理级,软件开发团队进一步改进了他们的过程,并引入了更多的量化和度量方法。
这些量化和度量方法是为了监控和管理软件开发过程的关键指标。
通过定期收集和分析数据,团队可以做出有根据的决策,进一步提高软件开发过程的质量和效率。
第五等级——优化级(Optimizing)优化级是软件开发过程的最高级别。
在这个等级中,开发团队持续追求卓越,并通过不断改进软件开发过程来实现进一步的提升。
团队会寻找新的创新方式,试验新的技术和方法,以优化软件开发过程的效率和质量。
综上所述,软件能力成熟度模型将软件开发能力划分为五个等级:初始级、可管理级、已定义级、量化管理级和优化级。
不同的等级代表了软件开发过程的不同成熟度水平,团队可以通过评估自身的成熟度来制定相应的改进计划,并逐步提高软件开发过程的质量和效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件企业如何简要实施CMM软件成熟度模型
中小型软件企业在实施CMM时,应根据自身实际情况和具体要求加以应用,并从以下几方面考虑:
一、组织及角色安排
首要,如果一个组织要改善其效能,那么高层管理就必须积极地支持变革。
由下至上地改革,无须高层支持和上级的认同,却能够完成变革,这几乎是不可能的。
建议成立软件工程过程组(SEPG),作为协调过程定义、改进及部署活动,不一定要全职的SEPG人员,但应该明确指派到某人负责。
对于CMM要求的一些角色,可以灵活安排,不必太过拘泥。
小项目未必需要专门的软件配置管理组,但配置管理活动是不可少的;独立的质量保证组也许不必要,但必须有人完成验证的活动。
项目组成员可以担当多重角色,如项目经理可以同时担任SCM的角色,而测试人员也可同时担负SQA的角色。
二、实施策略
中小企业在实施CMM过程中,组织支持是基础,策略则是步骤有效实施的粘合剂,不能因为过于繁琐或影响进度而弃之。
其一是过程文档化。
如果企业还没有一个文档化的软件过程,则首先要总结以往项目成功的经验,对当前的工作流程进行分析、整理及文档化,制定出一个适合本企业的软件过程,并用该过程指导软件项目的开发。
其二是过程的裁剪。
过程需要裁剪到项目所需的程度,这也是中小企业实施CMM过程改进的关键。
裁剪的准则就是一切以实用为主,避免过于繁琐和形式化。
其三是组织培训。
组织培训要完成对公司所有员工包括高层经理的最基本的软件工程和CMM知识培训。
让所有员工了解CMM,才能支持CMM的实施。
三、实施步骤
1.需求管理
1)从客户处获取原始需求,经分析后形成软件需求规格说明书,获得客户书面认可;
2)软件需求规格说明书通过项目组的评审,加入配置管理,创建需求基线;
3)通过表格对需求的开发状况进行跟踪,了解需求的实现情况;
4)如需变更需求,应填写《需求变更请求表》,按配置管理的变更流程执行。
2.软件项目计划
软件项目计划是软件项目跟踪与监控的基础,按照以下步骤实施即可:
1)项目经理根据需求进行估算,拟定软件开发计划和进度表;
2)软件开发计划必须通过项目组评审和上级部门的审批,审批通过后,加入配置管理。
3.软件项目跟踪与监控
1)项目经理使用进度表作为跟踪监控基础,根据项目每周的实际执行情况,拟定进度报告,并与项目组成员确认;
2)项目经理对照计划与实际执行情况,发现差距形成问题报告;
3)高层经理审查项目报告,促请项目经理修正计划及解决存在的问题和风险。
4.软件质量保证
1)如有专职的SQA,可拟定专门的质量保证计划;
2)SQA根据计划审计项目执行过程和评审提交的工作产品,记录不一致的问题;
3)将发现的问题记录到项目问题日志,跟踪并协调问题的解决情况,并定期向项目经理和高层经理汇报。
如果不能解决的由高层经理协助解决。
5.软件配置管理
1)如有专职的SCM,可以拟定专门的配置管理计划;
2)创建开发域和基线域,开发人员在各自开发域上工作,SCM则标识配置项并加入基线域;
3)SCM在各个阶段结束时创建基线,对配置项和基线进行审计;
4)基线域中的配置项变更请求先向项目经理提出,由SCM统一操作和记录;
5)质量保证人员定期审计配置管理活动。
6.同行评审
1)项目经理确定评审的人员、时间和地点,将相关的材料分发给评审人员;
2)评审人员在会议前认真阅读这些材料,记录发现的问题;
3)如时间充足,建议以会议方式进行交流,否则由项目组成员各自提交发现的问题;4)汇总发现的问题,项目经理指定人员跟踪解决问题。