您当前的位置:检测资讯 > 科研开发
嘉峪检测网 2024-12-17 16:02
华为5G让我们看到了华为的强大科研能力以及“板凳要坐十年冷”的科研精神。作为一家通信科技公司,华为历来非常重视研发,每年研发投入占营收的10%以上,那么华为是如何进行产品研发管理的呢?
1、华为产品开发的工作流程
华为提倡流程化的企业管理方式,任何业务活动都有明确的结构化流程来指导。研发工作也不例外,其工作流程包括6个阶段,分别是:概念阶段、计划阶段、开发阶段、验证阶段、发布阶段以及生命周期管理阶段。
1 、概念阶段
概念阶段是对产品的基本功能、外观、价格、服务、市场销售方式和制造等基本需求进行定义的阶段。比如,你首先要知道做这个项目是为了解决什么问题,为了清楚地知道这些需求,要经常和客户、项目经理等交流。这个阶段主要产生新产品的需求说明书。
2、计划阶段
制定产品规格说明书,确定产品的系统结构方案、明确产品研发后续阶段的人力资源需求和时间进度计划。
3 、开发阶段
根据产品系统结构方案进行产品详细设计,并实现系统集成,同期还要完成与新产品制造有关的制造工艺开发。
4 、验证阶段
验证阶段进行批量试制,验证产品是否符合规格说明书的各项要求,包括验证新产品制造工艺是否符合批量生产要求。验证阶段后期还要向市场和企业生产部门发布新产品,并经历新产品产量逐步放大的过程。
5 、发布阶段
可以通过正式会议形式召开,需要召集产品经理、主要开发人员、测试人员和上级领导等参与,准备充分,尽最大可能说清楚这个产品发布之后的效果、效益,为下一个项目总结经验,也为上线后的价值评估做准备。
6 、生命周期管理阶段
产品的更新换代是各个行业的普遍规律,华为的生命周期管理则明确了产品生命周期策略及产品终止策略。
2、华为的产品开发都在做什么?
产品开发是产品从开始到形成的过程。从服务器的部署,到代码的存档迭代,都是开发人员作为主导的阶段。比如手机产品开发,在进入市场之前都会有大量的工作要完成:外观设计、机构设计、样品制作、原料选择、制程选择、评估验证、设计验证、生产验证和可靠性测试等。
根据华为产品的开发流程,在每一个阶段上都会设置相应的技术岗位,比如概念阶段就有需求分析工程师,开发和验证阶段就有通用软件工程师、高级软件测试工程师等。
以软件工程师为例,一般情况下他们的工作职责有:
•完成软件系统代码的实现,编写代码注释和开发文档。
•辅助进行系统的功能定义、程序设计。
•根据设计文档或需求说明完成代码编写、调试、测试和维护。
•分析并解决软件开发过程中的问题。
•协助测试工程师制订测试计划,定位发现的问题。
•配合项目经理完成相关任务目标。
3、华为如何管理研发团队
1、技术干部体系
华为的研发部门拥有自己独立的人力资源部——技术干部部,从各业务部抽调干部担任。干部部专门研究研发体系下的人力资源的管理问题。华为研发为了加强干部部的工作,规定研发领导没有在干部部任过职,没有系统地管理过人力资源,不能再升职。
针对绩效管理,很多公司对于对于研发部的业绩评价都比较侧重于短期目标,但是对于涉及研发部门长期发展潜力的目标不够重视,这就导致了这些企业的研发部只重视短期“打粮”,不重视长期“种地”。而华为的绩效管理,强调的是结果导向、人才成长的绩效、中间过程的沟通和管理,而不仅仅是简单的绩效考核。
针对工程师团队普遍存在的沟通不畅的现象,华为是每天,每位工程师要针对当日工作情况做总结向直接上级提交;每月必须做一次部门经理与项目经理、项目经理与工程师之间有记录的双向沟通;针对月度的绩效考评,经理也要与工程师进行当面沟通。
2、对开发项目实行端到端的管理
在一些企业中,由于产品开发没有实施端到端的管理,出现了许多问题,如产品开发完成了要去销售了才发现注册工作没有做。华为引入的“端到端”提示研发团队,在做研发的时候,要从市场中来,最终通过项目活动满足市场需求,就是说,研发项目不仅仅是技术体系一个部门的工作,而且需要其他部门参与形成跨部门的团队才能完成产品开发目标,保证市场的需求。
为了完成最终的产品开发目标,我们需要市场人员的参与、销售部门参与、注册部门参与、技术部门参与、制造部门参与等,只有各个部门参与了,才是端到端的产品开发管理。为了实现端到端的目标,产品开发项目团队成员是跨功能部门组成的,项目经理是这个团队的领导。
3、建立跨部门的项目管理模式
华为公司建立了产品开发团队(PDT),由PDT经理、PDT成员、外围小组三个层次组成。PDT成员分别来自不同的功能部门,如研发、市场、财务、采购、用户服务和生产等部门,每个部门只有一个代表。PDT成员在LPDT(产品开发项目领导)下完成产品开发项目目标。在这种模式下,LPDT对团队成员具有考核的权力,在考核周期,各LPDT将核心组成员的考核意见汇总到职能部门经理处,由职能部门经理统一给出对项目成员的最终考核结果。
4、将研发项目按不同业务类型进行分类管理
华为公司将研发体系的项目重点分为产品预研、产品开发、技术预研、技术开发四类,见下图。
5、依靠过程审计保证项目过程
为保证研发项目结果的成功,华为公司引入了过程审计的概念,由PQA(产品质量保证)承担过程审计的任务。每个产品开发项目启动阶段,公司质量部会为项目指定一个PQA,以保证审计项目团队成员是否按照公司规定的流程实施项目。研发团队在执行流程的过程中接受PQA的审计,以保证流程得到有效执行。
6、培养项目经理
华为公司为培养项目经理,专门成立了项目管理能力建设组,制定了培养计划,并对项目经理的资格条件进行了规定。
关于项目经理认证,华为公司从知识、技能、行为和素质四个方面进行认证,并对项目经理认证规定了五个等级,其中从第二级开始规定资格认证的条件,有以下对应关系。
7、在研发项目中技术管理和项目管理分开
华为公司的研发项目管理,体现了技术线和管理线分开的思路,在项目团队中有两个非常重要的角色,一个是项目经理,另一个就是系统工程师。在研发项目中,项目经理更像是管理专家,协调各个部门与角色的关系,而系统工程师更像是技术专家,在预测需求、指导产品开发满足这些需求方面扮演重要的角色。
4、研发岗位应具备哪些能力
下图是华为员工的能力素质模型,根据0、1、2、3划分了四个等级。
优秀的软件研发人员,除了要具备以上基本能力外,还需要以下几个核心能力。
1 、掌握必备的专业技能
研发是一项技术性很强的工作,以至于你要学习很多东西才能做好这份工作,研发人员要掌握的技能有:至少掌握一种编程语言、如何构造代码、面向对象的设计、算法和数据结构、开发平台及相关技术、框架或堆栈、基础数据库知识、源代码控制、构建和部署、测试、调试等。
2 、文档习惯
良好的文档是正规研发流程中非常重要的环节,作为研发者,30%的工作时间写技术文档是很正常的。而作为高级研发者和系统分析员,这个比例还要高很多。缺乏文档,在未来的查错、升级以及模块的复用时就会遇到很大的麻烦。
3 、需求理解与分析能力
对于研发工程师来讲,他们需要理解一个模块的需求,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者,他们不但要理解客户需求,更多时候还要制定一些需求。
4、项目设计方法和流程处理能力
研发工程师必须掌握不少于两到三种的项目设计方法,并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的整体设计。设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。一个开发设计者还需要把很多功夫用在流程图的设计和处理上。
5 、复用性和模块化思维能力
复用性设计、模块化思维就是要程序员在完成任何一个功能模块或函数的时候,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,就会有更多时间和精力投入到创新的代码工作中去。
6 、整体项目评估能力
作为系统设计人员,必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量的经验累积。
7 、团队组织管理能力
完成一个项目工程,需要团队的齐心协力,一些技术性的指标和因素如下。
1)工作的量化。没有量化就很难做到合适的绩效考核,而程序量化又不是简单的代码行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。
2)对团队协作模式的调整。一个优秀的软件开发工程师应该能够根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率。
来源:Internet