1、体系概要介绍
一个研发体系的主体目标是讲清楚流程和职责,流程是生产线,定义阶段和阶段产出,角色职责是为为体系里的每个人定义清楚定位和分工。一个好的体系,对于角色职责是非常清楚的,而互联网产品经理模式应用到项目的问题就是角色职责不清不楚。这里的体系围绕IPD进行介绍,IPD为国内多熟知是因为华为的研发体系,而其实这一套在大型外企已经相当成熟,之前在世界五百强的外企就一直是IPD产品研发体系。IPD是产品研发体系,涵盖了产品开发和项目管理,是最顶层的流程设计。
在IPD中,有两种团队:
决策层的IPD团队,称为IPMT,由决策层人员组成,他们确保公司在市场上有正确的产品定位,保证将公司有限的资源投到高回报的项目上(IPMT通过对项目过程的管理和职能管道的管理来提供项目资源,并保证项目顺利开发)。
执行层的产品开发团队,称为PDT。 是由具体的产品开发团队组成,他们制定具体产品策略和业务计划,按照项目计划执行并且保质保量完成。
2、研发项目管理
在PDT过程里,包括概念、计划、开发、验证和发布 这5个核心流程,项目开发完成,即进入生命周期管理,主要就是实施运维阶段。
项目管理的体系和知识领域不是本文的介绍重点,对此感兴趣的可以去学习PMP,这已经是最权威的知识体系培训和考证了。这里主要介绍建设一个完整的研发项目管理的目标,基于IPD完整流程,研发项目管理主要是定义 项目目标、计划、成本和进行风险管控,所以需要有立项(P),通过里程碑定义阶段性目标和输出(P),通过阶段性评审检查(C)过程的输出(D),最后通过结项去验收目标(A)。所以在研发项目管理层面,主要负责:
(1)立项(立项项目书、立项ppt、财经预算表、立项评审表);
(2)里程碑及关键评审,关键评审示例如下:
(3)项目周报;
(4)结项;
上述的每个阶段性输出,都需要定义出来模板,以便于整个过程的顺利执行。对于项目管理最重要也最难的部分就是评审,评审的目的是审视目标有没有偏离,但是对于大部分需求不定或者变化的产品研发项目这是很难的,所以作为专家评委需要深知这一点,要有能力透过现象看本质,抓住研发项目管理的核心内容。不专业的评审最后都会变成给领导汇报,评审会也就变成了领导点评会,所以有个专业的PMO团队很重要。
3、研发质量规范
研发质量规范主要是审计研发过程的输入输出产物的质量,制定一些质量评价指标去评估研发项目的健康度,关键点就是通过审计过程输出去规范流程,一般分为发布流程和上线流程,整体流程的概要如下:
上线发布交付成果:
日常上线交付成果:
研发质量管控的核心就是Check审计,审计过程产物,通过过程产物输出规范研发负责人按照流程做事。想要求研发负责人强制推行你的流程是很难行得通的,得首先告诉他什么是正确的,然后和他一起定义输出定义如何做到正确,之前遇到过很多QA的失败之处,就是以自身为准绳,制定一个规范就要求研发团队去执行,必然招致反对和反感。要研发团队以QA的准则做事,要有组织高层领导授权,和给团队方向和能动性,并以输出为检查物,做好充分沟通。
4、研发过程规范
研发过程规范主要描述DEV工程规范,也就是代码和测试,这里主要以JAVA应用开发视角描述,主体可以参考阿里的编程规约,这里只做简单陈述。研发过程规范主要目的是 设定一系列通用的技术规范,便于团队协作的时候减少因为工程混乱导致的技术债,保障团队的代码在一个正确的框架内码砖,不至于越做越乱,所以一定要团队研发理解一致,并由负责人定期进行CodeReview。核心要求可以如下:
1 Git工作流定义
2 Maven与工程结构定义
3 Java开发规范
4 公共组件规范及约定
每个团队都有自己一些独特性,但是一个团队内工作,就需要保持一致的开发规范,这是团队成立的基础前提!
5、总结
IPD是一套比较完善的产品研发体系,一般大中型公司的体系建设都参照执行,通过比较简单的理念讲清楚产品研发的流程规范,整个体系小而美,而适用的场景广泛,适用的公司规模从小到大均可,同时适合于软件和硬件产品开发,是一套比较基准的产品研发体系准绳。但是一套体系并不是全部,最关键的还是体系里的人才,人才密度越高流程就能越弱,反之越强。所以重视人才尊重人才培养人才才是最完美的产品研发体系!!!