引言:相对于企业生产流程、销售流程、售后服务流程等,研发流程涉及的活动更多,更为复杂,需要市场、开发、测试、采购、生产、销售、服务、财务等部门的共同参与,所以构建研发流程时,除了需要遵循业务流程设计的一般性方法外,还要着重考虑研发流程的结构化和并行工程。
结构化的开发流程
所谓结构化,是指相互关联的工作要有一个框架结构,并要有一定的组织原则来支持它,比如,在一个自上而下的层次构架中,上层结构简单一些,越到下层越繁杂越具体。同时,需要对每项工作进行定义,即每项工作都应清楚地明确规定出来,所有人员应该清楚他们所参与的是什么工作,用什么方法去完成。
产品开发是复杂的。因为产品开发人员必须完成成千上万项活动,而这些活动大部分是与他人工作紧密相关的,协调便成为极其复杂的工作。为了能管理好这些庞大而复杂的活动,产品开发流程必须成为结构合理、定义清楚的过程。
我们一般谈到的研发流程,除了产品开发流程以外,还包括产品战略流程、市场管理及产品规划流程、技术开发流程、产品/技术研究(Research,很多公司又称为预研)流程等,不同的研发流程结构化的层次和程度会有所不同,比如,技术预研流程的结构化程度就远不如产品开发流程。
以产品开发流程为例,一般可以划分为流程概览、阶段流程、子流程/支撑性流程、模板/指导书四个层次,以下是一家科技型企业产品开发流程的层次结构图:
图6.1 某科技型企业产品开发流程的结构层次
通过流程结构层次的划分和定义,企业一方面明确了产品开发各个层次的流程,另一方面将产品开发所涉及的各项活动识别出来并进行规范,包括对每项活动的输入、输出、衡量标准、操作步骤、约束条件、方法和工具等进行详细、清晰的定义,并编制相应的模板、表格和操作指导书。
在非结构化和过于结构化中寻求平衡
产品开发流程是可定义的、可重复的、可管理的,但是产品开发流程与制造流程不同。制造流程是完全按照生产文件进行标准化作业,产品开发是带有较强创造性的活动,不能象生产流程那样定义得过细、过死,需要在规范化和灵活性之间取得一种平衡,如果按照结构化观点来看,就是需要在非结构化和过于结构化之间寻求平衡。
在非结构化状态下,没有规范,过于强调灵活性,就成了无序状态,放任自流,容易出错,质量、进度等目标没有保证。目前中国企业产品开发非结构化的问题很突出,缺乏规范的、一致的流程,术语和文档很不统一,产品开发活动处于无纪律状态,对一些关键性的活动都没有定义流程、规范,没有制定相应的操作模板。如:需求没有经过评审,需求的制定没有充分的信息输入,设计时没有充分考虑制造的问题以及物料采购的问题,也没有成本分析,没有规范的评审。而过于结构化也无法保障项目目标的实现,流程和活动过度规范化,缺乏创新空间,太多的审批环节,过多的测评指标,滋生官僚主义,变成了僵化、教条的流程,造成运行缓慢和效率低下。这种流程也会遭到研发人员的抵触和忽视,其结果是开发流程受到削弱,变成一套形式。
产品开发流程应该是平衡的流程,具体表现为:
- 流程是可重复的流程,但可以根据具体情况进行裁减;
- 对产品开发活动进行清晰和规范的定义,但保留了适度的创新空间;
- 流程是可测评和可管理的;
- 流程是文档化的,而且得到了应用,写的与做的是一致的;
- 流程是持续优化的。
要取得非结构化和过于结构化的合理平衡,还需考虑以下因素:
1) 企业的发展阶段。对于创业期的企业,产品和项目很少,应强调快速开发产品,抓住市场机会,这个时候,产品开发没有必要有太多过细的规范。当然,这个阶段企业的生存风险也是最高的;而对于发展、成熟期的企业,产品和项目逐渐增多,有很多经验教训可供借鉴,运作也已有一整套模式,但可能这些经验、教训、模式只存在于少数老资格的员工(“大厨”)头脑中无法共享,这时候就需要建立详细的流程、规范和操作模板,以共享经验、避免犯重复的错误,指导后续的产品开发,尤其是指导大量新进员工的开发工作(这个时期,往往有大量新员工加入)。当然,规范化是一个长期的过程,不是一次性做到最优,一劳永逸。要避免各种体系文件一下子定得过细,让执行者感觉非常烦琐而根本不会去执行,而应结合实际,渐进式地细化、优化。
2) 组织规模。不同人员规模的组织,由于沟通的复杂性和频度不同,对过程的规范性要求也是不同的。极端情况:一个人的个体作坊,大可以随心所欲,在积累了大量的经验后,形成自己得心应手的规范,这些规范可能只存在于个人的头脑中。超过二个人,就需要交流,规模越大,交流越复杂,以至于文件化成为必需,否则就无法保持一致性和有效传承。
3) 产品特点。标准化程度高的产品,结构化程度也需要高一些。对不同产品的不同专业领域制定开发规范时,灵活性考虑也会不同,比如,消费类电子产品在外观设计方面要留有足够的弹性,利于设计上的创新,而在关键电路的设计上则应该有严格的要求,避免开发人员凭自信选择未经验证的电路,影响产品的可靠性。另外,对产品本身的复杂性不同,对规范的详细程度要求也不同,产品越复杂,规范应越详细。通常,产品越复杂,项目组织也越庞大。
并行工程
并行工程是很早就提出来的产品开发工程方法,要求对产品开发过程中各方面的开发活动进行并行、集成化处理,强调各部门的协同工作,以提升产品开发效率、缩短产品开发周期。
并行开发容易和异步开发混淆,其实它们是不同的产品开发方法。异步开发模式是指对整个系列产品进行开发时,以产品平台为基础分出几个层次,如划分为最终产品、平台、子系统/模块、技术四个层次,不同的层次分时进行异步开发,越下面的层次越要提前开发,这样最终产品的开发就可以在已有平台和共用模块及关键技术的基础上快速集成,从而提高产品开发的质量和效率。并行开发一般是针对单个产品的开发过程中,各项职能要尽量并行,比如在进行系统设计时就制定系统测试及验证计划,产品开发一开始就需要考虑可制造性需求及设计,销售计划在产品开发早期就形成,而不是等到产品上市时再临时抱佛脚。但是,两者的根本目的是一样的,就是提高产品开发的效率和质量。
产品开发流程的并行可以划分两个层次,第一个层次的并行指系统工程、硬件开发、软件开发、产品测试等产品功能及性能的开发活动的并行,比如:开展系统工程的活动,使需求能够同步分解和分配到相应的子系统和模块,并在开发中保持所有子系统和模块的协调一致;硬件开发、软件开发、结构设计、测试等活动尽量并行开展,充分考虑相互的接口和协同。
第二个层次的并行指产品功能及性能的开发活动与市场、采购、制造、服务、财务等职能活动的并行。在串行开发流程中,销售、制造、采购等职能活动只在产品开发的后期才进行,甚至很少开展。并行开发流程强调要充分考虑这些相关职能的活动,而且尽量提前进行,如在产品开发初期就开展销售策略、可制造性、可服务性、关键供应商选型等活动。