IPD流程

IPD流程的英文名称为Integrated Product Development,集成产品开发管理。整个IPD流程很大,包括整个项目的研发管理,甚至包括回款投资等等,这里我们只站在软件开发的角度,来介绍分享下IPD流程。

IPD流程的步骤

站在软件开发的交付,IPD流程主要包括以下的几个步骤

IPD1

各个阶段的研发的主要活动如下

概念阶段

  • 产品需求分析
  • 技术评审1
  • 准备开发和验证计划

计划阶段

  • 产品架构和系统设计
  • 技术评审2
  • 专项概要设计
  • 技术评审3

开发阶段

  • 详细设计与开发
  • 技术评审4
  • 系统设计验证
  • 技术评审4A
  • 系统集成测试(SDV)
  • 技术评审5

验证阶段

  • 系统验证测试(SVT)
  • Beta测试
  • 技术评审6

生命周期阶段

  • 问题与缺陷管理
  • 补丁开发
  • 硬件维护
  • 资料维护
  • 市场,生产技术支持

更加详细的附带了每个技术评审点的流程图如下所示:

IPD2

技术评审(Technical Review)

  • TR1 关注需求包的完整性和备选概念的合理性
  • TR2 审视产品设计规格,关注设计需求是否完成转化成设计规格
  • TR3 审视所有设计规格被分解到位,子系统与功能领域的设计方案完成并评审通过
  • TR4 完成SDV测试
  • TR4A 评估产品成熟度,确保问题与风险闭环,供应与制造经过验证确保能支持产品生产
  • TR5 产品满足功能和性能要求,产品需求全部实现
  • TR6 产品经过验证能够满足全球批量发货商用

对于IPD流程,上面的是技术评审点,实际上整个项目还有决策评审点

决策评审点(Decision Checkpoint)

下面的决策评审点分别对应了上面的研发的各个阶段
charter:charter评审通过以为着IPMT/BMT同意立项,以及概念阶段的资源投入
CDCP: IPMT/BMT同意PDT计划阶段的资源投入
PDCP: IPMT/BMT同意PDT开发验证阶段的资源投入,PDT将按照签署的合同要求开发并交付产品包
EDCP: EDCP通过意味着产品包达到足够的质量要求,IRB/IPMT同意针对某一特定的机会提前销售该产品包
ADCP: ADCP通过意味着IPMT/BMT同意PDT发布阶段的资源投入,已经确定产品可以大批量上市的时间
LDCP:生命周期终止

上面的术语解释:
IPMT(Integrated Portfolio Management Team) 集成组合管理团队。是产品投资决策和评审机构。是一个高层跨部门团队,包括各个部门的最高主管
BMT(Business Manager Team)业务主管团队
PDT是一个强矩阵管理团队,核心架构包括POP(project operator), PQA(Project Quality Assurance), 以及相关功能领域的核心代表,包括财务代表,开发代表,制造代表,市场代表,采购代表,服务代表等。

IPD流程适合的领域

IPD流程适合于大型的企业软件,工具软件以及电信软件的开发。这也是为什么华为公司从IBM引入IPD流程后迅速发展的一个原因之一。对于大型的企业软件或者电信软件,因为他们最重要的要求是稳定,而不是快速迭代,所以IPD流程的繁琐细节可以尽最大的努力去减少bug,保证系统的稳定。

IPD流程存在的问题

IPD流程老旧繁琐。我们可以看到一个版本从概念到发布一般要半年的时间,而且在整个阶段有各种各样的评审,实际上极大的限制了程序员的主观性与效率。对于大型的企业软件或者电信软件,因为他们最重要的要求是稳定,而不是快速迭代,所以IPD流程的繁琐细节可以尽最大的努力去减少bug,保证系统的稳定。

然而对于互联网软件来说,这个流程就太过于臃肿了,新增一个功能要层层验证审批,几个月后才能更新一个版本,在网红都不能红三个月的互联网,估计早就凉凉了。

而且为了IPD流程,需要大量的组织和研发人员,实际开发人员占比较低,也导致了研发成本较高。

同时很多时候评审的专家脱离代码较久,而一线的开发人员却没有太多方案的话语权,也会导致开发过程中的反复。

对于部分研发管理人员而言,迷信认为IPD流程能够保证产品质量,进而把软件工程师人力化,不注重软件工程师的专业技能,认为只要认识代码就能上手,其他的由IPD流程保证,这样会导致项目质量以及代码质量存在极大问题。同时为了符合IPD流程的时间周期,各种骚操作被频繁发明或使用,也会导致整个项目越来越腐朽,变成一坨任何人都不敢动的且尚能维持使用的垃圾。

IPD流程在实际的应用中有时候也会存在变形的情况。

显示 Gitment 评论