先看一下CMMI在CMM的区别。
CMMI与SW-CMM的主要区别在三个方面:专业领域、成熟度等级和过程域、模型结构。与CMM相比,CMMI覆盖4个专业领域,即软件工程(SW)、系统工程(SE)、集成的产品和过程开发(IPPD)、采购(Supplier Sourcing)。
IPD与CMMI起源和出发点的不同,决定了两者具有很大的区别。CMM是SEI针对软件质量保证制定的能力成熟度模型,与ISO9000系列标准和MIL标准一样,均属于过程质量模型。CMMI是在CMM的基础上发展起来的,与CMM一样,本质上关注的是过程质量。而IPD着眼于产品开发获得市场成功,是在PACE(产品及周期优化法)等产品开发模式的基础上,经过一些领先企业的实践发展起来的。 IPD关注的是将影响产品成功的关键要素(如结构化流程、产品决策评审、产品开发团队等)有机地整合起来,形成集成的产品开发模式,推动产品的成功。
具体而言,IPD与CMMI在以下方面具有明显的区别:
1、 两者的层面不一样 IPD是企业层面的一套产品开发管理的思想、模式和方法,本质上是一种产品经营管理的模式。CMMI是面向研发的,而且更多是面向软件开发的。
2、思想高度不一样
两者目的的不同也导致了思想的不同。CMMI主要倡导通过过程和活动来保证质量。可见,IPD是从更高和更加全面的角度来看待产品开发的。
3、对流程的结构化不一样
IPD首先把产品开发看作一个流程,包括概念、计划、开发、验证、发布、生命周期管理6个阶段,在此基础上,IPD建立一个涵盖了流程概览、阶段流程、子流程和模板的分层结构框架,对涉及到的产品开发活动进行合理的结构化。CMMI把流程分解为一个个关键过程域(KPA),是相对离散地来定义流程的,这决定了在CMMI体系下,产品开发流程的结构化不够。
4、管理的范围不一样 IPD需要对所有的产品开发活动进行管理,横向上涉及市场、设计、测试、试制、制造、采购、服务、销售、财务各功能部门在产品开发中的活动,纵向上涉及决策、管理、执行三个层面。而CMMI主要是面向研发部门的活动,如软件开发、系统集成、项目管理等。对于软硬件相结合的高科技产品而言,软件开发的工作量往往占整个开发工作量的50-60%,而硬件开发又可能占到15-20%,所以CMM可以管到50-60%的开发活动,而IPD可以管到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与CMMI有这么多的不同,但就对具体流程和活动进行管理而言,两者所依据的原则、方法和实践是相通的和一致的,所以企业在优化产品开发体系时,完全可以将两者融合,实施IPD+ CMM/CMMI的解决方案。
IPD与PLM
PLM是近些年发展起来的一套产品管理软件系统,product lifecycle management 即产品生命周期管理系统。PLM是一种应用于企业内部,以及在产品研发领域具有协作关系的企业之间的,支持产品全生命周期的信息的创建、管理、分发和应用的一系列IT应用解决方案。是一种将产品管理方式通过IT手段进行固化的具体手段。
PLM包含以下方面的内容:
基础技术和标准(例如XML、可视化、协同和企业应用集成);信息创建和分析的工具(如机械CAD、电气CAD、CAM、CAE、计算机辅助软件工程CASE、信息发布工具等);核心功能(例如数据仓库、文档和内容管理、工作流和任务管理等);应用功能(如配置管理、配方管理、合规);面向业务/行业的解决方案和咨询服务(如汽车和高科技行业)。
IPD和PLM的区别与联系
由于PLM系统的开发是借鉴了一些优秀企业的实践,因此在系统设计中与IPD的思路和方法有很多可以配合的地方。但PLM不是为IPD而生的,IPD也不依赖于PLM系统而存在。 一个企业推行IPD体系,与其有没有PLM系统没有任何关系。
有些企业在跟我描述问题时表示,希望通过PLM系统来直接实现流程的优化。对于这种期望,实际上是不恰当的。但客观上,由于国内很多企业的产品管理体系不够完善,在引进PLM系统时,常常遇到障碍,因此在实施PLM前,需要系统的对管理流程和体系进行梳理和完善。这个时候,很多公司想起了IPD这个方式。
事实上,IPD也的确可以在此过程中极大的帮助企业厘清产品研发管理的具体思路,快速建立高效的管理流程体系。由于PLM系统是将企业的管理体系进行IT化,因此完善的管理体系对于PLM系统的实施成功至关重要。
目前,PLM系统的实施团队,更多关注在系统的功能、性能上面,对于管理的流程和思路则更多的取决于企业方面。