起源和出发点的不同,决定了两者具有很大的区别。CMMI是在CMM的基础上发展起来的,与CMM一样,本质上关注的是过程质量。而IPD着眼于产品开发获得市场成功,是在PACE(产品及周期优化法)等产品开发模式的基础上,经过一些领先企业(如IBM)的实践发展起来的。IPD关注的是将影响产品成功的关键要素(如结构化流程、产品决策评审、产品开发团队等)有机地整合起来,形成集成的产品开发模式,推动产品的成功。IPD本质上是一种产品经营管理的模式。CMMI是面向研发的,而且更多是面向软件开发的。
具体而言,IPD与CMMI在以下方面具有明显的区别:
1.两者的层面不一样
IPD是企业层面的一套产品开发管理的思想、模式和方法,本质上是一种产品经营管理的模式。CMMI是面向研发的,而且更多是面向软件开发的。
2.思想高度不一样
两者目的的不同也导致了思想的不同。IPD的核心思想集中体现为6个方面,即产品开发是一项投资、基于市场的创新、跨部门的协同、异步开发、重用(CBB)、结构化。而CMMI主要倡导通过过程和活动来保证质量。可见,IPD是从更高和更加全面的角度来看待产品开发的。
3.对流程的结构化不一样
IPD首先把产品开发看作一个流程,包括概念、计划、开发、验证、发布、生命周期管理6个阶段,在此基础上,IPD建立一个涵盖了流程概览、阶段流程、子流程和模板的分层结构框架,对涉及到的产品开发活动进行合理的结构化。CMMI把流程分解为一个个关键过程域(KPA),是相对离散地来定义流程的,这决定了在CMMI体系下,产品开发流程的结构化不够。
4.管理的范围不一样
IPD需要对所有的产品开发活动进行管理,横向上涉及市场、设计、测试、试制、制造、采购、服务、销售、财务各功能部门在产品开发中的活动,纵向上涉及决策、管理、执行三个层面。而CMMI主要是面向研发部门的活动,如软件开发、系统集成、项目管理等。对于软硬件相结合的高科技产品而言,软件开发的工作量往往占整个开发工作量的50-60%,而硬件开发又可能占到15-20%,所以CMM可以管到50-60%的开发活动,而CMMI可以管到65-80%的开发活动。
5.关注重点不一样
IPD不仅关注把事情做正确(do the things right),同时也关注做正确的事情(do the right things),所以IPD既强调执行的重要,也强调决策的重要。CMMI主要关注执行,即把事情做正确(do the things right),而且CMMI对如何执行好开发活动要求更规范、更细。
6.人员管理不一样
IPD包括了对团队和个人的考评,如对集成组合管理团队(IPMT)和产品开发团队(PDT)的评估。CMMI则不包括人员管理的内容。当然,SEI开发了主要针对软件开发人力资源管理的P-CMM。
对具体流程和活动进行管理而言,两者所依据的原则、方法和实践是相通的和一致的, 一些企业(如华为、许继电气、优特科技)在融合IPD和CMM/CMMI方面已经取得了成功的经验。因此,尽管IPD与CMMI有这么多的不同,但企业在优化产品开发体系时,完全可以将两者融合,实施IPD+ CMM/CMMI的解决方案。