什么是成都CMMI 认证并不是一个新问题。 它可以在各种书籍和材料中找到。 本文不详细介绍CMMI的分类、结构和具体内容。 我只想讨论CMMI的定义,它是什么,不是什么。
1、模型与最佳实践
首先请思考一个问题,如果你被要求做一个从没做过的工作,你会怎么办?也许会不知所措,但也有一个很简单的办法,就是请教那些做过的人,看看他们是怎么干的。如果有可能,最好多问几个不同的人,比较一下,获得最好的做法。CMMI也是这样,来源于业界的最佳实践。通过从业界收集的最佳实践进行分析,发现其中对项目开发的成功能起到至关重要作用的实践,再将这些实践进行整理后命名为过程域(PA),CMMI V1.3中就有22个这样的过程域,这些实践按相关性可以分为过程管理,项目管理,工程,支撑四个领域,为组织在不同领域的改进提供指导。
另一方面,通过对不同项目实践分析,发现实施不同的实践组合和次序会带来不同的结果。例如,如果没有良好的项目管理,项目就不能有效的执行,那么项目管理是项目能够成功的基础,所以首先要实施项目管理的相关实践。通过几个项目的成功实施后,发现还有除了项目管理,工程技术方面的实践也对项目的成功至关重要,于是将这个过程固化下来,这样就形成了组织标准开发过程,是一个组织成熟的表现。CMMI将过程能力分成了5个成熟度等级,也就是常说的初始级,已管理级,已定义级,定量管理级和优化级,在CMMI中叫阶段式表示法,也叫成熟度等级。CMMI模型认为具有不同成熟度的研发组织具有不同的过程能力,拥有不同的研发和管理能力,也就是项目能够成功的能力。成熟度等级为组织级改进提供了一个预定义的路线图。还有一种连续型表示法,是支持单个过程域的改进方式,组织可以根据自身的情况,选择某个特定的过程域进行实施,以提升和改进组织在某一特定领域的能力,这叫能力等级。选择哪种方式作为改进方式,需要依据组织自身情况来确定。
还要说明一点,CMMI内容分为“Required”(必需的),“Expected”(期望的)、“Informative”(提供信息的)三个级别。最重要的是“必需的”级别,是模型和过程改进的基础。第二级别“期望的”,在过程改进中起到主要作用,但是某些情况可能不会出现在成功的组织中。“提供信息的”构成了模型的主要部分,为过程改进提供了有用的指导,在许多情况下他们对“必需的”和“期望的”构件做了进一步说明。在一个PA中,一般PA的目标属于“必需的”,PA中建议的实践属于“期望的”,其他对目标和实践的补充说明属于“提供信息的”。从这里可以看出CMMI模型只提出了目标是必须达到的,并没有要求你怎么去达到目标,你可以用业界最佳实践,也可以用你自己的原始办法,更加可以创造新的方法。
回到了成都CMMI认证是什么的问题上,从这里可以看出, CMMI是一个模型,是实践,它不是标准,也不是流程,所以它并不会告诉你具体要怎么做。它给我们提供了一个框架,一个可预期的改进线路图。
2、为什么要改进过程?
做任何事情都是有过程的,连最平常的吃饭、刷牙也不例外,但不同的过程或顺序会带来不同的效果。例如不要饭前喝太多汤,这样会稀释胃液,影响消化;还有刷牙也不简单,经常能从牙膏广告中看到要上下刷,左右刷,内外刷,甚至还要刷舌头。当然产品开发的过程比吃饭刷牙要复杂的多,不同的过程会对产品质量带来不同的影响,通过不断的调整和改进过程,可以帮助提高组织的生产率和产品质量。
在谈论复杂的产品开发过程改进前,先来看一个简单的桌球的例子。打桌球的动作看似简单,其实是一系列复杂且紧密联系的动作组合。对于初学者,想要一下子打出一杆好球是挺困难的,像握杆的手势、站姿、击球的位置都是基础,必须先掌握好。但是我们一般不容易发现自己不对的动作,这时需要一个高手来指出哪个动作是需要改进的。例如击球时,两个手臂间是90度,这个可以作为后续击球动作的基线在击球时度量。当错误的动作改进后,它们就可以合并成一个更加集成的整体动作,就可以使用它达到预期的目标,击球入洞。最后当击球动作正确且能持续后,就可以根据球桌上的实际情况来选择正确的战术策略,例如在没有进球机会时选择防守性击球、通过击打母球不同的位置来控制母球走位等。组织的过程改进跟打桌球的改进是类似的,CMMI模型可以帮助我们把过程分解成很多小的活动,然后告诉我们哪些是最基本的,帮助我们确定哪些活动应该先做(例如2,3级的PAs) ,哪些活动我们做的不好需要改进。
另一方面,成都CMMI认证流程改进也可以帮助项目与组织的业务目标保持一致。 不同的项目有不同的业务目标。 有些需要高质量和可靠性才能大规模商业使用; 其他的则需要快速交货才能抢占市场。 要实现这些目标,您必须了解产品是如何开发的以及每一步活动是什么。 必须了解过程,这些步骤的可变性,以便可以根据项目的目标进行调整。 例如,当对产品质量有更高要求时,可以对现有的组织标准流程进行改进,如改进检验方法、增加检测活动、增加质量评估点等; 当更关注进展时,可以加强对进展的监测。 设置偏差阈值,加强与进度相关的风险管理等。当然,我们也可以衡量和记录这些变化,形成组织过程基线,为下一步改进提供输入。 流程改进活动还提供指导,帮助我们定义和标准化组织流程、提高生产力、减少返工、衡量组织绩效以及使用数据来管理业务。 因此,为了提高组织的竞争力,需要持续改进,这就是过程改进真正发挥作用的地方。