研发流程优化—研发管理改进的基础工作
网友 德通企业管理咨询

一、研发管理面临诸多问题及解决思路

在与企业交流时,常听到一句话:研发管理问题很多、很难管!比如研发项目经常延期,研发部门经常被生产、销售等上下游部门抱怨:“他们做的产品根本没法生产,研发喜欢闭门造车,产品很难卖……”,研发人员的绩效难以考核,研发人员难以培养、研发人员如何配置才合理等等。作为一个研发管理者,在面对这些问题时,往往会产生一种无从下手的感觉。

研发管理也是一种管理,既然难管,那就说明有很多东西还没有理清、没有理顺。面对这么多的问题,从何下手才比较容易解决呢?

首先,我们可以将研发管理者面临的问题进行分类。通过对研发管理问题分类,我们可以发现研发管理者面临的问题主要有以下几类:研发项目管理类问题,研发流程管理类问题,研发绩效管理类问题,研发人员培养类问题,研发组织类问题。

其次,找到这几类管理问题的内在关系。通过对这几类问题进行分析,我们可以发现,研发流程管理与其它管理类问题都有着直接的关系:流程管理都是其它几类管理的输入、是研发管理的基础。

最后,抓住研发流程管理,以此为切入点和主线,促进研发管理工作的整体改进与提升。

下面,我们着重阐述研发流程管理与研发项目管理、研发组织管理、研发绩效管理以及研发人员培养之间的关系。

 

二、通过研发流程优化促进研发项目管理改进

研发项目严格的说应分为技术研发及产品开发两类,但为了便于说明,本文所提及的研发项目仅指产品开发类项目。研发项目管理的内容很多专业的书籍及文章都有详细的讲解,在此就不再表述。

作为一名研发管理者或研发项目经理,他们经常会遇到各种各样的的研发项目管理问题,但比较重要的也就就是以下几类:

l            研发计划问题:研发计划不准、计划缺乏有力的监控、计划经常延期;

l            研发质量问题:研发项目质量管理缺乏过程监控,经常返工,新产品问题较多;

l            研发组织与沟通问题:项目组成员之间,以及项目组与职能部门之间沟通不畅、常出现推诿、扯皮现象;

l            研发成本问题:项目成本经常超预算。

造成研发计划经常延期的问题,其根本原因主要有两大类,一类是计划本身就不准确,往往是过于乐观(对需求变更及项目风险考虑不足),计划延期也就难以避免。另一类是计划本身没有什么问题,但是计划的资源(比如人手)不能及时到位。这两类原因中,往往是由于第一类原因造成计划延期的比较多。那么为何研发计划总是不准确呢?回答这个问题之前,我们可以先看看我们是如何做研发项目计划的吧。很多企业的研发项目计划大都是某个人(一般是项目经理),根据上面的产品上市要求,结合以往的经验,在头脑里快速的估算出来的。这样做出来的计划,其准确性也就无法保证了。那么如何提高计划的准确性呢?首先,研发计划人员必须很清楚的知道本项目要走的产品开发流程是什么(并不是每个产品开发项目都走同一个产品开发流程的),每个子流程是什么,每个活动(要分解到一周或每天)由不同的人(具体到人)去做,分别需要多少时间。其次,还要依据流程以及以往经验,对流程中可能会出现的风险进行评估,预估处理风险的工作量及时间。换而言之,研发计划要严格依据产品开发流程去层层细化、估算、并充分考虑到风险处理时间。这样做出来的计划,其准确度自然就会比拍脑袋出来的计划要高的多。而要做到这一点,就需要有一个顺畅、规范的产品开发流程体系,这就是研发流程优化及管理的工作了。

造成研发质量问题的原因可能会比较多,但也不外乎人、机、料、法、环等方面。而这五个方面,恰恰又都是我们流程优化及管理要考虑的基本要素。同时研发质量管理更需要事前的预防以及过程的监控。要做到事前预防,就必须知道每个产品开发分别要走那些流程,每个流程中那些环节或活动经常会出质量问题,只有事前了解到这些薄弱环节及风险点,我们才可能做出相应的质量管理计划,并依据质量管理计划及流程,在产品开发过程中设置相应的监控点,以便更有效的对产品开发过程进行监控。要做到这些,也必须有一个规范的产品开发流程体系,而这也是研发流程优化及管理的工作内容了。

造成研发项目沟通问题的主要原因是:研发项目组及职能部门的职责不明确,沟通渠道不明确。有不少企业,到目前为止,还认为产品开发仅仅是他们技术部门的事情,与我们市场、生产等部门无关。在这种观念的误导下,研发项目组几乎是清一色的技术人员,这样一来,产品开发过程中的沟通无疑就会变得很困难,因为大家都在想:“我是在帮他们技术部门做事情,有时间就配合一下,没时间也就没办法了”。而造成这种错误的想法,主要根源是只看到了职能部门的职责而没有看到产品开发流程对各部门的要求。只要通过流程梳理与优化,我们就可以很清楚的看到,产品开发绝非是技术一个部门的事情,他需要市场、销售、生产、财务、质量等部门参与,并在产品开发过程承担着各自专业的职责。比如市场要承担着市场需求分析及验证的职责,生产要承担着可生产性需求分析、产品工艺方案设计、样品生产等专业职责。有了各部门在产品开发中的明确定位与职责,产品开发中的推诿、扯皮现象就会明显减少。

实践证明,通过持续的流程优化及管理工作,研发项目管理的计划管理、质量管理、组织与沟通管理以及成本管理水平就会不断的得到提高。

 

三、通过研发流程优化促进研发绩效管理改进

众所周知,研发工作结果不像销售及生产等工作那样容易被量化,所以研发绩效考核工作也是每个研发管理者很头痛的事情。如何才能更有效的、更客观的考核研发人员的工作绩效呢?

其实,绩效考核的出发点很简单,那就是我需要你贡献什么,我就考什么。所以,要想提高研发绩效考核的合理性及公平性,就必须要知道每个研发岗位在技术研究及产品开发中都介入了那些具体的流程、每个岗位在介入的流程中承担了那些关键的活动以及每个关键活动的对每个岗位的价值贡献要求(输出要求)是什么。

那么,怎么才能很清晰的知道每个研发岗位都介入了那些流程以及每个研发岗位的价值贡献呢?这就需要我们对研发流程体系进行梳理及优化。通过对研发流程体系的梳理,我们就可以明确每个研发岗位应该需要贡献什么价值。例如,A公司通过对其软件开发流程的梳理及优化,发现软件开发工程师不仅仅是要按计划进度完成代码编写,更重要的是要按要求做好软件开发及测试等相关流程中的关键活动的输出,比如模块的需求分析、模块的方案设计等。在明确了软件工程师的这些关键活动及其输出要求后,就可以很清晰的明确其价值贡献,那就是对软件系统中的模块成功实现负责。依据这一定位及流程要求,不仅要考核其开发计划的达成率,还要考核其模块评审一次性通过率、模块/代码重用率等过程指标,这样不仅可以提高KPI的量化比率,而且还可以加强对软件开发过程的管理,提高研发绩效考核的合理性,从而提高软件开发的效率与质量。

所以,通过持续的研发流程梳理及优化,可以不断提高研发绩效管理水平。

 

四、通过研发流程优化促进研发招聘与培养管理改进

很多企业都感叹:研发人员太难招了!研发人员难招,可能会有多方面的原因,但有一点原因,我们往往会忽视,那就是我们自己对要招聘的研发岗位的定位不清,导致要求过高。例如,有一家软件企业(A企业),研发部门让他们的人力资源部给招聘一个软件开发工程师,要求既要又3年以上的编程经验,要懂VC、VP等多种编程语言及工具,又要有2年以上的需求分析以及架构设计工作经验,结果招了1年,也没有招到。其实,这样的结果早在他们的人力资源部的意料之中。原因很简单,做需求分析及架构设计的人认为,如果我去了,以后还要做大量的编程工作,对我而言是一种浪费、也不会有更好的职业发展,所以他们是不会去应聘的。而对编程人员来说,他们又达不到招聘要求,想应聘,也没有机会。后来,我们在为其做流程优化时,建议将软件工程师的岗位职责定位为编程以及模块级的需求分析(系统的需求分析及架构设计则由系统设计师去负责),招聘要求修改为3年以上的编程工作经验,有过5个以上模块项目需求分析及设计经验,掌握常见的需求分析及编程工具。很快,他们便招聘到了合适的软件开发工程师,不久也招到了系统设计师。

招聘到了研发人员,接下来就是要对研发人员进行培养了。现在,有很多企业的研发管理者都为研发人员成长慢而发愁。究其原因,主要是企业对研发人员的培养缺乏系统性和针对性,表现在对研发人员的培养方式及手段单一,培训课程设置缺乏针对性。造成这些问题的原因可能是多方面的,但是,我们认为有一个主要原因是由于企业忽视了研发流程建设所造成的。很多企业由于没有规范的研发流程体系,产品开发的经验教训都在研发人员个人头脑里。这样以来,对新来的研发人员来说,就缺乏一个系统的培训教材,要想进步的快,就只有靠自己不断的去摸索或不停的去问“师傅”,而不停的去问“师傅”,则往往势必会影响到师傅的工作,所以这种学习方式的效果会参差不齐。如果,企业有由研发骨干编制的研发流程体系,这样的结果就不会出现。

另外,很多企业每年都会为研发人员安排很多培训,但反馈往往都是缺乏针对性。原因是什么呢?原因就是培训需求不明确(不仅仅是培训部门对培训需求不明确,就连我们的研发部门自己有时候都说不清)。那么,怎么才能明确培训需求呢。其实很简单,就是对研发流程进行梳理,通过研发流程梳理,我们可以很清楚的发现,目前那些流程有问题(比如需求分析),那些活动有问题(比如需求评审走过场,没有起到把关的作用),以及这些问题的原因。相信这些问题的原因里,一定会有一类原因是由于相应的角色缺乏相关的能力。至此,我们的研发培训需求就会明确,明确了培训需求,培训的针对性及效果就会得到改进。

 

五、通过研发流程优化促进研发组织管理改进

随着研发规模的扩大,很多研发管理者就面临着如何合理设置研发部门以及研发岗位的问题。要想合理的设计研发部门及岗位,就需要对研发过程的工作进行分类,依据不同类别的研发工作需求来设置不同的部门及岗位,所以对研发流程的梳理及优化是必须要做的功课。正如上例中的A企业,我们通过对其软件开发流程梳理、分析发现,他们目前将需求分析及系统架构设计全都交给软件开发工程师一个岗位去做,结果经常出现由于需求分析不充分、不完整,而导致后期经常返工,而且也多次出现过由于系统架构设计问题到导致后期的“大返工”或致命的问题。通过流程优化,我们建议将软件开发工程师的工作进行分类,需求分析及架构设计类工作是属于创造性的非操作性工作,而编程工作则属于非操作性的操作性工作。所以,建议将软件开发工程师岗位拆分为软件工程师及系统设计师2个岗位。

通过研发流程梳理与优化,还可以进一步明确各职能部门在产品开发中的定位及职责,有效的打破“部门墙”,从而构建一个与市场驱动的端到端的流程相匹配的研发组织架构,以快速的响应市场。

通过上述的分析,我们可以很清楚的看到,研发流程管理就是研发管理的基础工作,是研发管理的一条主线,只要我们抓住这条主线、并对研发流程进行持续的优化,那么研发组织管理、研发项目管理及研发人力资源管理的问题也就迎刃而解了,研发管理的水平也就会不断的得到提升。


CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢