lxk_0021 发表于 2007-12-13 16:07:31

[转帖]CMM[功能成熟度模型]

<p><img height="303" alt="Capability Maturity Model[功能成熟度模型]整合- CMMI模型" hspace="3" src="http://www.21manager.com/UploadFile/2007-12/200712131662939746.gif" width="447" align="right" vspace="3" border="0"/> 由卡内基—梅隆大学软件工程研究院率先研究开发的功能成熟度模型(Capability Maturity Model,CMM)现已成为用来描述组织进化阶段的管理模型。 </p><p>最初,<span style="FONT-FAMILY: Arial;">CMM</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">被应用于软件开发领域,要求组织按照软件发展的逻辑阶段逐步开发、吸收和应用软件。</span> 最终,这一模型为组织从低级阶段向高级阶段发展提供了可遵循的步骤。&nbsp;</p><h3><span style="FONT-FAMILY: Arial;">CMM</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">的阶段。</span></h3><ol><li><b>初始级</b>(在这一阶段,组织流程是非正式的、混乱的,甚至根本没有明确定义的流程) </li><li><b>可重复级</b>(在这一阶段,基本流程被确立,并有一定的原则规范) </li><li><b>已定义级</b>(在这一阶段,所有流程均被确立,并实现文字化、标准化,且互为融合) </li><li><b>已管理级</b>(在这一阶段,基于流程运作过程中的的数据信息,对流程及其质量进行测量) </li><li><b>优化级</b>(在这一阶段,通过对流程表现的量化反馈,或试验性技术的前导运用,对流程进行不断改善提高) </li></ol><h3>软件成熟度模型(Software Maturity model) </h3><p>CMM提供了软件开发过程中所要遵循的原则和实践经验, 它有助于软件厂商认识软件开发流程的逻辑阶段, 即从无序混乱的开发阶段到成熟规范的发展阶段,从而提高软件开发水平,使软件开发流程更为成熟和完备。 <span style="FONT-FAMILY: Arial;">CMM</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">所侧重的关键流程领域(</span><span style="FONT-FAMILY: Arial;">Key Process Areas</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">)以及可模仿的流程实践,即构成了软件开发和改进的流程标准。</span>
                <span style="FONT-FAMILY: Arial;">CMM</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">提供的成熟度架构,从整体上营造了软件开发环境:</span>
        </p><ul><li><b>流程实践能够多次重复</b>。 换句话说,如果无需重复,何谈改进提高? 有一系列的政策规定、程序规范和实践经验迫使软件厂商必须始终如一地贯彻执行开发流程。 </li><li><b>最佳实践经验能够在最短时间内传递给其他团队</b>。 由于流程实践经过充分定义,所以这些标准化的实践经验能够实现跨项目交流。 </li><li><b>最佳实践经验的不确定可变因素被减少</b>。 量化的任务目标被明确, 规范化的测量方法被采用,并有参照基准,流程评估成为可能。 </li><li><b>流程实践水平不断提高,软件开发能力不断增强</b>。 </li></ul><p><span style="FONT-FAMILY: Arial;">CMM</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">不仅对软件开发有用,对组织发展阶段的辨识同样有效。</span></p><h3><span style="FONT-FAMILY: Arial;">CMM</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">的架构</span></h3><ul><li><b>成熟阶段(<span style="FONT-FAMILY: Arial;">Maturity Levels</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">)</span></b> - 作为一种层级结构,只有不断改进提高才能到达相应层级。 需要强调的是,组织对任何一项新流程、新技术或新工具进行评估, 重点不是放在决定是否采用它们,而是要判断这些创新行为活动对组织实践到底能够产生多大影响, 对于理性创新选择要从根本上给予支持,因为它们将为项目、团队或组织带来巨大动力。 </li><li><b>关键流程区域(<span style="FONT-FAMILY: Arial;">Key Process Areas</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">)</span></b> - 辨认出相互关联的实践活动,在它们的共同作用下,各项重要目标得以实现。 </li><li><b>目标(<span style="FONT-FAMILY: Arial;">Goals</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">)</span></b> - 每一项关键流程都有一个既定目标,它表达了一种必须实现的、存在的状态, 这种状态必须高效地、持久地保持下去,否则流程即无法正常运作。 同时,目标完成情况还是组织成熟度的指示剂。 此外,目标还意味着关键流程区域的范围、边界及目的。 </li><li><b>共同特征(<span style="FONT-FAMILY: Arial;">Common Features</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">)</span></b> - 在关键流程执行过程中,及流程标准化过程中所反映出来的共同属性, 包括: 执行决心、执行能力、具体活动、测量分析、执行检验。 </li><li><b>关键作业(<span style="FONT-FAMILY: Arial;">Key Practices</span><span style="FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;;">)</span></b> - 是指对关键流程区域的执行和制度化发挥着重要作用的实践活动和基础结构。 </li></ul><h3>流程定义标准</h3><p>流程定义标准是指必须包含在软件开发流程定义中的一整套流程元素,对于软件用户非常有用。 在建立流程定义标准前,需要问自己一个问题,“我需要把哪些流程信息记录下来?”</p><p>这些流程元素有: </p><ul><li><b>目的</b> - 为什么需要这一流程? </li><li><b>输入</b> - 需要哪些投入? </li><li><b>产出</b> - 会产生哪些工作结果? </li><li><b>角色</b> - 谁(或者什么)来执行具体活动? </li><li><b>活动</b> - 涉及哪些流程活动? </li><li><b>进入标准</b> - 流程何时(或在什么样环境下)开始运行? </li><li><b>退出标准</b> - 流程何时(或在什么样环境下)终结? </li><li><b>程序</b> - 流程活动是如何被贯彻执行的? </li><li><b>回顾和审计</b> - 对流程表现进行回顾和审计。 </li><li><b>工作产品</b> - 需要被有效管理和控制(置于一定配置之下)。 </li><li><b>测量</b> - 对流程进行量度。 </li><li><b>培训</b>。 </li><li><b>工具</b>。 </li></ul><p class="S">参考书: James R. Persse - Implementing the Capability Maturity Model [中译本《CMM实施指南》,北京机械工业出版社,2003] - <br/>参考书: Mary Beth Chrissis - CMMI: Guidelines for Process Integration and Product Improvement [中译本《CMMI:过程集成与产品改进指南》,北京清华大学出版社,2004] <br/></p>
页: [1]
查看完整版本: [转帖]CMM[功能成熟度模型]