具体讲每个阶段之前,我们先介绍下研发流程管理体系的治理架构,这里有两个虚拟组织对研发流程负责,一个是研发流程改进委员会,主要负责研发流程版本及研发流程变革项目的全生命周期的审核和批准,研发流程改进委员会由各产品线研发部部长、研发流程部部长、研发流程部5级专家组成。另一个是研发流程CCB(控制变更委员会),主要负责对研发流程CR进行评审。CCB由研发流程部部长、研发流程部5级专家、各产品线研发质量部部长组成。
版本规划:一般在每年的 11月、12月进行,由研发流程部部长和 5级流程专家主导,研发流程各个领域的负责人参与。规划主要是根据目前业务的需求、流程的现状来规划研发流程变革项目,还有一些研发流程领域的探索性业务。举个例子,在某一年做规划的时候,大家对研发外包管理做了探讨:(1)研发外包是目前普遍的业务现状,特别是软件外包,频率非常高;(2)公司有了一些外包的管理要求,主要是对供应商的选择,法律条款方面的内容进行了约束,但是缺少针对研发外包项目的项目管理的内容。这样一来,方向就有了,成立一个研发外包管理的流程变革项目,对业务进行梳理,并发布相应的流程。
另外一个例子,随着开源软件成熟度的提高,以及企业本身降低研发成本的需求,将会有越来越多的项目用到开源软件,那么企业应该如何参与到开源社区的建设,如何规范开源软件的使用过程,规避风险?这些都是需要探讨的内容,所以在某一次的规划会议中,研发流程部也将开源软件的使用作为了一个研究方向,由流程专家与业务专家一起,成立项目做相关的研究。
在做流程项目规划的时候,要考虑项目的范围和难易程度,项目是一期就能完成还是需要分期完成,项目由哪个产品线牵头比较合适,这些都是做规划的时候需要考虑的内容。
研发流程版本规划需得到研发流程改进委员会的批准。
版本实施与监控:研发流程版本主要由两大部分组成,除了规划的流程变革项目以外,另一类主要来源是变更申请(Change Request),以下简称 CR,所以研发流程版本的实施与监控,实际上就是各个研发流程变革项目和CR的实施与监控。
研发流程变革项目的管理方式与前面讲的流程设计过程项目管理过程类似,不再复述,只强调标杆的几个关键点。
立项:变革项目不仅涉及资源的投入,而且它的项目过程、项目结果很有可能带来业务规则的变化、组织的调整,影响的范围也特别广,所以变革项目的立项过程更应谨慎和严谨。
研发流程变革项目成员一般会由流程专家和产品线业务、质量人员组成。流程专家会把握整个流程项目的进度节点,协调各产品线的意见,从流程的角度给出建议及流程文件的修改意见。产品线的业务人员和 QA根据业务的现状和趋势,对于流程现状提出更改建议。最终项目组输出项目材料及流程CR在获得研发流程改进委员会和CCB的同意后,项目成果会跟随研发流程版本发布。
华为的变革项目也不是一帆风顺的,也有几个困难的地方:不是所有产品线都重视流程,所以参与项目的人员的能力和责任性参差不齐;各产品线产品形态各异,要在中间找到平衡点,发布公司级的流程,是一个权衡和拉锯的过程;寻找合适的试点项目。华为的项目进度是出名的紧张,在大家都恨不得一天当作两天用的时候,能找到项目愿意在忙碌中试点新的流程,也不是容易的事。所以也要依托变更项目的推进,在研发流程改进委员会层面来解决这些问题。
再看CR的管理,CR的来源主要有这几部分:日常CR,研发流程变革项目CR,其他领域变革项目CR。
日常CR:华为公司的任何员工发现流程文件中有问题的地方,或与业务不相符的地方,都可以提交CR申请,提交改进建议。
研发流程变革项目CR:流程变革项目可能会发布新的流程,同时也有可能对现有流程有一些改进的地方,涉及现有流程修改的具体内容,都需要提交CR申请。其他流程变革项目 CR:非研发领域的流程项目,但涉及研发流程配套修改的内容,也需要提交CR申请。
每年研发领域的CR数量大概有 50条左右,涉及更改的流程文件的上百份(包括流程图、模板、指导书、Checklist等),所以CR的管理是非常重要的。在华为,我们通过研发流程CCB的运作对研发流程领域所有的 CR 进行管理。CCB 有固定的运作秘书,一般由研发流程部的流程管理工程师担任。
运作秘书一般会在前一年的12月制定会议日历,将第二年全年的会议日期确定下来(一般是每月一次,一次半天),然后按照月度会议时间召集会议。
CR的管理过程:CR的发起者通过CR电子流提交材料,材料中说明CR的原因、涉及的流程文件、与相关人的沟通记录等。运作秘书收到电子流以后,会对材料进行初审,初审通过后与相关流程的责任人进行沟通,然后安排议题,组织评审会议。通过 CCB会议评审的 CR,由运作秘书记录在 CR清单中,在流程版本发布前,集中更改涉及的流程文件,随版本发布。CR管理流程如图所示。