研发投入10%华为是如何进行产品研发管理的?
时间:2023-09-17

  华为5G让我们看到了华为的强大科研能力以及“板凳要坐十年冷”的科研精神。作为一家通信科技公司,华为历来非常重视研发,每年研发投入占营收的10%以上,那么华为是如何进行产品研发管理的呢?

  华为提倡流程化的企业管理方式,任何业务活动都有明确的结构化流程来指导。研发工作也不例外,其工作流程包括6个阶段,分别是:概念阶段、计划阶段、开发阶段、验证阶段、发布阶段以及生命周期管理阶段。

  概念阶段是对产品的基本功能、外观、价格、服务、市场销售方式、制造等基本需求进行定义的阶段。比如,你首先要知道做这个项目是为了解决什么问题,为了清楚地知道这些需求,要经常和客户、项目经理等交流。这个阶段主要产生新产品的需求说明书。

  制定产品规格说明书,确定产品的系统结构方案、明确产品研发后续阶段的人力资源需求和时间进度计划。

  根据产品系统结构方案进行产品详细设计,并实现系统集成,同期还要完成与新产品制造有关的制造工艺开发。

  验证阶段进行进行批量试制,验证产品是否符合规格说明书的各项要求,包括验证新产品制造工艺是否符合批量生产要求。验证阶段后期还要向市场和企业生产部门发布新产品,并经历新产品产量逐步放大的过程。

  可以通过正式会议形式召开,需要召集产品经理、主要开发人员、测试人员、上级领导等参与,准备充分,尽最大可能说清楚这个产品发布之后的效果、效益,为下一个项目总结经验,也为上线后的价值评估做准备。

  产品的更新换代是各个行业的普遍规律,华为的生命周期管理则明确了产品生命周期策略及产品终止策略。

  华为的研发部门拥有自己独立的人力资源部——技术干部部,从各业务部抽调干部担任。干部部专门研究研发体系下的人力资源的管理问题。华为研发为了加强干部部的工作,规定研发领导没有在干部部任过职,没有系统地管理过人力资源,不能再升职。

  针对绩效管理,很多公司对于对于研发部的业绩评价都比较侧重于短期目标,但是对于涉及研发部门长期发展潜力的目标不够重视,这就导致了这些企业的研发部只重视短期“打粮”,不重视长期“种地”。而华为的绩效管理,强调的是结果导向、人才成长的绩效、中间过程的沟通和管理,而不仅仅是简单的绩效考核。

  针对工程师团队普遍存在的沟通不畅的现象,华为是每天,每位工程师要针对当日工作情况做总结向直接上级提交;每月必须做一次部门经理与项目经理、项目经理与工程师之间有记录的双向沟通;针对月度的绩效考评,经理也要与工程师进行当面沟通。

  在一些企业中,由于产品开发没有实施端到端的管理,出现了许多问题,如产品开发完成了要去销售了才发现注册工作没有做。华为引入的“端到端”提示研发团队,在做研发的时候,要从市场中来,最终通过项目活动满足市场需求,就是说,研发项目不仅仅是技术体系一个部门的工作,而且需要其他部门参与形成跨部门的团队才能完成产品开发目标,保证市场的需求。

  为了完成最终的产品开发目标,我们需要市场人员的参与、销售部门参与、注册部门参与、技术部门参与、制造部门参与等等,只有各个部门参与了,才是端到端的产品开发管理。为了实现端到端的目标,产品开发项目团队成员是跨功能部门组成的,项目经理是这个团队的领导。

  华为公司建立了产品开发团队(PDT),由PDT经理、PDT成员、外围小组三个层次组成。PDT成员分别来自不同的功能部门,如研发、市场、财务、采购、用户服务、生产等部门,每个部门只有一个代表。PDT成员在LPDT(产品开发项目领导)下完成产品开发项目目标。在这种模式下,LPDT对团队成员具有考核的权力,在考核周期,各LPDT将核心组成员的考核意见汇总到职能部门经理处,由职能部门经理统一给出对项目成员的最终考核结果。

  华为公司将研发体系的项目重点分为产品预研、产品开发、技术预研、技术开发四类,见下图:

  为保证研发项目结果的成功,华为公司引入了过程审计的概念,由PQA(产品质量保证)承担过程审计的任务。每个产品开发项目启动阶段,公司质量部会为项目指定一个PQA,以保证审计项目团队成员是否按照公司规定的流程实施项目。研发团队在执行流程的过程中接受PQA的审计,以保证流程得到有效执行。

  华为公司为培养项目经理,专门成立了项目管理能力建设组,制定了培养计划,并对项目经理的资格条件进行了规定。

  关于项目经理认证,华为公司从知识、技能、行为和素质四个方面进行认证,并对项目经理认证规定了五个等级,其中从第二级开始规定资格认证的条件,有以下对应关系:

  华为公司的研发项目管理,体现了技术线和管理线分开的思路,在项目团队中有两个非常重要的角色,一个是项目经理,另一个就是系统工程师。在研发项目中,项目经理更像是管理专家,协调各个部门与角色的关系,而系统工程师更像是技术专家,在预测需求、指导产品开发满足这些需求方面扮演重要的角色。

  研发是一项技术性很强的工作,以至于你要学习很多东西才能做好这份工作,研发人员要掌握的技能有:至少掌握一种编程语言、如何构造代码、面向对象的设计、算法和数据结构、开发平台及相关技术、框架或堆栈、基础数据库知识、源代码控制、构建和部署、测试、调试等等。

  良好的文档是正规研发流程中非常重要的环节,作为研发者,30%的工作时间写技术文档是很正常的。而作为高级研发者和系统分析员,这个比例还要高很多。缺乏文档,在未来的查错、升级以及模块的复用时就会遇到很大的麻烦。

  对于研发工程师来讲,他们需要理解一个模块的需求,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者,他们不但要理解客户需求,更多时候还要制定一些需求。

  研发工程师必须掌握不少于两到三种的项目设计方法,并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的整体设计。设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。一个开发设计者还需要把很多功夫用在流程图的设计和处理上。

  复用性设计、模块化思维就是要程序员在完成任何一个功能模块或函数的时候,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,就会有更多时间和精力投入到创新的代码工作中去。

  作为系统设计人员,必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量的经验累积。

  1)工作的量化。没有量化就很难做到合适的绩效考核,而程序量化又不是简单的代码行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。

  2)对团队协作模式的调整。一个优秀的软件开发工程师应该能够根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率。

  迈科技MetaLab,于2015年在上海交通大学创建,是国内专业的科创数智化服务平台。迈科技以让技术发挥价值为己任,致力于成为企业创新的伙伴、城市创新的助推器、国家创新体系的重要组成部分。经过数年发展,迈科技服务范围已覆盖全国30余个地区,在北京、上海、杭州、苏州、天津、长沙、宁波、温州、包头、湖州等城市设有常态化运营团队。

  基于多年科技服务和数字化经验,迈科技研发企业科技创新数字化管理系统“司南”,依托数字化工具,帮助企业建立合理、合规的科技管理机制。从短期来看,可帮助企业按照政府要求的管理方式,进行有序的科技创新活动,提高各类科技政策申报的成功率,以获取政府的政策支持,带来额外的收益;从长期来看,可帮助企业建立科学的、可持续的科技创新管理机制,通过对科技创新的精益管理,降低创新风险,持续提高企业竞争力,带来业务的可持续增长。

  “司南”系统协助固化科技管理业务流程,提高跨部门协作效率,沉淀科技创新过程资料,形成电子档案库,保留研发证据链,确保企业研发合理合规,帮助企业充分享受政策优惠,更为企业不断导入外部创新资源,强化企业创新主体地位。