某个通信设备研发与制造公司,研发体系人员约有300多人,2004年初在CMMI咨询专家的辅导下启动CMMI-SW/SE咨询项目,公司成立了由30多个业务骨干人组成的CMMI流程优化组编写CMMI过程定义及指导书,并在2004年5月份启动了三个试点项目,经过近半年的试运行,最终在2004年底通过了CMMI的3级评估认证。2005年,公司按照CMMI过程定义实施产品开发时,还是在工作中发现这样或者那样的问题,正如在2005年底公司研发管理工作总结时,公司副总裁兼研发中心的总经理说,“通过CMMI咨询项目的运行,公司的产品开发在研发体系是有章可循,所研发的产品质量有所提高,但一些问题还是没有得到根本性解决,如产品开发中研发部门跨到其它体系沟通的障碍依然存在,产品开发还是依然以技术为趋动力量,市场趋动的产品开发还是依然没有得到实现,公司开发出来的产品在发布决策时的支持信息不充分导致决策迟缓,等等诸多问题,需要我们公司的流程优化人员持续进行优化。”
这个已经通过了CMMI-SW/SE三级认证的公司,为什么在产品开发过程中还会存在上面的问题呢?为了给读者更好地解释,我们要从CMMI模型的核心内容来分析,并分析企业实施CMMI的实践方式,然后结合IPD的核心思想来提出IPD+CMMI的系统性解决方案。
一、CMMI产生及核心内容
CMMI模型脱胎于软件CMM模型,CMM这个模型是美国卡内基·梅隆大学的软件工程研究所(SEI)在美国国防部的资助下发明的。其背景是在上世纪80年代美国国防部在发包软件项目时,发现对这些软件供应商在软件开发项目上超时超支现象特别普遍,而且所交付的软件质量也比较差,但国防部又无从下手对这些软件供应商进行评价来选择那些成熟的供应商,其实供应商自己也不知道怎么能把软件项目管理好,在这种背景下,国防部资助软件工程研究所,希望他们能够研究出一种评价模型来评价软件供应商的研发水平的成熟度,以便国防部只向成熟度高的软件供应商发包项目,CMM模型由此诞生。
用CMM模型,国防部评价供应商,以及软件供应商对自己过程改进确实起到了很大的作用。但是,大部分的企业研发不仅包括软件,也包括硬件和结构,光CMM模型是不能指导一个公司系统级产品研发的。所以2001年软件工程研究所在CMM模型基础上又发明了CMMI模型,用这个CMMI模型来指导系统级产品开发项目管理工作。
CMMI-SW/SE模型是将研发管理分成22个过程域(PA),每一个过程域是关注研发项目中某个方面(PA),如“产品集成过程域”规定了在产品集成时要达到的目标。只有相应等级及以下各等级的过程域目标实现了,在CMMI认证评估时才认可达到了相应等级要求,即是通过了相应等级认证评估,可以拿到软件工程研究所颁发的相应成熟度等级的证书。表一列出了CMMI-SW/SE模型22个过程域。
表一:CMMI-SW/SE模型包括的过程域
针对CMMI模型中22个过程域要求达到的目标具体描述,本文不作详细介绍,有许多专业类的书籍读者可以参考。需要说明的是,CMMI模型这22个过程域规定了研发项目管理具体的要求,我们知道在企业中,项目管理和产品开发管理是不同层次的事情,而且所涉及的知识领域也是不同的,如产品开发要关注市场,项目要关注特定的客户;产品开发是公司级的事情,而研发项目一般是研发中心投入工作量最大。
二、企业实施CMMI的方式
在咨询的过程中,我们接触过许多中国企业,发现他们在实施CMMI时,是按照过程域编写过程文件用来指导研发工作的,其结果是针对每个过程域有相应的过程定义或者指导书来指导实践运作。表二是某个企业实施CMMI所产生的过程文件,具有一定的代表性。
表二 某公司CMMI模式的过程定义集
三、CMMI模型在产品开发管理中存在的遗憾
用CMMI来指导企业产品开发,存在以下两个遗憾:一是由于CMMI模型是按过程域来描述的,因此企业为通过CMMI评估认证,一般按照过程域来编写过程定义文档,割裂了产品开发横向的端到端(从客户中来到客户中去)完整性。
二是这个CMMI模型主要是从和特定客户确定需求以后直到交付给特定客户这样一个项目管理的过程,在指导定制项目上取得的成绩是有目共睹,在指导企业产品开发时就存在着遗憾了。针对企业来说,更多地是关注市场、以市场为导向进行产品开发,对企业来说产品开发已经不是单纯的产品本身开发,而是产品包的开发,所谓产品包,不光是指产品功能、性能本身开发,也包括可制造性、可测试性、可服务性,同时也包括生产策略、销售策略、服务支持策略、宣传策略的开发等。
下面我们分析一下企业中产品包开发具体流程及要做的具体工作内容:
我们知道在企业中要做产品包开发,首先要对市场信息进行收集,信息包括市场宏观环境信息、竞争对手的信息、客户信息、自身的信息,然后对这些信息进行分析,根据客户需求的不同,将整个市场划分出不同的细分市场,分析出各细分市场的容量,分析在这些细分市场中公司的竞争能力如何,然后企业根据自身竞争力情况来确定进入吸引力较大的细分市场作为企业的目标市场。
选择了企业进入的细分市场,企业要制订产品线的业务计划,其内容包括财务策略、订单履行策略、组合宣传策略、技术支持策略、生产策略等内容,根据这些策略并制订相应的实施计划。如果一个企业存在多个产品线,产品线业务计划制订出来后,各产品线要融合业务计划。各产品线根据优化后的业务计划,规划出本产品线的产品开发的路标。根据路标规划,由产品线的集成组合管理团队(IPMT)向产品开发团队(PDT)下达产品包开发的任务书,进入产品包开发流程。
在产品包开发过程中,是需要公司的各部门参与的,如研发部门、制造部门、测试部门、销售部门、采购部门、财务等,为了便于跨部门沟通顺畅,在西方发达国家一般是通过建立跨部门的虚拟团队(产品开发团队)。产品开发的过程一般经过概念、计划、开发、验证、发布,最后进入生命周期管理阶段,在每个阶段中是采用跨部门的、并行作业方式,如在概念阶段在确定产品包概念时,制造策略、销售策略、服务支持策略、营销宣传策略等也在此进行确定和优化。
在整个产品开发过程中,是要有相应的组织来保证的,一般是用跨部门的虚拟团队,如负责市场管理的组合管理团队(PMT),负责决策的集成组合管理团队(IPMT),负责产品开发的团队(PDT),负责产品生命周期管理的团队(LMT),负责技术管理的集成技术管理团队(ITMT),负责技术开发的团队(TDT)等,只有明确了这些虚拟组织角色和职责,并对其授权,才能在组织上保证产品开发的顺畅实施。
另外在开发过程中,不断调用一些子流程,有的公司称之为使能流程,如项目计划与跟踪子流程、配置管理子流程、变更控制子流程、方案设计子流程、产品集成子流程、同行评审子流程等。
按照CMMI过程域所制订的过程定义文档,一般来说只能是产品开发过程中被调用的子流程,为什么这样说呢?从表二可以看出,忠实按照CMMI模型写出的过程定义基本上是就过程域来编写的,对每个过程域如何实现,用到什么工具更好地辅助过程域实现都研究得非常到位,但就缺少了企业产品包开发中市场信息收集、市场管理、产品线业务计划、产品规划、跨部门组织、跨部门流程、平台运作、CBB管理、项目群管理等模块内容,无怪乎一些组织实施过CMMI后,在企业产品开发中还存在着正如本文开头所说的那些问题的发生:“通过CMMI咨询项目的运行,公司的产品开发在研发体系是有章可循,所研发的产品质量有所提高,但一些问题还是没有得到根本性解决,如产品开发中研发部门跨到其它体系沟通的障碍依然存在,产品开发还是依然以技术为趋动力量,市场趋动的产品开发还是依然没有得到实施,公司开发出来的产品在发布时决策的支持信息不充分,等等诸多问题,需要我们公司的流程优化人员持续进行优化。”
其实,上面提到的这些问题,正是IPD(集成产品开发)所关注的。
四、IPD的核心内容
IPD的核心内容是以市场为导向的产品开发,关注客户需求,另外IPD把产品开发在公司内部也作为一项投资来看待,建立了虚拟的投资决策委员会(IPMT),对产品开发团队(PDT)的活动在一些关键点上进行决策,此外IPD所建立的产品开发团是跨部门的,可以打破部门之间的沟通壁垒,并给出了跨部门业务流程指导跨部门团队运作。
图一给出了IPD的核心模块内容,对IPD的核心思想进行分析如下:
组合管理:要对产品开发进行有效的投资组合分析,选择那些即有市场前景(市场的吸引力大)、公司又具有竞争实力的细分市场作为公司的投资重点(目标细分市场),并在开发过程设置检查点,通过阶段性决策评审来决定项目是继续、暂停还是改变方向。
$APPEALS:产品创新一定是基于市场需求和竞争分析的创新。为此,IPD把正确定义产品概念、市场需求作为流程的第一步,开始就把事情做正确,用市场管理流程牵引产品开发,为此IPD提供了$APPEALS工具指导客户需求收集,通过这个工具,由客户定义出产品概念及其各要素的优化级,而不是由研发人员在实验室里定义产品概念。
异步开发:就是通过严密的计划、准确的接口设计,把原来的许多后续活动提前进行,这样可以缩短产品上市时间,如把技术开发和产品开发异步进行,在产品规划指引下,技术平台开发先行;采用公用构建模块(CBB:Common
Building Block)提高产品开发的效率。这样可以避免技术开发和产品开发同步进行,产品开发进度延迟的风险大大减少。
跨部门团队:采用跨部门的产品开发团队(PDT:Product Development Team),设置LPDT角色负责跨部门沟通,明确产品开发团队和职能部门的职责,产品开发团队的职责是实现产品,而职能部门从传统的业务与职能管理转化为业务服务部门,产品开发团队通过跨部门的有效的沟通、协调以及决策,达到尽快将产品推向市场的目的。
结构化流程:建立端到端的产品开发流程,所谓端到端是区别于职能式的产品开发模式,建立的产品开发流程是跨部门的、关注业务实现的、客户到客户的业务流程,其最高端为产品开发的袖珍卡,袖珍卡标明了产品开发实现较高端的活动,下一级为阶段流程,如概念阶段、计划阶段、开发阶段、验证阶段等流程,以指导开发团队工作。
管道和项目管理:在企业中,同时存在多个产品开发项目,因此就需要对项目群之间的资源进行协调。通过管道管理方法论,解决整个体系中资源平衡的问题,解决资源忙闲不均的问题。
衡量标准:和CMMI中的度量过程域相同,IPD也提供了衡量标准模块来指导度量分析工作,并把度量结果用于过程改进,IPD衡量标准由客户指标(如客户满意度)、财务指标(如销售额)、创新和学习指标(IPD符合度)、内部业务(如器件重用)指标组成。
图一 IPD核心模块
从上面的分析可以看出,IPD是从组织(成立跨部门的团队IPMT和PDT等)、端到端的流程(不是局限在职能部门内部,而是跨部门的、客户到客户的业务流程)、组合分析和客户$APPEALS定义市场和定义产品概念、管道与项目管理(项目群资源平衡)、异步开发(技术平台与开发产品异步进行)等等,这些方面是CMMI所没有关注的。
五、IPD+CMMI,企业产品开发系统性解决方案
IPD是关注产品包开发的解决方案,而且把产品包开发作为整个公司的事情来对待,从市场信息收集开始、到产品发布,直到产品生命周期结束的整个过程,在这整个产品包开发过程中,提供了许多业界成功实践来指导产品包开发,如市场信息收集、市场细分、客户$APPEALS、组合分析工具、跨部门虚拟团队(IPMT、ITMT、PMT、PDT、LMT等)与流程(端到端的、结构化的产品开发流程)等,因此我们可以认为IPD管得“宽”(从市场管理到产品开发,再到产品生命周期管理)、定位高(公司级的决策与开发组织与架构、公司级产品开发流程等);而CMMI将产品开发项目管理上分成许多领域,并且着力研究这些领域的工具和方法,在细节管理上力求更精更深。我们可以形象地将IPD看作“T”型的“横”,将CMMI模型看作“T”型的“竖”,IPD+CMMI将是企业产品开发管理体系完美的“T”型组合。
汉捷咨询在长期的咨询过程中,摸索出IPD+CMMI企业产品开发管理模式,下图是汉捷咨询所推行的IPD+CMMI的系统性解决方案。在图中,红色背景部分是按照IPD模块建立的主流程及团队,蓝色背景部分是按照CMMI模型建立的子流程,这些子流程在产品包开发过程中被多次调用。
图二 企业产品开发IPD+CMMI的系统级解决方案
汉捷咨询在实施IPD+CMMI咨询项目上,在客户公司取得了良好的效果,即建立起了公司司级和研发中心的运作规范,理顺整体研发体系工作,又使产品开发工作关注市场、关注客户需求,产品开发的针对性更强,产品开发上市后更有竞争力,资源的分配更加合理,从而提高了研发效率,保证了产品市场的成功。
|