集成产品开发
 

2009-03-10 来源:mbalib.com

 

什么是集成产品开发

集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式、理念与方法。IPD的思想来源于美国PRTM公司出版的《产品及生命周期优化法》(简称PACE——Product And Cycle-time Excellence)一书,该书中详细描述了这种新的产品开发模式所包含的各个方面。

最先将IPD付诸实践的是IBM公司,1992年IBM在激烈的市场竞争下,遭遇到了严重的财政困难,公司销售收入停止增长,利润急剧下降。经过分析,IBM发现他们在研发费用、研发损失费用和产品上市时间等几个方面远远落后于业界最佳。为了重新获得市场竞争优势,IBM提出了将产品上市时间压缩一半,在不影响产品开发结果的情况下,将研发费用减少一半的目标。为了达到这个目标,IBM公司率先应用了集成产品开发(IPD)的方法,在综合了许多业界最佳实践要素的框架指导下,从流程重整和产品重整两个方面来达到缩短产品上市时间、提高产品利润、有效地进行产品开发、为顾客和股东提供更大价值的目标。

IBM公司实施IPD的效果不管在财务指标还是质量指标上得到验证,最显著的改进在于:

  • 产品研发周期显著缩短;
  • 产品成本降低;
  • 研发费用占总收入的比率降低,人均产出率大幅提高;
  • 产品质量普遍提高;
  • 花费在中途废止项目上的费用明现减少;

在IBM成功经验的影响下,国内外许多高科技公司采用了集成产品开发(IPD)模式,如美国波音公司和深圳华为公司等,都取得了较大的成功。实践证明,IPD既是一种先进思想,也是一种卓越的产品开发模式。

集成产品开发的核心思想

IPD的关键要素包括:跨部门的团队、结构化的流程、一流的子流程(如:项目计划与监控、数据管理、共用模块、技术管理、管道管理等)、基于平衡记分卡的考核体系、IT支持等。它的核心思想主要有:

1、把新产品开发作为投资决策,并通过预算来管理项目

对于高科技工业企业来说,新产品开发不但是投资决策,而且是最重要的投资决策。因为投入的不光是资金,最重要的还有资源。对于任何一家企业,资源总是有限的,选择了A项目,往往意味着不能选择B项目和C项目,正确的选择给企业带来利润,选择失误,造成的不仅是资源浪费,更可怕的是失去市场机会和企业发展的机会。

IPD对新产品开发进行分阶段投资,加强阶段决策,减少投资失误,即使失误,也能使损失降至最低。

2、基于市场来定义新产品开发的目标

不管企业采用什么样的策略,新产品开发的目的无非是为了企业赢利(包括未来能赢利),所以新产品开发只能面向当前或未来(能预见到的未来)的市场需求。IPD强调基于市场的创新,为达此目的,IPD把正确定义产品概念、市场需求作为流程的第一步,着眼于一开始就把事情做正确,并且在产品的整个生命周期都从客户的要求出发制订有关计划。

3、协调高效的项目团队

在项目初期即由不同功能部门共同参与,组成产品开发的跨部门核心项目小组,由核心小组组长统一协调指挥。

4、大量采用并行工程

并行工程是缩短新产品上市周期(TTM)的重要手段,它通过严密的计划、准确的接口设计把原来的许多后继活动提前进行。并行工程不光是产品设计活动的并行展开,也包括其它相关部门的活动。很多企业的新产品开发往往只关心如何把产品“成功”地开发出来,而不关心(至少是在开发阶段不关心)如何及时地把产品生产出来并销售出去,这也是影响TTM的重要原因。

5、结构化与非结构化之间的合理平衡

产品开发是一种创新活动,但不是什么都从头做起,是有限度的创新。IPD流程也是有限度的结构化,它在结构化与非结构化之间找到了合理的平衡点。这不同于生产流程,理想的生产是拷贝,强调全程固化的流程以保证产品的一致性。

IPD核心思想和框架

IPD作为先进的产品开发理念,其核心思想概括如下:

  • 新产品开发是一项投资决策。
      IPD强调要对产品开发进行有效的投资组合分析,并在开发过程设置检查点,通过阶段性评审来决定项目是继续、暂停、种植还是改变方向。
  • 基于市场的开发。
      IPD强调产品创新一定是基于市场需求和竞争分析的创新。为此,IPD把正确定义产品概念、市场需求作为流程的第一步,开始就把事情做正确。
  • 跨企业、部门、跨系统的协同团队。
      采用跨部门的产品开发团队(PDT:Product Development Team),通过有效的沟通、协调以及决策,达到尽快将产品推向市场的目的。
  • 异步开发模式,也称并行工程。
      就是通过严密的计划、准确的接口设计,把原来的许多后续活动提前进行,这样可以缩短产品上市时间。
  • 重用性。
      采用公用构建模块(CBB:Common Building Block)提高产品开发的效率。
  • 结构化的流程。
      产品开发项目的相对不确定性,要求开发流程在非结构化与过于结构化之间找到平衡。

集成产品开发的框架

IPD框架是IPD的精髓,它集成了代表业界最佳实践的诸多要素。具体包括异步开发与共用基础模块、跨部门团队、项目和管道管理、结构化流程、客户需求分析($APPEALS)、优化投资组合和衡量标准共七个方面,IPD框架如下图所示。

下面分别介绍IPD框架中的几个方面。

1、市场管理

市场管理从客户、投资、市场等产品生存的外在客观环境因素来影响产品的特性和生命。包括:

1)客户需求分析

可以说,没有需求就没有软件,缺乏好的、及时的市场需求是项目方向偏离和产品失败的最主要原因。IPD使用一种用于了解客户需求、确定产品市场定位的工具 ——$APPEALS进行需求分析。 $APPEALS从八个方面衡量客户对产品的关注,确定产品的哪一方面对客户是最重要的。$APPEALS的含义如下:$-产品价格(Price);A- 可获得性(Availability);P-包装(Packaging);P-性能(Performance);E-易用性(Easy to use);A-保证程度(Assurances);L-生命周期成本(Life cycle of cost);S-社会接受程度(Social acceptance)。

2)投资组合分析

IPD强调对产品开发进行有效的投资组合分析。如何正确评价、决定企业是否开发一个新产品,以及正确地决定对各个新产品的资金分配额,就需要测定新产品的投资利润率。只有明确了投资利润率的各种静态和动态的决定因素和计算方法,企业才能对产品战略做出正确的判断和决策,进而确定产品开发的投资。

企业能否有效地掌握投入资金的对策,取得好的产品资金效果,提高资金运营效率,是一个大的战略问题,也是企业业务投资组合计划的任务。尤其是经营多种产品的生产企业,要正确地决定资金投入对策,还必须研究产品结构,研究企业各种产品的投入、产出、创利与市场占有率、市场成长率的关系,然后才能决定对众多产品如何分配资金。这是企业产品投资组合计划必须解决的问题。企业组成什么样的产品结构?总的要求应是各具特色,经济合理。因此,需要考虑服务方向、竞争对手、市场需求、企业优势、资源条件、收益目标等因素。

投资组合分析要贯穿整个产品生命周期,在开发过程设置检查点,通过阶段性评审来决定项目是继续、暂停、种植还是改变方向。通常在各个阶段完成之后,要做一次GO/NO GO决策,以决定下一步是否继续,从而可以最大地减少资源浪费,避免后续资源的无谓投入。

3)衡量指标

投资分析和评审的依据是事先制订的衡量指标,包括对产品开发过程、不同层次人员或组织的工作绩效进行衡量的一系列指标。如产品开发过程的衡量标准有硬指标(如财务指标、产品开发周期等)和软指标(如产品开发过程的成熟度);衡量标准有投资效率、新产品收入比率、被废弃的项目数、产品上市时间、产品盈利时间、共用基础模块的重用情况等。

2、流程重整

IPD中的流程重整主要关注于跨部门的团队、结构化的流程、项目和管道管理。在结构化流程的每一个阶段及决策点,由不同功能部门人员组成的跨部门团队协同工作,完成产品开发战略的决策和产品的设计开发,通过项目管理和管道管理来保证项目顺利地得到开发。

1)跨部门团队

组织结构是流程运作的基本保证。在IPD中有两类跨部门团队,一个是集成产品管理团队(IPMT),属于高层管理决策层; 另一个是产品开发团队(PDT),属于项目执行层。

IPMT和PDT都是由跨职能部门的人组成,包含了开发、市场、生产、采购、财务、制造、技术支援等不同部门的人员,其人员层次和工作重点都有所不同。 IPMT由公司决策层人员组成,其工作是确保公司在市场上有正确的产品定位,保证项目保证资源、控制投资。IPMT同时管理多个PDT,并从市场的角度考察他们是否盈利,适时终止前景不好的项目,保证将公司有限的资源投到高回报的项目上。

PDT是具体的产品开发团队,其工作是制定具体产品策略和业务计划,按照项目计划执行并保证及时完成,确保小组将按计划及时地将产品投放到市场。

PDT是一个虚拟的组织,其成员在产品开发期间一起工作,由项目经理组织,可以是项目经理负责的项目单列式组织结构。

2)结构化流程

IPD产品开发流程被明确地划分为概念、计划、开发、验证、发布、生命周期六个阶段,并且在流程中有定义清晰的决策评审点。这些评审点上的评审已不是技术评审,而是业务评审,更关注产品的市场定位及盈利情况。决策评审点有一致的衡量标准,只有完成了规定的工作才能够由一个决策点进入下一个决策点。下面是典型的产品开发流程:

  • 在概念阶段初期,一旦IPMT认为新产品、新服务和新市场的思想有价值,他们将组建并任命PDT成员。
  • PDT了解未来市场、收集信息、制定业务计划。业务计划主要包括市场分析、产品概述、竞争分析、生产和供应计划、市场计划、客户服务支持计划、项目时间安排和资源计划、风险评估和风险管理、财务概述等方面信息,所有这些信息都要从业务的角度来思考和确定,保证企业最终能够盈利。
  • 业务计划完成之后,进行概念决策评审。IPMT审视这些项目并决定哪些项目可以进入计划阶段。
  • 在计划阶段,PDT综合考虑组织、资源、时间、费用等因素,形成一个总体、详细、具有较高正确性的业务计划。
  • 完成详细业务计划以后,PDT提交该计划给IPMT评审。如果评审通过,项目进入开发阶段。PDT负责管理从计划评审点直到将产品推向市场的整个开发过程,PDT小组成员负责落实相关部门的支持。
  • 在产品开发全过程中,就每一活动所需要的时间及费用,不同层次人员、部门之间依次做出承诺。

3)项目和管道管理

项目管理是使跨部门团队集合起来更好地行动的关键。首先要有一个目标即项目所要达到的效果,一旦我们将客户的需求转换为对产品的需求时,就可以制定详细计划。该计划中的各部分将具体划分为每个职能部门的工作,即这个计划不只是研发部门的计划,也是公司各个部门共同的计划。一个产品从概念形成到上市期间会涉及到许多不同的紧密相联的活动,就好像不同职能部门彼此之间是有关系的。同样在一个项目中他们彼此之间的活动也是有关联的,所有的活动加起来就是整个的产品开发。

接下来安排活动的时间,然后对每个活动进行预算和资源的调配,在项目实施过程中还需要不断地与计划对照,因为没有任何一个计划是完善的,所以可以在细的层面上对计划进行一定的调整,但是PDT做出的承诺不能改变。整个项目的进行过程都需要PDT的参与,因此,PDT在产品开发全流程中自始至终存在。

管道管理类似于多任务处理系统中的资源调度和管理,指根据公司的业务策略对开发项目及其所需资源进行优先排序及动态平衡的过程。

3、产品重整

IPD提高开发效率的手段是产品重整。产品重整主要关注于异步开发和共用基础模块(CBB)。

1)异步开发(并行工程)

异步开发模式的基本思想是将产品开发在纵向分为不同的层次,如技术层、子系统层、平台层等。不同层次工作由不同的团队并行地异步开发完成,从而减少下层对上层工作的制约,每个层次都直接面向市场。

通常,在产品开发过程中,由于上层技术或系统通常依赖于下层的技术,因此,开发层次之间的工作具有相互依赖性,如果一个层次的工作延迟了,将会造成整个时间的延长,这是导致产品开发延误的主要原因。 通过减弱各开发层次间的依赖关系,可以实现所有层次任务的异步开发。

为了实现异步开发,建立可重用的共用基础模块是非常重要的。

2)共用基础模块

共用基础模块(Common Building Blocks, CBB)指那些可以在不同产品、系统之间共用的零部件、模块、技术及其他相关的设计成果。由于部门之间共享已有成果的程度很低,随着产品种类的不断增长,零部件、支持系统、供应商也在持续增长,这将导致一系列问题。事实上,不同产品、系统之间,存在许多可以共用的零部件、模块和技术,如果产品在开发中尽可能多地采用了这些成熟的共用基础模块和技术,无疑这一产品的质量、进度和成本会得到很好的控制和保证,产品开发中的技术风险也将大为降低。因此,通过产品重整,建立CBB数据库,实现技术、模块、子系统、零部件在不同产品之间的重用和共享,可以缩短产品开发周期、降低产品成本。 CBB策略的实施需要组织结构和衡量标准的保证。

不管是异步开发还是共用基础模块的实现,都需要很高水平的系统划分和接口标准制订,需要企业级的构架师进行规划。

IPD与CMMI的区别

先看一下CMMI在CMM的区别。CMMI与SW-CMM的主要区别在三个方面:专业领域、成熟度等级和过程域、模型结构。与CMM相比,CMMI覆盖4个专业领域,即软件工程(SW)、系统工程(SE)、集成的产品和过程开发(IPPD)、采购(Supplier Sourcing)。

IPD与CMMI起源和出发点的不同,决定了两者具有很大的区别。CMM是SEI针对软件质量保证制定的能力成熟度模型,与ISO9000系列标准和MIL标准一样,均属于过程质量模型。CMMI是在CMM的基础上发展起来的,与CMM一样,本质上关注的是过程质量。而IPD着眼于产品开发获得市场成功,是在PACE(产品及周期优化法)等产品开发模式的基础上,经过一些领先企业(如IBM)的实践发展起来的。 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%的开发活动,而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与CMMI有这么多的不同,但就对具体流程和活动进行管理而言,两者所依据的原则、方法和实践是相通的和一致的,所以企业在优化产品开发体系时,完全可以将两者融合,实施IPD+ CMM/CMMI的解决方案。事实上,一些企业(如华为、许继电气、优特科技)在融合IPD和CMM/CMMI方面已经取得了成功的经验。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织