硬件开发流程概述
上世纪80年代末,IBM是有史以来盈利最多的公司。但进入90年代后,IBM遇到了严重的危机,1993年亏损80亿美元,几乎解体。危难时刻,郭士纳出任IBM总裁,采用IPD对IBM的产品开发模式进行了变革,并取得了巨大成功,IBM5年销售额增长了100亿美元。
IPD的思想来源于PACE模型(Product And Cycle-time Excellence),但IBM更强调跨部门协作的重要性,关注市场驱动,由此形成了自身的IPD流程。
1997年末,任正非带队访美,参观了休斯、IBM、贝尔实验室和惠普等知名企业,其中IBM给任正非留下了深刻的印象。在IBM听了整整一天的分享之后,任正非决定请IBM为华为建设IPD流程。2003年华为在全公司推行IPD后,产品的研发周期缩短了一半,故障率减少了95%,客户满意度持续上升。华为体系化的流程对华为的项目成功有巨大指导作用,这也是国内很多公司喜欢研究和学习华为的原因。很多人做流程管理,也是以华为为案例。
华为和IBM等公司的成功已经说明流程是有效的,IPD是有效的。不论是什么流程,其中三点是核心价值:
第一点、员工的动作被标准化了,对于每个节点的工作任务有了明确的输入输出条件、交付件质量要求。在这样的流程体系下,一个任务优秀员工、或是一个经验丰富的员工可能能做到90分,而普通员工、或者是一个新进团队的员工按照流程要求做,也能到40分到60分、甚至是80分,通过流程人和人之间的差异被弱化了,项目的结果变得有保障了。
第二点、项目任务结构化、工程师团队专业化,在宏大的流程体系中,工作任务被切割到很小的颗粒度,工作线程被分割到很精专的范畴。因此、团队的组织结构和人才模型也必须是与这样的流程体系匹配的,公司用流程培养了一大批在特定产品的特定细分专业领域上水平很高的工程师,他们经过长年打磨技能高超,在特定体系中如鱼得水。
第三点,建立了“认可流程、按照流程执行”的组织文化,所有的员工都对流程价值高度认同,坚持按照流程做事,按照IPD流程描述的研发活动中过一个审核节点是一项非常严肃的事,会有很多不同角色的意见碰撞。工程师按照流程去完成项目中的各项任务,管理者通过检查流程每个环节去管理团队,长年反复训练,团队的执行力就会变得很强,团队擅长按照规则做事。
有一位资深的管理者曾这样说“流程化管理的本质,就是一个去艺术化的过程”。艺术靠的是作家的灵感,很难复制和推广,所以艺术品非常昂贵。但现代化的科技企业要的就是大规模的复制,标准化的交付,所以管理就是要借助流程实现“工程化”,一切基于步骤、数字、事实说话。流程把团队塑造成了纪律性极强的研发部队,一板一眼、持续改进业绩。
硬件产品开发涉及的知识域庞杂、开发周期长、犯错后修改的代价大,因此要通过硬件开发流程把完整的硬件开发活动结构化、标准化。清晰的流程能够帮助硬件工程师规范化的开展硬件设计、开发、验证、维护等各个阶段的工作,明确在硬件产品开发各阶段必须要完成的任务,制定各阶段必须要达成的质量目标。清晰的流程对硬件工程师掌控硬件项目帮助很大,硬件工程师理解了硬件开发流程,并坚决的执行流程里的标准动作,就能做到“有序工作,步步为营”,可以极大提高硬件项目的成功率。让硬件开发不仅仅是依靠工程师的个人经验。
硬件开发活动是需要流程化的,通过流程的帮助提高项目的成功率,但在硬件开发实践中我们也体会到,学习和借用大公司的流程一定要有“就事论事”和“实事求是”的态度,所谓“就事论事”就是要根据自己开发的产品形态和应对市场的特点制定适合自己的流程,而不是生搬硬套;所谓“实事求是”就是要结合自己团队的组织形式和专业分工去做流程化的任务分解,而不是向大公司一样设置很多节点却没有对应的组织去实现,反而形成了人力和资源的耗散。总之,我们提倡深入理解硬件开发的本质,结合自己产品和团队特点做好量体裁衣。
各个公司对硬件的流程的理解和构建不一样,所以对于不同的硬件开发阶段会使用不同的名词,特别是像华为这样公司因为运用IPD流程,会使用一些社会上不常用的名词,例如“概念阶段”,并且会使用一些专有名词比如:“TR4”。如果没有在相应的环境里面长期进行开发活动,会产生阅读障碍。所以我们在撰写本书的过程中,使用更易于理解,更通用化的叫法。[z3] 把硬件开发活动分为立项、需求、计划、总体设计、详细设计、硬件测试、系统集成和验证、硬件维护这几个阶段,在每个阶段继续细化硬件开发、测试活动,整体结构化的逻辑框图如下图所示。
硬件开发流程逻辑框图
(1) 立项阶段项目立项是硬件开发的开始,好的开始就是成功的一半,在这个阶段我们要写好项目计划书,做到“先胜后战”,把产品和项目的全景在项目开始之前勾勒清楚。立项阶段主要考虑产品形态、市场价值、投入与回报。这个阶段是比较容易被工程师忽略的,但是有些公司没有专职的产品经理负责立项,硬件工程需要充分参与立项阶段的工作,避免项目开始之后,发现供应问题、技术不可实现、市场变化等原因导致项目流产或者项目没有市场等问题。
相关阅读:
硬件产品立项的关键
华为是怎样研发的13——立项
(2) 需求阶段立项和需求阶段,在流程表述图中呈现出由粗变细的形状,像一个喇叭口,这个喇叭口表达的含义就是“需求收敛”。“做正确的事”比“正确地做事”更重要,需求阶段就是细化具体做什么事情,保障后续开发是在“做正确的事”。在立项和需求阶段,需求都是渐进明细的,这个阶段的投入也是为了在保障后续阶段需求稳定。需求阶段是整个项目的关键工作阶段,团队做好需求收集、需求整理、需求传递和需求度量的规则。通过点对点沟通、会议、工具等方式进行需求分配、在项目中有组织机制保障有序开展需求增加或减少的动作。在需求分析阶段,要充分分析需求价值,保障在需求阶段之后,整个项目就进入了“做正确的事”的阶段了。需求管理是贯穿整个项目开发阶段的,保障需求稳定,保障后续的每一个需求变更是可以带来更多价值的。
相关阅读:
需求设计与需求分析写作
需求变更管理 定义、流程、模板
需求怎么来的?
需求的收集及分析
华为是怎样研发的(19)——需求跟踪
(3) 计划阶段
孙子兵法说“多算胜、少算不胜”,意为作战前计算周密,胜利条件多,可能胜敌;计算不周,胜利条件少,就不能胜敌。计划管理能体现出一个硬件项目经理的把控全局的功力,制定一个合理的计划也要遵循分层计划、渐进明细的原则。硬件经理可以先定目标,做出整体计划,设置里程点,分层细化项目计划;然后跟随项目开展逐步明晰项目计划,找到计划中的关键路径,集中精力管理;在项目开展过程中时刻关注计划执行中的依赖关系,关注计划执行的风险;制定合理的计划的能力也是项目经理对项目细节的把控度、风险的把控度、人员管理能力、项目实施过程中的应变能力的综合体现。
(4) 总体设计阶段
“总体设计”在是连接需求到开发的关键环节,对于产品的规格定义、产品系列的档位区格、要有一个系统性、全局化的设计过程。对于复杂的产品我们要做好架构设计,对于海量发货的系列化产品我们要做好档位区分,规格定义和成本核算等工作[z9] ;同时我们还要进行硬件专项分析,完成器件选型,为下一阶段的“详细设计”打好基础。在总体设计阶段通过关键器件选型、预布局、热设计、结构设计等维度,基本确定电路板的规格和形态。
(5) 详细设计阶段
详细设计中要把硬件设计的细节文档化,形成详细设计方案,然后开展原理图和PCB的设计工作。为了保障产品的质量,你需要通过原理图、PCB检视这样活动进行强化产品的质量水平。硬件设计重在细节,归一化、检视这些工作能帮助你把打磨好产品细节,同时也避免犯错。
有些开发流程,例如IPD流程是针对各种产品的通用流程,对于硬件详细设计阶段的一些关键节点没有做明确定义,把流程的角色转换时作为关键节点,例如:开发转测试,测试转生产等。但是硬件开发过程中,一些关键节点是一定要严格把控,才可以进入下一个环节的:启动PCB设计、PCB投板、PCB回板、功能调试完成等关键节点,严格把控进入条件和完成自检可以非常有效的带来项目在质量、进度上的提升的。所以本书会细化讲述硬件相关的关键节点。
硬件设计大全
阶段活动过程指导和和注意事项关键交付件及其模板01 方案阶段方案设计阶段的准备工作建立项目文件夹在服务器或者SVN等版本库中创建《项目文件夹》创建单板问题跟踪表1、由电路板负责人(板主)负责单板问题跟踪,项目启动时创建,保存在单板文件夹根目录下,单板问题跟踪表与个人跟踪表一致,板主的个人问题跟踪表即为单板问题跟踪表,板主交接工作时要同步单板问题。2、项目组其他人创建个人问题跟踪表,保存在项目文件夹下个人目录中
遗留问题——勤跟踪、要闭环
任务和问题跟踪表设计需求分解由系统工程师(SE)进行分解分配,板主根据分解分配结果对照checklist检查,并创建单板需求跟踪表。单板需求跟踪表需求串讲请SE向项目组成员讲解硬件规格说明书,形成统一的认识。遗留问题记录在单板问题跟踪表中跟踪,并在专题结束前问题全部闭环。
【视频分享笔记】需求管理
需求与计划的变更管理
“这个需求做不了”——需求的分析与分配
单板结构设计1.单板设计书必须在单板详设阶段归档; 2.结构交付计划要与原理图时间要匹配,并且结构开发需预留合理的评审和更改的时间(新板开发从设计书基线化到结构要素图基线化最少预留15天,如果涉及更改依次延期3天;) 3.基线化的单板设计书有变更或者CAD后提出的新需求,需评审归档;4.如果涉及:首版、开模、修模等事项,需要预留开发周期。
电子设备的抗振设计
电子产品结构可靠性概述
《单板结构要素图设计说明书 》
《CAD设计文件,三维设计文件,单板结构要素图》
关键器件分析1、方案初步确定后需要对新器件、关键器件进行应用分析,输出应用分析报告,并召集相关人员进行评审。 方案分析过程中需要参考和更新器件的errata和设计注意事项。同时通过案例库收集案例,并给出应对解决措施,提前预防已知问题。2、关键器件为:单板开发人员及项目组经验积累都不足的器件,不仅仅局限于新引入编码的器件。关键器件的范围与领导确定。
损坏的器件不要丢,要做失效分析!
器件应用分析报告新器件申请新器件的sorcing流程,需要完整考察器件的供应问题
Sourcing
sourcing申请表物料计划1、普通物料直接反馈月度滚动计划,资产管理员每月定期收集,项目经理直接反馈即可。特殊物料、新器件等,需要提交研发采购或者独立需求采购。2、所有物料(含样片)需要重点关注到货时间是否能匹配上项目计划。物料计划预布局根据初步方案,输出预布局原理图,要求原理图至少包含主要器件、电源、热敏感器件和接插件。总体设计之预布局、结构设计和热设计
预布局PCB图(互连工程师输出)散热仿真需要给热设计工程师提供单板布局和器件热耗(功耗)表、各器件散热参数。数字器件要注意提供尽量准确的功耗数据,特别是DDR/FPGA等器件要根据使用场景进行计算。
热设计基础(上)
热设计基础(中)
热设计基础(下)
热仿真分析报告(热设计工程师输出)方案串讲和需求反串讲向SE、产品代表等角色逐条讲解硬件需求,形成统一的认识。对于已有实现方案的需求,讲解要包含方案。
白板讲解
板间信号级FMEA1、在进行板件信号FEMA分析前,先把背板信号的分配在组织SE进行一次评审,确保背板信号定义的准确性 2、新单板必须进行板间信号FMEA分析。
为什么对电路做FMEA觉得低效且无用
FMEA分析
DFx设计1、单板开发初期就要考虑DFx的属性。单板硬件通常要关注:简洁化、可测试性、可制造性三个领域。2、经过分析后每个DFx领域给出具体的措施及设计约束,在详细设计中落实下去。
解密“硬件DFX设计”
《可供应性评估报告》归一化1、归一化作为DFx的一项内容,需要硬件特别关注。每个产品需整理自身的BOM归一化器件清单,常用器件选型只能在归一化清单中选择。2、要增加除归一化清单之外的器件需要提请本平台的清单维护者评审通过后才能选取新编码。
归一化
快捷方式:通信产品硬件部 清单归一化选型表可重用性所有单板都要进行可重用性分析,包含三方面内容:1、本单板可重用的已有电路;2、本单板希望能够重用的电路;3、本单板完成开发后,可提供其它项目重用的电路。
CBB,通用性硬件模块构建
单板可重用性分析早期BOM评审11、方案确定后就把已确定的关键器件进行可采购性分析单板可采购性评审02 专题阶段硬件总体设计之 “专题分析”
硬件详细设计,除了画原理图PCB,还需要做什么?
单板各模块专题分析1、硬件方案的分析是基于专题来开展的,一个单板至少包含时钟、电源等重要设计专题,项目组内部要统筹考虑,尽量提取公共专题。 2、常用的电源、时钟、时序专题提供参考模板,请直接按照参考模板输出。其他专题根据通用专题分析模板格式输出。专题分析完成特别要注重“应用设计指导”章节,这部分是直接指导后续原理图设计的要点。对于PCB布局布线有特殊要求的,要求单独列一个layout分析的章节。 3、专题评审要分阶段完成,完成一个专题评审一个专题,避免到全部专题结束时集中评审。专题评审时要且必须邀请专题涉及到的各个角色参与评审。 4、专题阶段要识别出本部们未用过的新方案,如果在公司内部用用过要提前申请原理图来参考,如果公司内部都没有项目使用过,要搭建实际电路进行测试验证。技术专题分析报告可靠性分析针对单板的特点,找经验丰富开发人员讨论,对单板可能出现的可靠性风险进行评估,对风险较大的点进行专题分析,提前采取相应的措施,如:散热器较重的单板的应力分析、跌落分析等。
构造可靠性模型
可靠性设计思维导图
硬件系统的可靠性设计
SI前仿真1、对于包含高速信号,或者SI有风险的单板或者电路模块,可要求互连工程师进行SI前仿真。需要准备器件资料、仿真模型和预布局PCB图; 2、SI仿真报告由CAD工程师给出,但是硬件工程师要深入理解SI仿真报告中全部内容。基于ADS仿真PCB的SI/PI/EMI
电源完整性仿真与EMC分析
相关问答
硬件架构师是干嘛的?
了解各类常见硬件、硬件型号、硬件参数、不同硬件对电脑性能的影响,可以根据现有硬件改进、创新出一个新硬件型号,可以在大脑中完成一个硬件基本模型,掌握基本...
硬件工程师薪资水平是怎么样的?
硬件工程师的收入相对来说还是可以的;不同工作经验的硬件工程师薪资差距也是很大的,初入门的在北京可以拿到5K左右(只说大部分,排除华为、小米等大公司以及有...
硬件工程师有35岁这个坎吗?
硬件工程师是没有35岁这个坎儿的,毕竟硬件工程师只要你技术过硬的话,很多行业都需要这个硬件工程师的,即便是学习一些软件系统架构的开发,都是要有硬件工程师...
女孩如何做好硬件工程师?
硬件工程师这个行业女生很少,为什么呢?硬件工程师属于理工科专业,高中时学理科的女生本来就很少,高考选专业时,选择硬件工程师相关的专业也很少,大部分女生...硬...
计算机主机硬件结构主要包括三个构成部分,它们分别是____-ZO...
计算机硬件由CPU(运算器、控制器)、存储器、I/O设备(输入设备、输出设备)组成。上面那几个人的回答简直误人子弟。计算机的硬件系统由运算器、控制器、存储器...
硬件技术工程师和硬件维护工程师有什么区别?
从工作内容上来看,技术工程师一般负责硬件开发与升级,维护工程师只负责开发后的成品硬件售后,维修,维护等工作。在工厂里,技术工程师需要对产品兼容性,安全...
硬件研发工程师干什么的?需要什么知识?
硬件研发工程师是电子产品研发团队中的重要成员,负责设计、开发和测试硬件电路原理、PCB设计、布局和调试等工作。以下是硬件研发工程师的常见职责和所需知识:...
nb结构工程师是什么职位?
1.负责产品ID的工艺可行性评估、成本评估,配合工业设计部门完成产品建模2.负责新产品结构设计、开模分析以及生产分析,控制成本,并确保产品的可靠性、生产稳...
亚马逊硬件工程师真实经历?
Q1:一句话简单介绍自己?D:我叫DesmondZhou,现在在温哥华亚马逊做高级工程师。我小的时候一直在国内,99年来到温哥华,读中学和大学,之后就一直在温哥华了...
要想成为一个合格的硬件测试工程师,需要学习哪些课程?
硬件测试工程师要求1、计算机相关专业,英语阅读书写良好,对硬件有很大的兴趣,平时对这方面比较关注;2、掌握硬件产品的硬件结构、应用技术及产品性能;3、...