论文部分内容阅读
【摘要】项目管理作为现代管理学的一部分,主要是指在有限的资源下,运用系统的理论以及方法,对于项目可能涉及的每一部分内容进行有效处理。CMMI一种已经发展完善的框架系统,对于项目的管理起到了十分重要的作用,本文主要阐述其表现形式和主要应用。
【关键词】CMMI,表现形式,主要应用
中图分类号: B025.2 文献标识码: A 文章编号:
前言
软件的改进过程是一个持续而且全员参与的过程,而CMMI建立起了一组有效描述成熟软件组织特征的准则,在现有条件下已经相当的完善,下面我们来讨论有关CMMI的表现形式和主要应用。
CMMI简介
CMMI全称是Capability Maturity Model Integration, 即软件能力成熟度模型集成,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。
CMMI是一套融合多学科的、可扩充的产品集合, 其研制的初步动机是为了利用两个或多个单一学科的模型实现一个组织的集成化过程改进。CMMI的本质是软件管理工程的一个部分。软件过程改善是当前软件管理工程的核心问题, 50多年来计算机的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。基于模型的过程改进是指用采用能力模型来指导组织的过程改进,使之过程能力稳定的进行改善,该组织也能变得更加成熟。
CMM的成功促使其他学科也相继开发类似的过程改进模型,例如系统工程、需求工程、人力资源、集成产品开发、软件采购等等,从CMM衍生出了一些改善模型,比如:SW-CMM,SE-CMM,IPD-CMM等。不过,在同一个组织中多个过程改进模型的存在可能会引起冲突和混淆。CMMI就是为了解决怎么保持这些模式之间的协调。
CMMI是CMM模型的最新版本。早期的CMMI(CMMI-SE/SW/IPPD)1.02版本是应用于软件业项目的管理方法,SEI在部分国家和地区开始推广和试用。随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型。
CMM的评估方法有二种,一种是CBA-SCE(CMM-Based Appraisal for Software Capability Estimation),它是基于CMM对组织的软件能力进行评估,是由组织外部的评估小组对该组织的软件能力进行的评估。另一种是CBA-IPI(CMM-Based Appraisal for Internal Process Improvement),它是基于CMM对内部的过程改进进行的评估,是由组织内部的小组对软件组织本身进行评估以改进质量,评估结果归组织所有。这两种评估均由SEI授权的主任评估师领导,参考CMM框架来进行,都要审查正在使用和将来使用的文件/文档,并对不同的组织员工进行采访。
CMMI的评估方法只有一种,即SCAMPI(Standard CMMI Appraisal Method for Process Improvement)评估方法。SCAMPI评估方法包括了A、B和C三种不同的级别。只有SCAMPI-A评估,才需要由SEI授权的主任评估师领导。
表现形式
一个组织可以从过程域能力或组织成熟度这两种角度选择过程改进的途径。简言之,通过过程域能力的角度进行选择就是分别在每个过程域中建立基线并度量改进结果。这种方法在连续式表示法中得到了支持,使用的关键术语是“能力”。
相反,通过组织成熟度的角度进行选择则强调过程域集合,这些过程域集合的目的是用来定义整个组织的过程成熟度的已验证阶段。在阶段式表示法中采用了此方法,使用的关键术语是“成熟度”。
1.阶段式模型
阶段式模型基于已经证明的过程的分组和次序,按照组织之间的关系为组织级的改进提供一个预定义的路径图。术语“阶段(staged)” 称作成熟度级的“阶段”。每个成熟度等级都有一组过程域,指明了一个组织应集中于何处来改进它的组织级过程。每个过程域用满足其目标的实践进行描述。这些实践描述了最有助于过程域的有效实施和制度化的一系列行为。过程改进的进展通过满足一个特定成熟度等级中所有过程域的目标来实现。面向阶段式模型的评估通过确定已经达到多少过程域,把组织作为一个整体来评价。即,已经达到了多少個目标。基于已达到目标的关键过程域,可以为组织定义一个成熟度等级。例如,当您听到一个公司“是等级3”时,它的意思是说该组织已经进行了评估,表明该组织已达到了在阶段式模型中包含在等级2和等级3中的过程域相关的所有目标。
2.连续式模型
连续式模型在完成改进的次序上没有太多明确的规定。之所以称它们为连续式,是因为与组织级成熟度没有相关联。与阶段式模型一样,连续式模型也具有包含实践的过程域。连续式模型中的过程域的实践通过支持单个过程域的成长和改进的方式来组织。共性实践按能力等级(capability level, CL)分组,每个能力等级都有一个与阶段式模型中成熟度等级定义。通过在这些过程域中实施共性实践,过程域得到改进和制度化。所有过程域的能力等级集体决定了组织的改进,而且一个组织也可以剪裁连续式模型,只针对特定的过程域进行改进。在一个连续式评估中,按能力等级评定每个过程域。一个组织不同的过程域很可能被评定为不同的能力等级。评估的结果以能力剖面(profile)的形式表示,能力剖面也可用于定义一个组织中过程改进活动的目标。
三. 主要应用
1.能力评估
CMMl是基于政府评估软件承包商的软件能力发展而来的,有两种通用的评估方法用以评估组织软件过程的成熟度:软件过程评估和软件能力评价。
软件过程评估:用于确定一个组织当前的软件工程过程状态及组织所面临的软件过程的优先改善问题,为组织领导层提供报告以获得组织对软件过程改善的支持。软件过程评估集中关注组织自身的软件过程,在一
种合作的、开放的环境中进行。评估的成功取决于管理者和专业人员对组织软件过程改善的支持。
软件能力评价:用于识别合格的软件承包商或者监控软件承包商开发软件的过程状态。软件能力评价集中关注识别在预算和进度要求范围内完成制造出高质量的软件产品的软件合同及相关风险。评价在一种审核的环境中进行,重点在于揭示组织实际执行软件过程的文档化的审核记录。
2.过程改进
软件过程改进是一个持续的、全员参与的过程。CMMI建立了一组有效地描述成熟软件组织特征的准则。该准则清晰地描述了软件过程的关键元素,并包括软件工程和管理方面的优秀实践。企业可以有选择地引用这些关键实践指导软件过程的开发和维护.以不断地改组织软件过程.实现成本、进度、功能和产品质量等目标。基于CMMI成熟度模型,包括中小企业在内的软件企业如何进行软件过程改造,如何在具体项目中引入并实旋CMMl的标准成为人们关注的重点。CMMI的实施核心焦点不在于软件的开发技术层面.而在于工程过程层面和工程管理层面。卡莱基·梅隆大学软件研究所提出了一套实施CMMI标准的方法,按照他们的建议。IDEAL是企业开始引入CMMI体系的良好参照模式,它包括:i一启动(Initiating),表示开发机构应为CMMI的引入准备好前期基础设施和程序;D一诊断(Diagnosing),明确机构目前所处的能力水平及目标等级所在;E一建构(Establishing),制定如何实现目标等级的计划;A一行动(Acting),具体实施该计划;L一学习(Learning).积累以往经验并将其用于持续的改进过程之中,同时注意新技术和工具的引入以协助过程实施。
结束语
CMMI的发展对于项目管理有了一个十分综合的系统,对于管理更加方便,而且在现有条件下已经相当先进与完善,但是虽然应用已经比较广泛,其仍旧存在不少问题需要解决,这就需要投入更大的人力物力来对这一系统进行研究。
参考文献:
[1]李宏岩简述CMMI的表现形式及主要应用 网络与信息 2011
[2]滕红斌基于CMMI的建行软件项目管理研究 厦门大学2012
[3]古曦基于CMMI的软件过程度量模型的研究与应用 重庆大学 2006
【关键词】CMMI,表现形式,主要应用
中图分类号: B025.2 文献标识码: A 文章编号:
前言
软件的改进过程是一个持续而且全员参与的过程,而CMMI建立起了一组有效描述成熟软件组织特征的准则,在现有条件下已经相当的完善,下面我们来讨论有关CMMI的表现形式和主要应用。
CMMI简介
CMMI全称是Capability Maturity Model Integration, 即软件能力成熟度模型集成,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。
CMMI是一套融合多学科的、可扩充的产品集合, 其研制的初步动机是为了利用两个或多个单一学科的模型实现一个组织的集成化过程改进。CMMI的本质是软件管理工程的一个部分。软件过程改善是当前软件管理工程的核心问题, 50多年来计算机的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。基于模型的过程改进是指用采用能力模型来指导组织的过程改进,使之过程能力稳定的进行改善,该组织也能变得更加成熟。
CMM的成功促使其他学科也相继开发类似的过程改进模型,例如系统工程、需求工程、人力资源、集成产品开发、软件采购等等,从CMM衍生出了一些改善模型,比如:SW-CMM,SE-CMM,IPD-CMM等。不过,在同一个组织中多个过程改进模型的存在可能会引起冲突和混淆。CMMI就是为了解决怎么保持这些模式之间的协调。
CMMI是CMM模型的最新版本。早期的CMMI(CMMI-SE/SW/IPPD)1.02版本是应用于软件业项目的管理方法,SEI在部分国家和地区开始推广和试用。随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型。
CMM的评估方法有二种,一种是CBA-SCE(CMM-Based Appraisal for Software Capability Estimation),它是基于CMM对组织的软件能力进行评估,是由组织外部的评估小组对该组织的软件能力进行的评估。另一种是CBA-IPI(CMM-Based Appraisal for Internal Process Improvement),它是基于CMM对内部的过程改进进行的评估,是由组织内部的小组对软件组织本身进行评估以改进质量,评估结果归组织所有。这两种评估均由SEI授权的主任评估师领导,参考CMM框架来进行,都要审查正在使用和将来使用的文件/文档,并对不同的组织员工进行采访。
CMMI的评估方法只有一种,即SCAMPI(Standard CMMI Appraisal Method for Process Improvement)评估方法。SCAMPI评估方法包括了A、B和C三种不同的级别。只有SCAMPI-A评估,才需要由SEI授权的主任评估师领导。
表现形式
一个组织可以从过程域能力或组织成熟度这两种角度选择过程改进的途径。简言之,通过过程域能力的角度进行选择就是分别在每个过程域中建立基线并度量改进结果。这种方法在连续式表示法中得到了支持,使用的关键术语是“能力”。
相反,通过组织成熟度的角度进行选择则强调过程域集合,这些过程域集合的目的是用来定义整个组织的过程成熟度的已验证阶段。在阶段式表示法中采用了此方法,使用的关键术语是“成熟度”。
1.阶段式模型
阶段式模型基于已经证明的过程的分组和次序,按照组织之间的关系为组织级的改进提供一个预定义的路径图。术语“阶段(staged)” 称作成熟度级的“阶段”。每个成熟度等级都有一组过程域,指明了一个组织应集中于何处来改进它的组织级过程。每个过程域用满足其目标的实践进行描述。这些实践描述了最有助于过程域的有效实施和制度化的一系列行为。过程改进的进展通过满足一个特定成熟度等级中所有过程域的目标来实现。面向阶段式模型的评估通过确定已经达到多少过程域,把组织作为一个整体来评价。即,已经达到了多少個目标。基于已达到目标的关键过程域,可以为组织定义一个成熟度等级。例如,当您听到一个公司“是等级3”时,它的意思是说该组织已经进行了评估,表明该组织已达到了在阶段式模型中包含在等级2和等级3中的过程域相关的所有目标。
2.连续式模型
连续式模型在完成改进的次序上没有太多明确的规定。之所以称它们为连续式,是因为与组织级成熟度没有相关联。与阶段式模型一样,连续式模型也具有包含实践的过程域。连续式模型中的过程域的实践通过支持单个过程域的成长和改进的方式来组织。共性实践按能力等级(capability level, CL)分组,每个能力等级都有一个与阶段式模型中成熟度等级定义。通过在这些过程域中实施共性实践,过程域得到改进和制度化。所有过程域的能力等级集体决定了组织的改进,而且一个组织也可以剪裁连续式模型,只针对特定的过程域进行改进。在一个连续式评估中,按能力等级评定每个过程域。一个组织不同的过程域很可能被评定为不同的能力等级。评估的结果以能力剖面(profile)的形式表示,能力剖面也可用于定义一个组织中过程改进活动的目标。
三. 主要应用
1.能力评估
CMMl是基于政府评估软件承包商的软件能力发展而来的,有两种通用的评估方法用以评估组织软件过程的成熟度:软件过程评估和软件能力评价。
软件过程评估:用于确定一个组织当前的软件工程过程状态及组织所面临的软件过程的优先改善问题,为组织领导层提供报告以获得组织对软件过程改善的支持。软件过程评估集中关注组织自身的软件过程,在一
种合作的、开放的环境中进行。评估的成功取决于管理者和专业人员对组织软件过程改善的支持。
软件能力评价:用于识别合格的软件承包商或者监控软件承包商开发软件的过程状态。软件能力评价集中关注识别在预算和进度要求范围内完成制造出高质量的软件产品的软件合同及相关风险。评价在一种审核的环境中进行,重点在于揭示组织实际执行软件过程的文档化的审核记录。
2.过程改进
软件过程改进是一个持续的、全员参与的过程。CMMI建立了一组有效地描述成熟软件组织特征的准则。该准则清晰地描述了软件过程的关键元素,并包括软件工程和管理方面的优秀实践。企业可以有选择地引用这些关键实践指导软件过程的开发和维护.以不断地改组织软件过程.实现成本、进度、功能和产品质量等目标。基于CMMI成熟度模型,包括中小企业在内的软件企业如何进行软件过程改造,如何在具体项目中引入并实旋CMMl的标准成为人们关注的重点。CMMI的实施核心焦点不在于软件的开发技术层面.而在于工程过程层面和工程管理层面。卡莱基·梅隆大学软件研究所提出了一套实施CMMI标准的方法,按照他们的建议。IDEAL是企业开始引入CMMI体系的良好参照模式,它包括:i一启动(Initiating),表示开发机构应为CMMI的引入准备好前期基础设施和程序;D一诊断(Diagnosing),明确机构目前所处的能力水平及目标等级所在;E一建构(Establishing),制定如何实现目标等级的计划;A一行动(Acting),具体实施该计划;L一学习(Learning).积累以往经验并将其用于持续的改进过程之中,同时注意新技术和工具的引入以协助过程实施。
结束语
CMMI的发展对于项目管理有了一个十分综合的系统,对于管理更加方便,而且在现有条件下已经相当先进与完善,但是虽然应用已经比较广泛,其仍旧存在不少问题需要解决,这就需要投入更大的人力物力来对这一系统进行研究。
参考文献:
[1]李宏岩简述CMMI的表现形式及主要应用 网络与信息 2011
[2]滕红斌基于CMMI的建行软件项目管理研究 厦门大学2012
[3]古曦基于CMMI的软件过程度量模型的研究与应用 重庆大学 2006