在国内提到硬件开发,华为无疑是最优秀的公司。同时,硬件创业者从华为出来的也非常多。这篇文章的原作者正是一名华为的“老司机”,非常详细的介绍了华为硬件开发的流程,华为是怎么做硬件开发的,非常值得其他硬件开发者借鉴。
曾经2007年,刚工作2年的时候去一家小公司去面试。当时考题,我感觉我做得很好,面试的时候,对方对我也很认可。但是他当时说:“我需要招一个,在大公司待过的,最好知道硬件开发流程和规范的。虽然你题答得不错,但是我们需要一个有丰富经验的,最好在华为待过的。”
当时,我就在想“华为的规范和流程是啥样的”,就一直想去看看。之前对华为的面试一直都不是很感兴趣。之后,就很想有机会去华为看看。终于,到了华为,我能想到的华为硬件开发的几个不一样的点,跟大家分享一下:
硬件开发流程和规范
1、 文档,评审,设计。
当时刚入职时,三个人做一个电路板。虽然电路复杂一些,还是有一些人力过剩的。所以,我就被安排去写一个PCI转UART的逻辑。
我当时是新员工,也急于表现自己,利用周末的时间,估计用了一周的时间,就写完代码,开始仿真了。我以为我的导师兼主管会表扬一下,结果没有,他说:“你为什么没有召集大家讨论?然后再写方案,评审?然后再动手写代码?”我当时是没有理解的,觉得我一个人就搞定的事情,为啥要这样劳师动众?
现在反思:
第一、 从主管的角度,不知道新员工的个人能力,你能把做的事情讲清楚了,他才放心。
第二、 从公司的角度,有一套流程来保证项目的交付。那么则不再太依赖某个人的个人能力,任何一个人的离职,都不会影响项目的交付。这也是华为最了不起的地方,把复杂的项目拆得非常细碎,这样不需要特别牛的人来交付项目。这是为什么华为的工程师的收入是思科的N分之一。
第三、 从效果角度,毕竟一个人的想法是有限的,把想法文档化的过程,就是整理思路的过程;讨论的过程,就是收集你自己没有想到的过程。正式的评审,是大家达成意见的过程。提前讨论,让相关的人都参与到你的设计中,总比你设计完了,被别人指出一个致命的问题要强得多。
就是因为华为把一项工作拆散了,所以沟通,文档,评审,讨论,变得非常重要。
这个工作模式的缺点,也是显而易见,沟通成本高,工作效率低。
2、 华为的硬件领域的人员构成:
在华为内部里面,人员角色非常多。硬件的人是对产品开发阶段,端到端负责的。
做单板硬件工程师,可以涉猎最多的领域,同时也是工作内容最杂,接触人最多,扯皮的最多的工种。
但是也因为有人专门负责画PCB、EMC、电源、逻辑,原本硬件工程师应该做的领域。那么硬件工程师就武功尽废,变成“连连线”。
其实不然,正是由于每个人都是一个小的领域,没有人统领,所以一个好的硬件经理的作用非常的重要,是贯穿所有领域和全部流程的关键角色。
正如原来华为内部论坛上有一个人比喻的,硬件工程师更像是处理器里面的“Cache”,是所有环节的中转站。
大公司把人的分工分的这么细,也是防止某一拨掌握了太多公司的核心技术,出去单搞了。
3、 华为的流程
其实华为的流程,很多人都知道IPD流程是从IBM来的,同时华为也去咨询过爱立信,爱立信的硬件开发,完全没有流程一说。
我个人理解:IPD流程已经在华为变种,结合了中国人的特点,华为的企业特点进行了变通和优化。如果华为僵硬的套用IBM的这套流程,也必定不会这么成功。
那么概括一下华为的硬件开发流程:
需求分析→总体设计→专题分析→详细设计→逻辑详设→原理图→PCB→检视→粘合逻辑→投板→生产试制→回板调试→单元测试→专业实验→系统联调→小批量试制→硬件稳定→维护。
流程的根本在于,这个环节做好了,再进入下一个环节。所有的环节其实跟其他公司并没有太大的区别,只不过严格把握了进入下一个环节的考核条件。令硬件工程师最纠结的是“没有个节点跟’投板’对应”。
华为支撑IPD流程的系统是PDM(又名爬的慢)
PDM的中文名称为产品数据管理(Product DataManagement)。PDM是一门用来管理所有与产品相关信息(包括零件信息、配置、文档、CAD文件、结构、权限信息等)和所有与产品相关过程(包括过程定义和管理)的技术。
华为所有的器件资料,产品部件,工具,文档,原理图,PCB,逻辑代码等都存在这个系统上。
但是系统过于庞杂,其实比较难使用,跟服务器归档、SVN归档、也容易搞混淆。
4、归一化
器件归一化
硬件工程师一般都能够理解,在一个板子上面的,尽可能的选择成本更低的器件,选择更少种类的器件,便于集中采购,同时也便于加工。但是其他公司可能没有对器件归一化的工作做得那么细致和严格。
第一, 由于华为整个公司使用的器件种类非常的多,所以如果减小一个器件编码,带来的收益是十万人民币到几百万,而其他公司可能达不到这个高的收益。所以如果能减少一个编码,宁愿选择可能成本更高的器件。但是这个也需要按照每年的器件直接成本收益*器件发货数量,与编码成本+加工成本差异,进行对比的。不过器件归一化之后,器件的价格又可以跟供应商重新谈价格,这个收益是迭代的。所以,有时即使是成本占优,也会倾向去器件归一化的结论。例如,逐步去除了5%精度的电阻,归一化到1%。
第二, 器件归一化,都是需要进行专题分析的。因为也有工程师为了归一化,对电路原理没有充分分析,导致的归一化带来“问题引入”。所以,当时我的部门当时有一个表格,“器件归一化分析.xls”的excel表格,把每个器件,原来选型,归一化的选型,更改的原因,都做好记录和原因分析。一是让每个做归一化的员工都充分考虑分析,二是问题都有记录,便于评审,三是出了问题,好打板子。
单板归一化
除了器件归一化,更高一个层次的归一化,就是单板归一化。(单板这个概念,我稍微澄清一下,我刚到华为的时候,也觉得这个词很奇怪。因为通信设备,都是机框,背板,加各个功能模块的电路板,各个功能模块的电路就叫做“单板”,硬件工程师,一般也叫做“单板硬件”)
单板归一化带来的好处,首先是电路的种类少,电路的种类少的好处有两个:一是生产成本降低,二是硬件维护成本降低,三是软件开发和维护的成本降低。
第一、单板归一化的先决条件首先是处理器归一化。其实,华为的有的产品这点做得其实不好,X86、MIPS、ARM、PPC全部都用个遍,所以一个硬件平台,需要配备各种软件人员,操作系统搞N套,VxWorks和Linux,BIOS各种配套。
第二、单板的归一化,要注意产品的衍生。第一个版本的机框上的单板所实现的功能,如果后续的产品可以使用,应该直接可以用,不需要再开发。如果不注意这点,第一个版本的单板,到第二版本时,发现不能相互借用。反过来,再修改第一个版本的电路板,来适应新版本。有时问题更糟糕,就是完全不能兼容,只好重新开发。单板的规划显得非常重要。
第三、单板归一化时,虽然电路部分兼容了,但是结构件不兼容。对于市场人员的配置来说,仍然是两种配置。一样是失败的。
平台归一化
那么如果发现不同的硬件平台的架构雷同,功能类似。那么机框也可以归一化。只需要制作不同的电路功能模块,就可以实现不同的功能需求。
但是不同的硬件形态都是有他存在的意义的,如果强行归一,市场未必会接受这种事情的发生。例如用一个运营商的平台去归一一个企业应用或者家庭应用的产品,可能就未必能够成功。
网络架构归一化
这个说法是我自己想的,早在08年的时候,华为就在讨论“云管端战略”了,当时不是很理解。当我们一个运营商平台部门,跟“服务器”的部门合并的时候,似乎理解了点什么。
当X86处理器足够强大的时候,所有的运算,不管是否性价比最高,都送到云端进行处理,那么所有中间的存储和计算都显得不重要了。那么整个网络的结构,就是终端+管道+云存储和云计算。
既然计算和存储设备都是一样的,那作为运算和存储的设备,也就不需要那么多样化了。这时网络存储设备,和服务器就显得尤为重要。
这也是华为成立IT产品线,做重点战略投资的重要原因。
所以现在也就不需要那么多网络节点和网络平台了,只需要超强的处理和存储能力和宽广的通道,多样的终端。
华为是怎样做电路设计的呢?为什么会有专题分析的说法呢?为什么电路设计的时候要做专题分析?
第一、 例行的,每个电路一般都会做几个必选的专题:电源、时钟、小系统;把每个管脚怎么用,怎么接,对接的管脚的电平是否满足要求,都需要文档化,分析清楚。在选用新器件的话,对应硬件工程师的工作量还是比较大的。但是如果是其他公司,直接按照推荐电路设计就完事了。电源专题,需要分析电源需求,每种电源的电压范围,电流需求,动态响应,上电时序;时钟专题,针对每个时钟的输入的电平标准,频率,抖动等参数,时钟时序,并按照各种时钟解决方案进行优化;
第二、 当电路设计过程中,碰到一些新的问题,之前团队中没有接触过的问题,或者认为是重点,难点的内容,会专门做这个问题点的专题分析:例如我们做过的一些双BIOS启动,摄像头的红外LED的驱动,主备倒换啊,之类的,就会把一个问题点分析透,然后再动手做画原理图。
第三、 那么在开发硬件的时候,Demo只是作为参考,每一个依据都是来自于datasheet,除了看芯片的数据手册之外,还要仔细查看数据手册的勘误表errata,核对datasheet与Demo的差一点,如果器件有checklist还得核对checklist。曾经开发AMD的时候,datasheet、Demo、checklist,三个文档对不上的情况。也出现过,一个比较难复现的问题,后来查看了Errata,发现是厂家芯片升级了,修正了bug,而我们还在采购老版本的芯片。
第四、 由于项目本身有交付时间要求,那么在有限时间内其实不可能做到每个问题点都做得深入透彻。那么问题来了:
是怎么做到的呢?首先,每个项目都有《问题跟踪表》,而硬件团队由于事情非常的杂,所以把这个表要用的非常好,不然丢东拉西很正常。我曾经把这个表应用到家里装修。这个表的原理很简单,就是记录,问题内容,责任人,完成状态,完成时间。但是只要你坚持用,你会发现,你问题不会跟踪丢,做事情会比较有条理,而且会有成就感。用了这个表以后,发现问题之后,先记录下来,即使现在不解决,那么也会识别他要不要解决,什么时候解决。其次、问题分优先级,任何项目都是带着风险前进的,那么识别出高风险的问题,优先解决高风险的问题,带着低风险的问题继续走。这也是华为电路设计中“0欧姆”电阻用的比较多的有一个原因,识别出风险之后,但是又分析不清楚,或者来不及分析,只好做兼容设计。这里不得不感慨一句,在你的设计过程中,你马虎对待,没有分析清楚的问题,最后一定会暴露出来。
所以,在“菊花厂”做硬件工程师,“专题分析”是设计硬件最核心的工作,而不是画原理图。
通过这个方法,用1~2个月做电路分析,而用1~2周时间画原理图,取代了,画图,调试,改版,再调试,在改版的形式。
多快好省,是不可能同时实现的,那么硬件工程师有责任做很好的折衷和权衡。
一、关于“器件选型规范”:
在我进入华为的时候,当时整个公司都在“规范”运动,什么都写规范,人人都写规范,什么任职、绩效、技术等级都看规范。(大公司用KPI来引导,容易搞成“运动”)。
所以当时,按照器件种类,很多人写了各种器件选型规范。当时,原理图评审的时候,听得最多的就是“规范就是这样写的”,这里面有一些问题:
1、写规范的人不一定水平高,或者写得不细致,如果出现错误那就更是害人了。
2、规范有时抑制了开发人的思维,什么都按照规范来,不一定适合实际的设计场景;例如我需要低成本设计,但是规范强调的是高质量,就不一定适用。
3、有了规范之后,也会导致部分开发人员不思考,例如晶振要求在50MHz以上,放pF级的电容进行电源滤波,而低于50MHz的不用。大家都不想为什么,自然也不知道为什么;再例如网口变压器防护,室内室外,按照各种EMC标准的设计要求,直接照着画就可以;但是很少有人想为什么,也不知道测试的结果怎样,等实际碰到困难时就抓瞎了。的确在有的时候提高了工作效率和产品质量,但是工具也发达,人也就越退化,这是必然。
4、有些器件的选型,不适合写规范,因为器件发展太快,有可能等你规范写好,器件都淘汰了。例如:在X86处理器进入通信领域了之后,处理器选型规范就显得多余。
规范确实能带来好处。但是,并不是所有工作都适合用规范来约束。硬件工程师要能跳出“参考电路”、跳出“规范”,从原理思考问题和设计。
当然规范还是非常有用的一个手段,是大量的理论分析+经验积累+实践数据的精华。我觉得当时我看得最多的规范,是《器件选型的降额规范》,这是基于大量试验,实际案例,总结出来的器件选型的时候,需要考虑的内容。
例如:规定选用铝电解电容的时候,需要考虑稳态的工作电压低于额定耐压90%;而钽电容,稳态的降额要求在50%;而陶瓷电容,稳态的降额要求在85%;因为这里考虑了一些器件的实效模式、最恶劣环境(高温、低温、最大功耗),稳态功率和瞬态功率的差异……等等因素。
二、器件选型需要考虑的因素:
在华为的PDM系统上,器件都有一个优选等级“优选”“非优选”“禁选”“终端专用”等几个等级。
工程师可以根据这个优选等级来直观的感受到器件是否优选。
那么器件的优选等级,是考虑了哪些因素呢?
1.可供应性:特别是华为这样厂家,有大量发货的产品。慎选生命周期处于衰落的器件,禁止选用停产的器件。我2005年时曾设计过一个电路,设计的时候就是拷贝别人的电路,结果加工的时候发现器件根本买不着,由于器件停产了,只能在电子市场买翻新的器件。
对于关键器件,至少有两个品牌的型号可以互相替代,有的还要考虑方案级替代。这点很重要,如果是独家供货的产品,是需要层层汇报,决策,评估风险的。
2.可靠性:
散热:功率器件优先选用RjA热阻小,Tj结温更大的封装型号;处理器选型,在性能满足的情况下,尽量选择功耗更小的器件。但是如果是Intel这样垄断的器件,你也只有忍受,加散热器,加风扇。
ESD:所选元器件抗静电能力至少达到250V。对于特殊的器件如:射频器件,抗ESD能力至少100V,并要求设计做防静电措施。(注:华为是严格要求,禁止裸手拿板的。我本来也不理解,后来我带团队之后,发现兄弟们花大量的时间在维修单板;我们的团队就非常严格要求这一点,看似降低效率,其实还是提高效率的。至少不用总怀疑器件被静电打坏了。)
所选元器件考虑更高的湿敏等级。
安全:使用的材料要求满足抗静电、阻燃、防锈蚀、抗氧化以及安规等要求。
失效率:避免失效率高的器件,例如标贴的拨码开关。尽量不要选择裸Die的器件,容易开裂。不要选择玻璃封装的器件。大封装的陶瓷电容不要选择。
失效模式:需要考虑一些器件的失效模式是,开路还是断路,会造成什么后果,都需要评估。这也是钽电容慎选的一个重要原因。
3.可生产性:不选用封装尺寸小于0402的器件。
尽量选择表贴器件,只做一次回流焊,就完成焊接,不需要进行波峰焊。部分插件器件不可避免选用的话,需要考虑,能否采用通孔回流焊的工艺完成焊接。减少焊接的工序和成本。
4.环保:由于华为大量的产品是发往欧洲的,所以环保的要求也比较严格。由于欧盟提出无铅化要求,曾经整个公司的几乎所有的硬件工程师都在做无铅化的整改。
5.考虑归一化:例如某产品已经选用了这个器件,并且在大量出货的时候,往往有时这个器件的选型并不是很适合,也会选择,因为不但可以通过数量的增多来重新谈成本,还可以放心的选用,因为经过了大批量的验证。这也是为什么倾向于选用成熟期的器件,而慎选导入期和衰落期的原因。
6.行业管理:某一个大类,例如:电源、时钟、处理器、内存、Flash等等都是有专门的人做整个公司的使用的规划和协调,提前进行市场调研,分析,编写规范。他们会参与到新器件的选型上来。
7、器件部门:专门有器件部门的同事,会分析器件的失效原因,可靠性分析,拍摄器件的X光,评估器件寿命等等工作。
8、成本:如果在上述因素都不是致命的情况下——上述的因素都是浮云,紧盯第八条。
团队开发文化,那是华为中央硬件部的老大最自鸣得意的管理方法。团队开发文化,在多人协作的开发项目中还是非常有效的管理方法。
个人觉得“白板讲解”是团队开发文化中最精华的内容。
把一个电路原理讲清楚,一般是在其他企业或者开发团队中,很少做的事情。但是有一个原则,如果你不能够把道理讲清楚,那么你一定自己没有搞清楚,或者没有理解到位,或者,其中,一定有什么内容是你忽略的内容。那么最后一定,出问题的地方就在这。也学这有点墨菲定律的意思。但是,讲清楚,一定可以帮助你成长。如果你掌握了某一个知识点,拿出来讲解给大家听,那么你一定会是掌握的最清楚的那一个。
白板讲解的好处之一:深刻理解细节,当多人讨论的时候一定把原理讨论得更透彻,一是确保设计是正确的,同时也保证达到整个团队的最高水平。
我在10年的时候,因为那时候项目停滞,我就专门把开关电源那个部分的每个细节,都拿出来讲解,一共讲了10次左右,后来把Buck电路的每个细节都讲一遍之后,我觉得对开关电源的原理才有了稍微透彻一点的理解。然后再把10次讲解的内容整理出来,就成了一个《单板电源是怎样炼成的》的教材。同时增加了电源调试经验丰富的老魏同学的经典案例,组成一个比较完整的电源教材,在公司内部广为传播。
白板讲解的好处之二:很多很多的讲解,组成一次培训,很多的培训就是一套教材。整个团队讲解越多,技术积累就越深厚。
曾经有一段时间搞PCI协议的逻辑,同时也有另外一个同事同时在看。我由于已经上手开始调试了,同时也做了各种仿真,所以对整个协议的理解还是比较清楚的。而另外一个同事的主要手段就是看代码,和协议原文,所以他并不是理解代码写的原因(因为逻辑写作的时候,有一些技巧性的内容在里面,例如:如何利用基地址寄存器,确定存储空间的大小)。
当然,他开始讲解的时候,我就没有作声,因为当时我们都是新员工,主管都看着,别人组织的讲解,也不好抢了别人风头。后来由于他讲的内容有太多的错误,我实在看不下去,就指出他的错误。他当然不服气,表示他是正确的。
但是事后他又向大家表示,他原先的理解是错误的。
这件事情之后,我的项目经理(PM),跟我说:白板讲解,最厉害的地方其实不在于大家把问题搞清楚。而在于,“白板讲解”是一场比武,它能让团队里面的每个人做技术攀比,促进大家不断的提高技术。同时,也是在主管面前,谁水平高水平低,一目了然。
白板讲解的好处之三:在团队内部是最有效的技术比试,是骡子是马拉出来溜溜,别整天文人相轻,考评时相互不服气。有本事的,没本事的,一拿出来讲,全部都清清楚楚。
一个团队,甚至一个公司,一个国家,它的成功或者失败都是由这个国家的绩效考评体系,人才选拔体系决定。白板讲解给团队的技术排名提供了最有利的数据支撑。
研发团队大都气氛沉闷,状态不好的时候疲疲沓沓,开发周期拖延,效率不高,好像这是绝大多数企业的研发现状。
为什么这样呢?因为相互之间不交流,人是社会人。整天埋头写代码的团队,肯定是问题很大的团队。如果坐在一起,面对面,或者背对背,都需要qq、或者espace这样交流,一天一个团队不说一句话。那自然大家人情冷漠。
虽说白板讲解是技术比试,但是大家都心态open的话,其实这样的比试也是相互促进感情的一个重要手段。
白板讲解的好处之四:有效改善组织气氛的重要方法,增进团队成员之间的技术认可度,只有愿意表达自己观点的团队才是有战斗力的团队。
其实发现华为的那一套,讲解,培训,例会,跟踪,其实还是最有效的。
毕竟华为是根据中国人的特点,长时间,多人,多团队,多项目实践出来的非常成熟的一套研发管理办法。自然华为的办法适合大公司,也有其一定的自身问题,但是,再没有更好的办法之前,这些手段不失为很好的方法。特别是白板讲解,去美国硅谷一些大公司、小公司看过的话,一定发现这些公司的工程师办公桌旁边都放着一块白板。只要一讨论问题,就是“来画一下”。
白板讲解的好处之五:白板讲解的重要特点就是“用白板”,用白板的好处,就是避免口头表达的传达一次的误差;把讲的内容一条条记录下来,便于梳理思路;通过大面积的白板展示要讨论的内容,便于更多人都参与到讨论中来。
另外我对白板讲解还有自己的几条建议:
1、 当你的团队还没有白板讲解的,你可以勤于找别人讨论问题,达到白板讲解的效果。
2、 如果你带团队,还没形成白板讲解的氛围。可以先僵化,再优化。先强制大家养成习惯,体会到其中的好处,再让大家自发自动的进行讲解。
3、 在华为的朋友(或者其他大公司的朋友),如果是技术屌丝,那还得多在主管面前多讲解;如果你已经有机会给领导汇报了,那还是多联系PPT。因为PPT的本质还是白板。当然讲的内容要是主管感兴趣的内容,认可的内容,“以客户为中心”——你懂的。
4、 一开始,你得克服自己的心理,有可能这个内容是你还不懂的,一定要敢于问,敢于讲。不能因为技术羞耻心阻碍自己的技术进步。一方面,多看资料,勤学习新内容,功夫要实在;另一方面,要勤讨论,只有讨论才能知道自己的技术不足,理解错误或者不到位的地方。跟不同的人交流多了,你就是这群人中,最懂的那一个了。
5、 另外还是多利用互联网,多在QQ群,论坛里面问问题。也许有人嘲笑你,说这是低级问题,可是你问多了,自然就进步了,因为每个人都是从低级来的。
6、 在华为,有主管强制每一个项目组成员,是不是讲解了。在其他公司可能没有这样的环境和氛围,就靠你自己勤于讨论。
白板讲解,看似简单,其实里面的哲学还是挺深刻的,看各位理解到什么程度了。
华为是怎样开发硬件的——问题攻关
因为世界上没有完美的东西,所以就算再高的水平开发出来的产品也不可能像蒙娜丽莎一样完美无缺。所以不管大问题,还是小问题,都可能有问题。
第一部分、网上问题造成的三种后果:
1、 网上事故
2、 网上问题
3、 单板返还
网上事故
最严重的当然是“网上事故”,网上事故一般是造成“安全事故”、“客户损失”、“客户投诉”。等等情况。
最严重的网上问题,自然是“安全事故”,危机客户人身安全。
例如曾经有一个海量级发货的设备,曾经因为修改背板时,动了一条电源线的走线。这个电源线,被修改后,隔着绿油与机框的金属件,碰在一起。由于绿油本身有一些绝缘的作用,所以在研发测试和生产测试的过程中并没有暴露这个问题。
但是由于在运输过程中,震动等原因,造成绿油在此过程中被磨损。在客户出上电后,有的设备出现的了短路,发生了烧板的情况。
液态光致阻焊剂(俗称绿油)是一种保护层,涂覆在印制电路板不需焊接的线路和基材上。目的是长期保护所形成的线路图形。
这是非常严重的情况,如果着火,发生火灾,在运营商的机房,那是非常严重的事故。
但是,这种问题发生的时候,已经各种机框和单板发往五大洲,上百个国家。去解救这个问题,付出了非常惨重的代价。
网上事故的另外一种情况,是造成运营商的业务中断;按照话费一分钟0.6元计算,一个省的运营商的用户都是千万级,甚至亿级的。如果造成客户的一分钟的业务中断,带来的损失,如何计算?
正式由于这个原因,所以大多数运营商的设备,都有备份机制。例如核心侧设备的内部交换模块,一定是1+1冗余备份的;如果是DSP资源,一些信令处理单元一般都是N+1备份的。这样如果出现单点故障,既不影响用户业务,也不影响设备的容量规格。
第三种情况,就是客户投诉。有可能虽然没有造成什么严重的后果,如果客户投诉了,这个问题也会比较严重。例如,新机框和新单板邮寄到运营商处。这是出现了,电路板插不进去的情况,自然客户会非常恼火,觉得非常影响公司的品牌形象。那这个事情就会非常大。或者很早以前,任老板在现场的时候,某四川移动的领导,说“你们的设备还不如大唐好看”。于是,结构部的人就倒霉了。
网上问题:
如果网上出了问题,那么一定通过一些手段,例如原先设计好的一些“可维护性”、“可测试性”的软硬件设计,尽量的去定位问题。
当然这些措施都不能影响客户的正常业务。
另外,会有一些寄存器,或者一些日志,去查看设备异常的记录。还可以查看一些设备的“临终遗言”。临终遗言,会利用处理器复位前,向存储区域存储的关键信息,便于后续去发现和解决问题。
单板返还:
一线交付的人员一般都会抱怨:“你们研发都是三招:复位,下电,换单板”。
其实网上问题分析,如果已经用上这三招了,那说明这个问题已经比较严重了,说着基本上是硬件问题了。
可是“单板返还率”是非常重要的KPI,决定着大家的“考评”。所以维护人员都希望单板不要返还,或者不要记入指标。如果真的硬件已经不能正常工作了,那么一定会操作这个单板返还到实验室,进行失效分析,找失效原因。
以上不管是哪个级别的问题,哪怕是实验室发现的一些问题,都非常重视。因为如果任何一个问题,都可能造成不可预见的效果。所以对每个问题都刨根问题,分析彻底。
另外就是在做一些试验(EMC、环境),或者在测试的过程中,发现和暴露的问题,都会当做网上问题一样重视,进行一些问题的攻关。为什么呢?
因为有一个理论,问题越早解决,所付出的代价越小。
问题攻关的三个信条:
1、 凡是“实验室”问题,如果不解决的话,一定会在网上出现。
2、 凡是出现过的问题,一定可以被复现。
3、 凡是不能复现的问题,一定是没有找到复现的规律。
案例1、当时有一款NetLogic的处理器(NetLogic的网络处理器来自RMI。RMI收购了处理器创业公司Sandcraft,它本身又被NetLogic购买。后来NetLogic被博通收购),出现了器件失效的情况,但是网上还没有出现类似的情况。
但是,有没有找到规律,是如何让器件失效的。于是双方进入了扯皮阶段。但是通过X光照射,发现失效的器件是焊盘开裂。但是是什么让焊盘开裂呢?当时怀疑了应力,高低温。试了各种措施,但是始终没有答案。
后来大家讨论和试验的过程中,就有同事发现,单纯的低温和高温,都不足以引起器件失效。但是当高低温经历次数过多之后,器件失效的概率明显提高。后来这个同事通过多次试验,反复地使用热风枪和液氮,加速器件的老化。就非常容易出现焊盘开裂的情况。
当拿着这个结论再去找Netlogic时,对方只能投降,承认问题,同意修改器件的工艺。
非常说明问题的两件事情:
第一, 后来实验室出现故障的单板,基本都是厂家改进工艺前的问题。
第二, 另一个发货量很大的产品,在2年后,网上出现大规模这个问题的单板。
案例二、如果在试验中发现问题,一定会把问题分析清楚,或者把问题解决掉。也许这个问题解决很难,经历时间很长。但是这个问题一定把记录下来,根据优先级把问题最后解决掉。
例如曾经一个同事在做试验的时候,发现三极管有漏电流。
理论分析之后,由于三极管作为开关管使用,所以理论分析不可能产生这么大的电流,导致电压变化;把三极管更换成MOS管,也无济于事。
由于这个漏电流是在低温的时候才会出现的。所以当时就用液氮,让三极管处于极其低温的状态(-10度以下),试验中温度情况也差不多在这个范围(-40度到0度)出现问题。
但是经过两周的试验,都没有找到规律,偶尔会复现一下问题,完全没有规律。
我跟那个同事觉得非常费解,当时就观察天气,觉得这个三极管的漏电流感觉与天气有关。如果阴天,就容易复现,如果晴天就完全不复现。
通过这个规律,我们开始怀疑“湿度”作祟。
后来,我们通过增加器件的湿度,果然非常容易复现问题。
把我们的结论去找厂家,厂家确认SOT封装的器件,在高湿度低温的前提下确实会有漏电流的现象。这个漏电流不是通过PN节流走的,所以跟PN节的漏电流的规律完全不符合。
而是从SOT32的塑料封装上漏走的电流。
后来通过调整电路参数,规避了这个问题。
所以整个分析和试验的过程,哪怕是极端的环境条件下的问题,也绝不放过。
其实产品的问题攻关,就是这样的,扎扎实实的解决每一个问题之后,产品质量才有试制性的提升。
形式:
1、攻关组:任何问题攻关,为了表示重视,一般都会成立个什么问题攻关组。就是把相关的人,还有有经验的人走组织起来,一起参与讨论,这样可以拓宽思路,同时丰富经验。避免钻牛角尖,或者无头苍蝇。
2、例会:重大的问题攻关,一定是每天例会,把前期讨论的问题汇总跟踪,把每项措施对应的结论记录下来,明确下一步的措施。
3、日报:这种问题攻关,一定是领导重视的,所以每天都会发布进展。当然领导也会看,偶尔也会发现很久没有进展,之后会调配资源,协调兵力。
4、总结:问题解决之后,一定把中间的九九八十一难,整理成案例、培训,给大家分享。这样所有的同事,虽然没有亲身经历这个攻关过程。可以通过分享,学习相关专业知识,和问题解决的思路。得到提升。
问题攻关是痛苦的,问题突破了也是非常有成就感的,痛并快乐着。
最后两句话:
越是不舒适区,其实就是你成长的机会。
越是困难的时候,越是要咬牙顶住;只要你坚持,你离成功永远都只有一步之遥。
第一部分,对“华为的会议”的特点的一些阐述。
1、首先大公司就是“会多”,因为公司大,部门多,人的职责划分的细,所以一件事情,需要很多人参与。容易出现扯皮的事情。我刚到华为时,非常不适应,什么都写文档,什么都评审,什么都开会;所以不适应这么多会议,开会时就会无聊,所有的贪食蛇的最高纪录都是那段时间破的。
2、任何事情还是有主要负责人的,华为给予负责人足够的权利,所以能够推动事情的发展,协调到资源。例如行销有足够的强势去推动研发实现客户的需求。产品经理、客户经理的能量还是很大的,能够跟研发的部长直接进行对话,推动研发干这干那。
3、所有问题最终都是会记录,跟踪,保证完成的。这就是为什么哪怕有些设备的质量,性能并不能让客户足够满意的时候,客户还愿意用华为的设备。就是这个原因,运营商都喜欢用华为的设备。一个问题出来了,还没确定是哪家的问题,华为的兄弟就冲上去了。联通2个人参加会议,华为6个人来参加会议,通过试验举证,证明是Juniper设备的问题。然后给出充分的报告告诉客户,这不是我们的问题,这是XXX厂商的问题。
4、林子大了,什么鸟都会有。所以推、拖、赖的事情自然总是有发生。这就需要强大而明确的绩效评价体系,去引导员工去主动承担任务,而不是去划清界限。这种“划清责任”的事情也不可避免。否则就是三个和尚没水喝。
注:华为的这种凡事充分讨论的做法,在电信运营商的领域是适用的,放在消费者领域、甚至企业IT领域往往会不适用的,因为没有足够的利润率去支撑这么做。所以我说的一些华为的一些优点,各位华为手机的用户不用向我吐槽,:-)
5、在开会的过程中,经常人们容易进入误区,或者过于发散,或者过于保守。在产品定义阶段的会议,往往都有人提醒,发散的时候不要收敛;在问题解决的会中,往往会提醒,不要过去发散,聚焦问题。这个能够提醒大家的人往往就非常重要。当然有时也会流于形式,会议中不断有人提醒聚焦,但是大家还是比较发散。
第二部分,《罗伯特议事法则》在会议中的实践
什么是《罗伯特议事法则》
一百年前有个好小伙子,名叫享利.马丁.罗伯特,二十五岁,中国人叫愣头青。他毕业于西点军校在南北战争期间奉命主持一个地方教会的会议。结果呢——搞砸 了。人们争个不亦乐乎,什么结论都没有。总之一塌糊涂。这个会开了比不开还要糟糕。这个小伙子呢,有点一根筋。说我要研究一下,弄个规则,否则我就再也不 开会了。他研究上下几千年的开会讨论,有一个结论:人大概是特别爱争论的一个动物,最难被道理说服的动物,分歧一旦出现。很难在短时间内靠语言交流说服对 方。否则吵个几天几夜都不会有结果。而且越吵越觉得自己有道理,对方是个笨蛋。所以双方找到共同点达成一个结论一定要有一个机制。他把这个研究当作一个战 争一样。把人的争论本性当作敌人。最后这个小伙子打赢了。
打赢的结果是1876年罗伯特议事规则。他自费出版买了一千本到处送人。1915 愣头青罗伯特成了将军,他修订了这规则。一开始人家不重视,嘴上没毛说话不牢的小家伙行吗。唉,没想到,真行,他们一实行这个规则,吵架没了,会开下去 了。墨水瓶,板凳也不乱飞了。结果罗伯特议事规则成了世界上最通行的议事规则。
开会经常有三个问题。
一,跑题:就是你说李连杰,我扯到成龙,我说猪八戒,你扯到温家宝李鹏。跑得没个边了。而且老人家特别爱摆掌故,一开头,我给你们讲个故事,这一讲,就讲到中饭了。
二,一言堂:这一个一言堂呢,是领导者爱讲话,谁是领导就哗哗哗说个没完,一讲就全他讲了。第二个呢,农村有一些特别爱讲话的。也有从来不讲话的。咱们伟大的党代会,人大会不都这鸟样。
三,野蛮争论:一讨论问题,就说你上次多报了五元钱,你不是好孩子,怀疑别人的品德。一百句话中抓住人家一个词不放。甚至打起来。会议就没法子开了。
四,打断:不得打断别人的正当发言。
罗伯特议事法则的一条就是:主持人来解决以上问题。
但是一般的企业往往,领导出现的时候,主持人是不会去提醒领导,“你跑题了”,“你一言堂了”,“你不应该打断别人的正常发言”,这就是国外的科学的一些理论和方法到了中国往往不适应中国的土壤,不能生搬硬套的典型案例。
其实在华为,已经能够在大多数会议中,做到发生“跑题、一言堂、打断、不文明”时,有主持人去提醒,并拉回到正轨上。但是一些会议也做不到,比如:领导比较强势,领导自己是主持人,主持人是个马屁精,一些政治敏感问题,就不能去破坏和谐。此处不展开细说。
那么华为是怎么去解决这些问题的呢?
1、 公司定了大的基调“以客户为中心”,所以领导再大,大不过客户,客户需求一律允诺,一律搞定。所以大家都是为了搞定客户,当大家在原则性的问题上不会有大的分歧。
2、 绩效导向,一切是按照结果去评价绩效的。所以在一些问题上,如果领导提出了某个方案,但是可能存在重大隐患时,底下人是有责任去提醒和反对的。否则造成重大严重后果后,领导跑不掉,一样会修理底下的人。都是拴在一条绳子上的蚂蚱。当某个同事提出跟领导不同的意见时,并有价值时,会从绩效结果上去认可这个兄弟。这就是教育员工,鼓励提出反对意见,鼓励纠正领导的错误。
3、 教育主管。华为提倡狼文化,所有的主管能够被提拔上去,一般都是狼性十足,能讲会说,精力旺盛,在开会时balabala一顿,与员工沟通时也是balabala一顿自己说得爽。那么就会容易造成一言堂,或者跑题。那么在主管培训的时候,都会教育带团队的人,要会倾听,会交流,沟通时要把握节奏和分寸。
第三部分,减少无效会议
我曾经支持过CCB的网络建设一段时间,当时刚去的时候,跟他们的IT规划部,开了一个会。
当时,开会时就是典型的“一言堂”,他们一个领导过来,一顿狂骂:“你们华为的设备怎么怎么不行,你们思科的设备也是狗屎,你们西门子服务太差。。。。。。”,建行的人,还有设备厂商的人都被骂蒙了,就听他一顿牢骚,骂完设备厂商,开始骂自己的员工“balabala”。然后所有人都不知道这哥们想干嘛,这哥们也讲不出自己想要什么样的设备,性能和服务。然后气愤愤就走了。
一言堂、跑题、不文明,这些都不是致命的,最致命的就是“无效会议”。当这位领导走了之后,大家继续按照自己的思路,方法,继续讨论,然后花2分钟讨论一下,怎么应付这位领导。
所以我们开会时需要的,但是如何开的有效是有套路的。
那么如何做到呢?
第一、 例行会议,有议题。例如周会,一周例会的议题做事先的安排,不是很随意的说一下。订好议题,订好每个议题的时间,保证不跑题。
第二、 会议要有纪要,每次开会的会议主持人,会议纪要人都明确。会议纪要是很重要的一件事情,也需要很高的技巧,即需要有效参与会议讨论,有需要记录下关键要点,不记流水账。
第三、 会议纪要,要分为:结论(会议结论不随意更改);遗留问题(要符合SMART原则),要有责任人,要求完成的时间等等。纪要有模板,提醒大家纪要要符合SMART原则。
第四、 勤跟踪,要闭环。所有的遗留问题,在下次会议的时候都会回顾,看看是不是完成了,有没有拖延,直到有个交代。当然,如果返现任务安排有问题,根据评估也会进行问题的关闭和挂起。
第五、 所有的决议都是需要有理有据的,不能是拍脑袋。因为事前拍脑袋,事后就会拍大腿。然后就有人拍屁股走人了。这样就不会决议是下级服从上级,少数服从多数。
当然,这样的话就会存在效率问题,因为有些问题就会因为短时间研究不清楚,决策不下来。这是就有了CCB(这个CCB不是建设银行的意思,CCB(Change Control Board)在CMMI(Capability Maturity Model Integration)中,是“变更控制委员会”的含义,CCB可以由一个小组担任,也可以由多个不同的组担任,负责做出决定究竟将哪些已建议需求变更或新产品特性付诸应用。典型的变更控制委员会会同样决定在哪一些版本中纠正哪些错误。CCB是系统集成项目的所有者权益代表,负载裁定接受那些变更。CCB由项目所涉及的多方成员共同组成,通常包括用户和实施方的决策人员。CCB是决策机构,不是作业机构,通常CCB的工作是通过评审手段来决定项目是否能变更,但不提出变更方案。至少会保证,决策的决议是集体的智慧。)
【团队作战,人尽其用】
华为有句话是:“知识密集型企业”。由于文革影响,导致中国40岁~60岁人才匮乏,工程技术没有足够的积累;由于大多数大学生在大学期间没有找到自己的人生方向,迷失在星际争霸、魔兽争霸、传奇、英雄联盟这些游戏之中,中国的工程师的技术能力相对美国的工程师,往往会觉得起点低,起步晚,工程知识积累不足。所以我们的单兵作战能力其实远远不及硅谷的工程师。那么我们可以通过拆解,可以把一个相对复杂的工程,分配给多个工程师协同作战,所以“知识密集”这个词,类比于“劳动密集”应运而生。
相互之间的配合能力,项目管理的分配,就显得尤为重要。但是再好的分配和管理,都不可能完美,每个人的责任都不可能划分的那么精确。这就需要兄弟文化,每个人在团队中都找到自己对应的位置和责任,当责任不清晰时,能主动分担,主动担当。如何能让团队中的成员做到这点呢?绩效导向就显得尤为重要。(这个问题最后又归结到把钱分好)
“败则拼死相救,胜则举杯相庆”,有了这样的兄弟情怀,才能有最终的项目成功。
【管理,重要的是理,然后才是管】
有的项目管理者,抱怨“管不动,或者不好管”。其实原因在于你是否深入到团队中去。
有一些华为很高层的领导,可以给一些项目具体的指导,而且意见高明,所以才能让下属信服。“宰相必起于州府,猛将必发于卒伍。”,这也是有些外企到了中国,仍然玩职业经理人这套,往往行不通。
作为一个好的主管,不是只是去要求进度、质量的结果,必定是能够帮助你的下属达成你下达的目标,这样你的下属才能信服你,愿意跟着你干。
不要只是下达“攻下那个山头”的命令,而是下达命令之后,能够帮助你的下属,分析敌情、提供情报、指导战略,最终达成“攻下那个山头”目标任务,然后给予奖赏。
如此成功几次之后,你的下属已经具备攻下山头的能力之后,你可以放心交给他一些任务之后,再帮助他挑战更高的目标;当他能够挑战更高的目标之后,他自身也就具备了更高的价值,其实这个过程中他会感激你,信服你,愿意跟着你干。所以兄弟文化,不只是吃几顿饭,喝几顿酒(吃饭喝酒自然还是必须的),而是切实的工作上的帮助和关怀。
所以帮你的兄弟“理”清楚了,自然也就不需要“管”了。如此长久之后,大家之间就是兄弟情怀,而不是劳资矛盾了。
【做刘邦,不要做项羽】
无论你自身有多强,你都需要大家一起作战。
任正非说过:“我一不懂技术、二不懂外语、三不懂法律”,但是人家做到了世界500强,一定不只是靠他自己一个人能力强,靠的是一个精英的智囊团队,靠的是这个智囊团齐心合力,大家共同的理想和目标,共同的核心价值观,靠的是向心力,靠的是一个又一个的成功团队的复制。
君子性非异也,善假于物也。
刘邦之所以战胜项羽,就是因为他有兄弟们。
1、从进度的角度对比华为和小米的测试
上图是小米UI的一周进度图。按照小米UI每周发布的进度,周四一天的内测。我按照华为的流程怎么套都套不出来。
疑惑点在于:
1、内测是指开发人员自测试,还是测试人员的测试?
2、如果是指开发人员自测试,那么测试人员在哪里测试?
3、如果是测试人员测试,那么开发人员的自测试呢?开发转测试的点在哪里?
华为背景的朋友一定会问:测试人员怎么可能用一天的时间完成测试?
也许有人说,小米的效率就是高。那么我们来看一下华为的测试流程,你就知道是否可以压缩到一天完成相关的测试。
首先说明一点,华为的软件部门,包括UI、或者网站的开发团队也是按照小步迭代进行开发的,在产品稳定后,新增需求会拆分成细小的版本,进行最短周期的开发测试。也可能华为的拆解需求的能力弱于小米,但是这里我们单纯谈测试流程。
测试是产品开发过程中必不少的环节,在华为的研发人员中,有近三分之一的人员是测试人员,华为的测试体系在国内算是起步较早,大概经历了这样几个阶段:
1) 青铜器时代: 手工作坊式测试
1996年研发测试团队成立
手工作坊方式的研发过程和测试
2) 铁器时代:IPD和CMM阶段
1998年华为与IBM合作,开始引进IPD流程
1999年左右引入CMM理念
产生IPD-CMMI流程
3) 火器时代:PTM阶段
2004年在IPD基础上开发PTM流程,自动化测试规模开展
2006~2007年左右PTM趋于完善
注:上图中各个TR点的含义如下:
SRS:需求分析文档;
HLD:概要设计文档;
LLD:详细设计文档;
1. UT
单元测试的对象是LLD中所划分定义的程序单元或模块,它也是单元测试用例设计中可测试的最大单元。该测试对象可能由一个或多个函数或者类组成,测试设计就是对测试对象进行测试用例设计。
UT的目的,是通过函数运行来检查模块代码对于LLD文档的顺从性,验证每个函数的输入输出响应,与它在详细设计文档中预先定义的是否一致。函数是产品开发实现的最基本单位,下一个实现单位是模块,从测试的角度看,希望UT完成后,每个函数都牢固可靠,下一步的IT测试将聚焦在函数之间配合能否实现分配需求,而不用担心函数本身的输入输出响应问题。
单元测试比较适合开发人员做。
2.IT
集成测试是指把若干个经过单元测试的单元组装到一起而进行的测试,集成测试应依据HLD,主要发现接口、依赖中的错误或不完善的地方。集成测试的对象为若干个单元测试对象的组合,至少为两个。
IT的目的,是根据模块设计对模块的分解,从已验证的函数开始,逐层向上集成,得到一个可运行的模块。
IT可以由开发人员做,也可以由测试人员做。
不难看出,UT是面向每一个单元的测试,IT是测试单元之间的接口,可以把UT/IT归为“单元级”测试。
3.ST
CMM定义的系统测试:系统测试是针对软件项目组所承担开发的软件系统进行的整体测试,将软件系统作为整体运行或实施明确定义的软件行为子集的测试。主要采用的测试方法是黑盒测试,即不管程序内部的实现逻辑,以检验输入输出信息是否符合规格说明书中有关需求规定的测试方法。可见ST的测试对象是规格说明书,更确切的说,是模块需求规格说明书,所以一般也称为MST。模块SRS文档给出了模块的输入输出的相应要求。MST后,每个模块是牢固可用的。
4.BBIT
BBIT为模块间接口测试,验证模块之间的接口能不能配合,有时和联调混在一起,其实目的并不相同。BBIT的目的,是根据系统设计对系统的分解,从已通过验证的模块开始,逐层向上集成,得到一个可运行的系统。而联调一般涉及软件、硬件或者不同产品间的配合测试。MST和BBIT可以归到“模块级” 的测试,一个验证模块,一个验证模块间的接口。
以上UT/IT/MST/BBIT一般由开发人员完成,系统基本可以运行起来了,测试人员可以开展SDV、SIT、SVT了。
5.SDV
SDV虽然属于测试人员开展的系统测试,但是有点偏灰盒测试,因为SDV验证各子系统的配合是否满足设计需求(DR),对内部的实现还是关注的,验证多个模块集成以后是否满足设计需求。
6.SIT
SIT也是验证设计需求是否得以满足,与SDV不同的是,SIT完全把系统当作一个黑盒来测试,不关心内部具体的实现。实际应用中,SDV和SIT 虽然都属于系统一级的测试,往往由不同项目组(子系统)的测试人员分别测试,他们只关注各自的子系统,所以还是把SDV和SIT归为“子系统级”的测试比较好。
7.SVT
SVT是验收测试,其测试对象是产品包需求OR。产品包需求给出了产品的范围,从产品可能的应用环境的角度刻画系统,SVT的目的就是确认(或验收)产品包需求给出的各种应用场景产品均能满足。
即使是网页开发项目,外包项目,终端的项目,华为的测试仍然会经历以下几个测试阶段:
SIV:System Integration Verify 系统集成验证
SDV:System design Verify 系统设计验证
SIT:System Integration Test 系统集成测试
SVT:System Verification Test 系统确认测试(系统模拟测试)
迭代结束后,在正式对外发布前,会将历次迭代实现的所有Story再做一次测试,测试 的主体在测试人员,包括功能、非功能,并要给出测试报告。这个活动就称为SIT或发布测试。
如果Story 测试、迭代SDV测试都自动化了,则本次测试主要是执行自动化用例、如前 面有测试不充分,则补充测试,以及详细性能测试。如果用例自动化程度不高,则本次测试会 刷选部分用来进行测试。测试结束后需要给出测试报告。
SIT测试重点: 所有迭代开发完成后,由迭代开发团队中的测试人员完成对全系统进行回归测试,达到TR4A的质量标准。遗留问题要满足TR5的DI(缺陷密度)目标。
4) 集团军时代:IPD-RD-I&V阶段
2008年左右开始推广敏捷,研发组织演变为PDU方式
引进迭代开发模式,形成IPD-RD-I&V流程
系统集成与验证流程:IPD-RD-I&V
(I&V:Integrationand Verification)
项目经理编写《项目计划》,开发人员产出《SRS》,这时测试组长就要根据SOW开始编写《测试计划》,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容。 项目管理论坛
《测试计划》编写完成后需要进行评审,参与人员有项目经理,测试经理和系统工程师,测试组长需要根据评审意见修改《测试计划》,并上传到VSS上,由配置管理员管理。
项目管理者联盟
待开发人员把《SRS》归纳好并打了基线,测试组长开始组织测试成员编写《测试方案》,测试方案要求根据《SRS》上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案。《测试方案》编写完成后也需要进行评审,评审人员包括项目经理,开发人员,测试经理,测试组长,测试成员和系统工程师,返回评审结果。测试组长组织测试成员修改测试方案,直到评审通过后才进入下个阶段――编写测试用例。
测试用例是根据《测试方案》来编写的,通过《测试方案》阶段,测试人员对整个系统需求有了详细的理解。这时开始编写用例才能保证用例的可执行和对需求的覆盖。测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。其中操作步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏。同样,测试用例也需要通过开发人员,测试人员,系统工程师的评审,测试组长也需要组织测试人员对测试用例进行修改,直到评审通过。
在我们编写测试用例的阶段,开发人员基本完成代码的编写,同时完成单元测试。转测试部后直接进行系统测试。测试部对刚转过来的测试版本进行预测试,如果软件未实现CheckList清单上的10%,测试部会把该版本打回。否则,软件转测试部进行系统测试。根据《测试计划》进度安排,测试组长进行多轮次的测试,每轮测试完成后测试组长需要编写测试报告,其中包括用例执行通过情况,缺陷分布情况,缺陷产生原因,测试中的风险等等,这时测试人员就修改增加测试用例。待到开发修改完bug并转来新的测试版本,测试部开始进行第二轮的系统测试,首先回归完问题单,再继续进行测试,编写第二轮的测试报告,如此循环下去,直到系统测试结束。在系统测试期间,测试人员还需要编写验收手册,验收用例和资料测试用例等。
修改问题单,直到满足规定的缺陷密度,才能够通过相关TR点。
如果验收发现的缺陷率在SOW规定的范围内,那么验收成功。如果超过规定的缺陷率,需要质量回溯。
2、不可思议的小米5%
雷军说:
首先华为工程师的平均收入应该是低于小米的,器件采购的成本也应该是低于小米的,制造的产线也应该是低于小米的,因为有自己的产线。
那么华为的成本花到哪里去了呢?
那么我们看华为的硬件测试过程,就知道成本出在哪里了。
第一、 全程测试参与的流程:
在项目开始的阶段,测试人员就开始参与需求分析,对产品的可测试性、测试方案等等因素进行评估。
第二、 多层级的测试与试验
对于电路的设计,会进行单元测试、整机测试、小批量试制、HALT试验、环境试验、EMC试验、热测试、进入生产环节之后会进行HASS试验。特殊的设备还会进行盐雾试验、硫化试验。整机结构还会进行:跌落试验、挤压、扭曲等等。
HALT(Highly accelerated life test)高加速寿命试验。HALT是一种发现缺陷的工序,它通过设置逐级递增的加严的环境应力,来加速暴露试验样品的缺陷和薄弱点,而后对暴露的缺陷和故障从设计、工艺和用料等诸方面进行分析和改进,从而达到提升可靠性的目的,最大的特点是设置高于样品设计运行限的环境应力,从而使暴露故障的时间大大短于正常可靠性应力条件下的所需时间。
环境试验是为了保证产品在规定的寿命期间,在预期的使用,运输或贮存的所有环境下,保持功能可靠性而进行的活动。是将产品暴露在自然的或人工的环境条件下经受其作用,以评价产品在实际使用,运输和贮存的环境条件下的性能,并分析研究环境因素的影响程度及其作用机理。
HASS应用于产品的生产阶段,以确保所有在HALT中找到的改进措施能够得已实施。HASS还能够确保不会由于生产工艺和元器件的改动而引入新的缺陷。
硬件工程师最怕HALT试验,因为会超越器件的限制范围去进行测试。但是为什么要这么做呢,其实是找到整个设备的最薄弱点,然后对最薄弱点进行改进。但是由于超出了器件的允许的工作范围,异常的情况特别多,原因也复杂。但是按照规范必须分析清楚,并给出优化措施。这是非常烧脑的意见事情,很多经典的问题都是HALT试验过程中产生的。
由于我本人非测试出生,有讲的不对的地方请专家指正。最近有若干朋友抱怨小米手环使用不到一个月就坏了,想到雷军的5%,就写下这些。
AV分类与硬件的知识管理
电子硬件知识是极其庞杂的,每一个细分领域都可以钻研很深,可以成为某一个人的一辈子的工作,例如EMC工程师,互连工程师,电源工程师,可编程逻辑工程师……电源工程师又可以细分:一次电源、二次电源……分别作为职业。
在硬件领域,由于大量的知识是隐形知识,如果只知道书上写的那些东西,是不能成为一个合格的硬件工程师的。就是因为知识体系的庞大,加上隐形知识众多,所以硬件工程师的知识体系是庞大的。是需要管理的。
曾经有一位网友利用AV在硬盘的管理,来阐述他知识管理的观点;
观点:分类有重叠不如不分类。网友的观点:AV女友,大家一开始都按照演员进行分类,比如苍井空、吉泽明步、波多野结衣、北条香理,川滨奈美,堤莎也加,町田梨乃,二阶堂仁美,饭岛爱,饭田夏帆,里美尤利娅……(这些我都不知道是啥);但是分类之后,发现多人的怎么办?如果有一部片是由多人合演的,如何分类呢?后来随着收藏的演员目录增加,只通过演员的名字进行分类,会很难找到你需要找到的内容,后来又在演员文件夹的外面增加一个公司:S1、Kawaii 天使之城、PREMIUM、ideapocket、东京热……;公司太多了,又想分类:日本、欧洲、美国;又想区分“骑兵”、“步兵”;……
这位网友的观点:“既然无法分类,那么就不要分类,我们依赖搜索。”
以下是我本人观点:
知识多了还是要整理的,靠搜索不行;
如果你收录到本地的一些知识,如果不整理的话,那么不能建立起你的知识体系,也就是说你对哪一块,需要重点掌握,哪块只需要了解,没有概念;而你常用的工具或知识跟你不常用的工具和知识,查找需要的时间是相同的;当你学习某一项知识时,这个知识点与其他的知识点之间是没有关联的,因为你没有把知识系列化,或者没有做整合。
如果你的硬盘一样,经常看的影片,你应该需要有快速找到它的途径;而不常看的,你是不是只需要保留个种子;而从来不看的,或者只会看一遍的,变态的、难看的、不清晰的,你其实都可以删除。
上图是我整理的硬件工程师所处的一个地位,同时也是一个硬件工程师所需要的知识领域;
有句话说:“硬件就是连连线,软件就是敲敲键”。可就是连连线,所需要考虑的因素非常多,在大公司的话需要打交道的人也非常多。
上图画了一个车的形状,硬件工程师是这个车的主体,电源、逻辑、互连是硬件工程师密不可分的组成部分,是硬件这辆车前进的必备条件(一些小项目,或者一些公司并不做这样拆分。)
最下面一条是支撑合格车前进的道路,是支撑这辆车能够前进的必备条件。这些领域的知识是硬件工程师必备的,例如:生产跟线,器件sourcing、器件失效分析,这些事情即使是在人员拆分很细的大公司,硬件工程师仍然是这些事务的责任主体;而一些公司,没有相关领域的人,就是硬件工程师自己去做的。
车头是系统设计和产品设计,这些引领硬件方向的思考也是硬件工程师必须要考虑的,因为你不理解业务和产品的场景,又如何选一款适合的处理器?如何知道内存需要多少带宽和速率?
以前我经常说,硬件工程师,如果一个装修工程的木工兼包工头,是整个装修的灵魂,决定了项目的水平高低。所以硬件工程在自身电子领域的知识积累之外,还需要积累一些其他领域的知识,所以这块外围的知识掌握的程度是需要跟核心知识体系进行区分的。因为一个人的时间和精力有限,不可能掌握所有的知识,但也不能完全不懂。
知识管理不只是知识分类和整理;
首先,知识管理不只是罗列目录,他必须是有内容的,也就是大家常常说的,必须是有“干货”;一个再完善和再完整的知识框架的目录,都是没有用的,如同一个列的非常完整的AV女优的文件夹分类都是没有用的,因为你只需要找到你最需要的那部。如果文件夹都是空的,那就更没用了。
而且我也觉得知识管理,必须是目标为导向。不能为了整理而整理。所以这个知识体系的目录,我倡导是先有问题点或者知识点,积累到一定数量之后,形成你最需要的一个知识体系。
如同,你先有N部你经常观赏的片,然后再进行分类整理。而不是你先去建立一堆空的文件夹。
例如上图中,进入了一个学习,利用,创新,积累,共享的一个有效循环。
华为的绩效管理制度
问题1、什么是绩效管理?
标准定义:绩效管理,是指各级管理者和员工为了达到组织目标共同参与的绩效计划制定、绩效辅导沟通、绩效考核评价、绩效结果应用、绩效目标提升的持续循环过程,绩效管理的目的是持续提升个人、部门和组织的绩效。
绩效管理的最终目的并非仅使员工达到期望的绩效,而是使他们处于意愿而愿意付出超越职责的努力——杰克韦尔奇
站在管理者的角度来讲,绩效管理就是要让你的下属都愿意跟着你一起干。——徐直军
徐直军的话很好懂,也最符合中国人的风格:论功行赏要公平,听话又能干的人才愿意跟着你。这位长得像火云邪神的华为传奇领导就是提出“用三年时间将华为研发变成全国研发人员最向往的地方”口号的“徐三年”。
总体来说,我对徐三年提出的“三年”观点有两个看法:
第一、我觉得“三年”的目标不符合SMART原则;
第二、从感性上分析,他的目标还是基本能达成的,中国的攻城狮觉得华为是一个还不错的归宿。
最早听到他这个惊世骇俗的目标时我觉得,想达成也简单:钱给到位,钱给得公平。(注:今年各位华为的朋友奖金到账后,记得准备好¥,排队请我吃饭哈)。随着华为整体的发展,基本这两点他们是做到了。
问题2、华为如何做到“钱给到位,钱给得公平。”(公平、“公正”、“公开”)?
1、游戏化管理:规则清晰,目标牵引。
大多数企业实施的所谓游戏化管理,通常是指定一系列类似游戏的规则,给员工以奖励和惩罚,这其实和传统的管理方式没有太大的区别,唯一的区别就是:这些规则看起来像游戏,并且试图通过像游戏的规则达到让员工沉迷的目的。而游戏之所以让玩家沉迷,很重要的一个原因就是玩家可以获得明确的、即时的奖励和惩罚,这种迅速的奖惩回馈让人欲罢不能。这种即时的奖惩更适合工作量和工作成果容易即时量化的制造业等传统行业,而不太适合创意产业。在创意产业,一个创意、一份策划、一个项目的价值是很难量化评估的,尤其是难以即时评估。游戏中玩家行为,很多更类似于计件工作,受限于规则,没有太多创意可言,打死一只怪就是打死一只怪,完成一个任务就是完成一个任务,所以,游戏的奖惩规则反倒是更适合非创意产业。
华为自称为“知识密集型企业”,由于华为的研发被切割成非常细分的工序,所以在某种程度上,很大一部分研发人员的这种开发工作就变成了非创意劳动。华为也在不断的刺激这种非创意劳动的意外惊喜,关键事件对每一个员工的华为生涯影响都很大,只要持续开怪,一定会意外掉宝。
华为会把游戏规则讲清楚:好的绩效会有更好的回报,目标牵引,达成什么样的目标,怎样才是达成好的目标,会“事前讲清楚,事后就兑现”,如同游戏闯关一样。
目标牵引的作用:有些事情对于组织很重要,但是在员工看来,可能就不太重要,通过给他意外的惊喜,达到员工对工作价值排序的认知,避免研发的人优先做自认为技术含量很高的工作,实现目标牵引,或者是价值牵引。
例如,曾经我们用一个普通的夹子、夹子手捏的地方绑2个电池,起到探头架的作用。一个探头架售价在几千。一个不经意的改进,其实给偌大的公司一年节约了几十万的费用。但是这个小小的创意等到了很多奖励,各种改进建议的奖励。同时也因为这个收益,给相关人员的绩效考评带来一些正向影响。
2、游戏化管理:目标量化,客观考评。
为了给研发的同学一个公平公正的考核,往往量化是保证评价公平公正的一种有效方法,KPI就在绩效管理中起到重要的角色。KPI往往是考核的重要参考,我也看过IBM的绩效考核的材料,满眼的KPI。但是有时KPI对中国人没用。曾经听过浙大法学院院长的讲座:“世界上没有完善的法律,如果有,说明中国人还没去”。所以任何KPI的制定都会有空子可以钻,所以老外的做法是不断的修正KPI:
曾经往美洲运送黑奴,是按照上船的人数进行计数算钱,于是死命塞人,duangduang猛塞,结果每次送的路上死一半;后来优化了KPI,送到了,算活人。于是死亡率大大降低。
但是你会发现不管怎么优化,仍然有漏洞可以钻;这时中国人的智慧就无穷大的。那么华为在具体操作上,是如何处理的呢?第一可以耍赖,告诉你原来的设置不合理,所以结果不算了;第二、在公司或者主管也没想到有哪些漏洞之前,告诉反正你别钻空子,钻了空子,也会找平衡,如同球场上教练误判了之后,找平衡,而且告知:钻空子不会有好果子。(以上,我说得比较难听,其实能考评精确的量化并不能提高评价的客观性,量化适可而止就好,这也是上面两个原则的把握,其实很科学。)
例如曾经强调原理图的检视意见,于是有人疯狂的提重复意见,凑检视意见数量,。。。但是很快被拨乱反正了。
3、相对考评,让PBC成为陷阱?
先解释一下PBC是啥——个人绩效承诺;Personal Business Commitment。本意是个人业务承诺,为了便于理解,华为称之为个人绩效承诺。
也就是在干活前,员工你写自己的半年或者一年要达成的目标:达标水平做成什么样,超水平发挥做成什么样。但是这些都是跟你自己的能力比,或者说会跟你往年的情况相比。
基本的目标是由主管分解下来的,然后出了基本目标之外,还需要写一些自己想到的,要达成的目标。(这就是杰克韦尔奇说的,付出超越职责的努力)
但是矛盾点在哪呢?这个目标达成,不代表你自己的考评结果就好。
因为绩效考评结果,不是跟你个人的承诺相比,是跟同事相比。
PBC是提醒你要做好自己,但是做好自己,不代表你能跑赢同事;
也就是说,你跑得再快,提高再多,如果仍然跑不过老虎的话,一样会被吃掉。
那么这种你追我赶的白色恐怖,带动了整个团队激发出更多的个人潜能。
那么,问题来了:PBC还有什么用?个人意见:对管理者有用,但是员工很快发现游戏规则之后,就都不重视了。
有用点在于:第一目标一致,就算你考评后仍然排名靠后,但是也要跟团队目标保持一致,贡献应有的力量。第二自己制定目标的时候,就可以全团队拉通进行对比。
大家不重视的点在于:只是个副本任务,不是游戏的主线任务了,那么主线任务就是相对考评。(PBC里面的技能提升更是小副本,发展到后来:都写错了,都没人知道。。。)
相对考评带来的问题:
问题一、相同等级的团队之间、员工之间的矛盾会相对紧张。人人大比武,各个争上游,一些品质不是那么高尚的人,在领导面前要打压同事。
问题二、以领导为中心;因为做绩效排名的是谁,谁就是我的boss,谁就决定我的加薪、奖金、配股、任职资格、升级等等等等。
任正非曾经说过:“当你面对领导的时候,你屁股就对着客户;当你面对客户的时候,屁股就对着领导”。那么华为不是“以客户为中心”变成了“以领导为中心”了么?
我曾经在一次主管的培训过程中,问了华为杭研所的前所长这个问题,他说:“你考虑一个问题,领导在某种程度上,是不是客户?”
高,实在是高——矛盾被调和了。正能量的看待这个问题:领导更懂客户,听领导的没错;研发的工作是被分解了,领导看到的问题更具全局观,以领导为中心,团队更具执行力。
所以绩效管理体制的执行,一定是依赖于优良的干部选拔体制,领导必须英明,不能是个专爱马屁精的昏君。
4、沟通、沟通、还是沟通
写PBC沟通,中期审视,考评前沟通,考评后沟通,考评后公示;
为什么要沟通?因为会咬的狗不叫,会叫的狗不咬;有时候大家都会关注叫狗,忽视咬狗的贡献;所以要让每个位团队贡献了力量的人都口述自己的绩效,防止对咬狗不公平。
沟通是否能够改变主管对每个人的原始评价,考评前沟通是否会沦为主管给员工绩效结果的心理暗示,考评后沟通是否成为主管抚慰员工心灵的工具,员工抱怨的通道而已,这些都是问题。但是总之,沟通充分比不沟通要好很多。
其实基层的主管,要有老板心态,才能够更深刻理解沟通的意义。如果,你的一个工程师水平一般,你其实就应该站在公司的角度,给他一个C、或者D,沟通的时候,跟他说:去找份工作吧。而我们之前,会考虑个人情感,会考虑团队稳定性。结果我们当时团队的问题就是,皇帝轮流做,风水轮流转,找平衡,让大家都满意。最后,印证了那句话“你不让后10%的员工离开,前10%的人就会走”。
我有个同学在华为终端,当他抱怨华为的流程不能做到小米那样快速迭代,抱怨测试人员为了达到自己的测试指标,提出没有道理的问题;而跟测试人员发生分歧。我劝他:“测试人员有自己的PBC和KPI,他有他的生存需求和生存法则,领导未必会认为你有道理,因为领导没有精力和耐心去分析具体的问题,看你们谁有道理;只要你们处于狗咬狗一嘴毛的状态,他就更放心一些;但是超人领导可能做得更公平,但是我们不能企图每个领导都是超人。”
沟通也体现了徐三年提出的:“把对人的关注放在首位”;本人曾经酷爱三国志8,三国志8是把策略性游戏发挥到极致,在这款游戏中的,把主公的角色玩好的窍门,就是把饭吃好——也就是把对人的关注放在首位。所以这里的沟通,并不是按照绩效管理方法的理性化的沟通,而是无处不在的沟通。中国就是家天下,上阵兄弟连父子兵,大家一家人一样,才能成事。沟通就是要换位思考,要贴心。
5、绩效排名——基层主管在游戏规则下的权利
游戏规则是这样的,公司给了每个等级的比例划分,同时给了一个每个等级之间收入、任职机会的差异。每个人处于这个曲线图的什么位置,是由主管来一级级去自己定的。上一层的主管来审核。
主管就是有排序的权限,这个权利相比与其他的公司,已经很大了;公司就通过强制比例来控制,防止主管瞎搞。
“作为主管,如果想得到员工的拥护,最重要的就是在工作中做到公正公平”——任正非。
问题3、没有绝对的公平,只有相对的公平
研发管理不是计件管理,不可能充分公正的衡量每个人之间的优良中差,
出路:板凳要坐十年冷
科学家们曾做过这样的实验:对一些从三岁到六岁的儿童进行奖励糖果的测试,发给每个孩子一个果汁软糖,同时告诉孩子如果他(她)能够坚持十五分钟不吃这个糖果,就会得到另一个果汁软糖,然后这两个糖果他(她)都可以吃;如果还不到十五分钟时间他(她)就把发的糖果吃了,那就不会再得到另一个糖果。结果三、四岁的孩子们大都受不了手中糖果的诱惑,先把它吃掉了;六岁的孩子基本上都忍受住了十五分钟的等待过程,得到了双倍的糖果。这就是说,当人的神经系统发育成熟到六岁以上时,就可以产生忍受过程、指向目标的动机。
目标动机中的目标可能像上例中那么容易达到,也可能非常困难才能达成。“板凳要坐十年冷”,这是任正非安抚大家的一句话,其实非常有道理。
奇虎360董事长周鸿祎荐书《异类》,讲的是一样的道理“一万小时的基本投入”:
任何伟大的事情都是由很琐碎的、点点滴滴的事情组成的。要把事做成,就要在一个地方形成足够的压强,我们缺少的不是策划,不是点子,需要的是持之以恒地把一个事情做得非常深入。什么是持之以恒?简单地说就是重复。有一本书叫《异类》,我建议没读过的都买一本看看。这本书提出“一万个小时定律”,他分析了很多有名的成功人士,发现无论是比尔·盖茨,还是打高尔夫的泰德·伍兹,要想成为高手中的高手,在某个领域成为杰出的专家,一万小时是最基本的投入。
虽说,我们原来也觉得“板凳要做十年冷”,是在忽悠员工不要离职,不要为了一次两次的考评不公正就离职。但是平心而论,任何人都不应该考评不好而离职,而应该分析清楚考评不好的原因,不管换不换工作,都应该去思考和改变,在工作方法、工作态度、工作习惯上做出相对应的调整。
做不到,就洗脑吧。
问题4、再完善的制度都有漏洞,怎么办?
1、先僵化,再固化,再优化
这就是华为强大的执行力;
管理进步的基本手段最简单讲有两个方面:一是向他人学习,二是自我反思。对于致力于成为世界级领先企业的华为公司,向西方有着优秀管理模式的企业学习尤其重要。
公司的管理进步过去主要是在自己的经验中摸索出来的,但近几年开始下大的决心和投入资金引进国际先进管理体系,虚心学习,广泛合作,站在巨人的肩膀上,是华为的一贯方针。“百分之百自己做,那就是农民”。 《华为公司基本法》第三条提出,公司要“广泛吸收世界电子信息领域的最新研究成果,虚心向国内外优秀企业学习,在独立自主的基础上,开放合作地发展领先的核心技术体系,用我们卓越的产品自立于世界通信列强之林”。技术是如此,管理上亦是如此。
但是,我们学习国外管理和学习国外技术时的心态往往是不一样的:学技术容易虚心,学管理却容易产生抵触情绪。因此,“如何学”就成为一个重要问题。
为此,华为提出,在学习西方先进管理方面的方针是先僵化,后优化,再固化。 (IPD流程是这样,绩效管理也是这样)
僵化就是学习初期阶段的“削足适履”。任正非:“我们引入HAY公司的薪酬和绩效管理,是因为我们已经看到,继续沿用过去的土办法尽管眼前还能活着,但不能保证我们今后继续活下去。现在我们需要脱下‘草鞋’,换上一双‘美国鞋’”。穿新鞋走老路当然不行,我们要走的是世界上领先企业所走过的路。这些企业已经活了很长时间,他们走过的路被证明是一条企业生存之路,这就是我们先僵化和机械地引入系统的唯一理由。
任正非是从发展的角度和针对东方人的特性来看待先僵化的:“现阶段还不具备条件搞中国版本,要先僵化,现阶段的核心是教条、机械地落实体系”。“我们向西方学习过程中,要防止东方人好于幻想的习惯,否则不可能真正学习到管理的真谛”。
惊闻某位菊花厂的某位硬件工程收受贿赂500万+,大家一定会奇怪一个IT屌丝怎么会有如此大的权利?菊花厂一个搞班车承包的,都能收受贿赂千万级,采购器件这么个口子,500万不足为奇。下面就说一下器件的Sourcing流程。
1、什么是Sourcing?
Sourcing和Purchasing在中文的意思差不多,都可翻译成“采购”,那是因为大家都想不出更好的方法来译Sourcing。各位朋友如果有更好的翻译方法,请告知。从实际职能上讲,两个工作的内容大不相同。
Sourcing的词根是Source,即根源。所以简单地理解,Sourcing是找到根源,即找到合适的供应商。在新产品开发中,Product Sourcing就是为新产品找供应商。
Purchasing就是采购。相对于Sourcing,Purchasing更侧重于订单处理(PO Transaction),即询价、下订单、跟踪订单、催单、收货、付款等。 相对而言,Sourcing属“一次性行为”,一旦选定合适的供应商并把他们带上正规,Sourcing的任务就基本完成。当然Sourcing的过程可能很长。然后是Purchasing去执行日常订单管理。当然如果Sourcing选定的供应商有表现问题,例如质量、交货、价格等,那么Sourcing有可能再度涉入,寻找新的供应商。当然这种区分有点理论化。在很多公司,Sourcing和Purchasing是由同一组人员完成。但对于建制完全的大公司,总体趋势是把Sourcing从Purchasing分离出来。
从上面的分工不难看出,Sourcing相对更战略一些,而Purchasing更侧重于日常工作。在工作中,Sourcing与产品部、工程技术人员等交流较多,而Purchasing则主要是支持生产部、客户服务部(例如备件
在硬件开发的器件选购这个环节,一些小公司是没有自己的器件库的,所有的器件采购是由硬件工程师和采购部门的人员共同完成,领导签字。开发新产品时,如果选用了新器件的时候,考虑和对新厂家的考察没有那么细致、深入、全面,几乎没有sourcing这个动作,或者说这个动作非常简化。
2、 我为什么要写Sourcing这个内容?
首先如果一个硬件工程师的开发史是一段Sourcing史的话,你是幸运的,也是不幸的。幸运在于,你在不断的玩新东东,而不是走前人已经开发过的老路;不幸在于,你要跟各个方面不停的角斗。
我在菊花厂的硬件开发历史就是一个Sourcing的历史:AMD的Athlon64 3400,配套的VID电源,Intel的Core i7第二代,LE620(Arrandale)以及配套的VID电源,TI的Shannon,Freescale的P4080、P3041,还有NXP、TI、Intersil等等的一些接口芯片、电源芯片等等。一路厮杀过来。也因为搞Sourcing,对产品的思考、对采购的思考更多一些,同时也结识了很多朋友,公司内外的都有。
TI的朋友说,他那里来的新员工,入职的一课是学习《硬件十万个为什么》的《华为是怎么研发的》系列文章,所以好人做到底,送佛送到西,所以今天直接写Sourcing。
3、 我总结的Sourcing四模型:
看看Sourcing的人员构成,你就知道需要跟哪些人进行厮杀了。
我总结:Sourcing的运作模型,有4个:
1、 基本型,行管和采购主导;
2、 通用型,行管和采购主导,硬件研发影响;
3、 专用型,硬件研发主导,行管和采购统筹;
4、 垄断型,厂家很屌;研发、行管、采购抱团寻找方案级替代,培育潜在第二梯队。
四个模型的各个势力的影响如下面几个图表示。
第一、 基本型:电容、电阻、电感、连接器、线缆、磁珠、三极管、二极管等等,厂家之间的差异基本没有,选择哪几家,基本由采购部门自行解决。如果有革命性的替代产品,会由行管进行提交规划和申请,例如MOSFET的Rdson如果每年会做规划,研发可以推动采购进程,但是可操作空间不大,用数据和事实说话。曾经NXP希望我推动其MOSFET的导入,但是其产品对于Infineon英飞凌没有绝对的优势。从研发角度的我,不可能去推动这件事情,第一我自己没有收益,第二我的作用其实也微乎其微。但是如果使用过程中,发现器件的一些致命问题,是可以将该器件禁用的。
对于芯片的Sales来说,关键要搞定采购,多吃饭,多搞好关系,多去东莞(这句纯属杜撰)。
第二、 通用型:主要的器件就是电源控制器、FPGA、DDR、Flash、电平转换芯片等等。就是有多家可以供货,但是各家其实是有差异的,行管会做好相关的规划,按照行业的发展进行芯片的导入规划,但是呢人无完人,另外呢规划赶不上技术的发展。所以部分这里的器件是由研发发起的。例如FPGA刚规划好,但是厂家规划已经发生变化,或者竞争对手的商务策略非常好,价格非常有吸引力。
我曾经就导入一家Altera的FPGA,原因很简答,第一要支持DDR3、成本敏感,需要多个SGMII接口。当时正值Arria系列推出,市场打得非常精准,同时正值Spartan6诸多问题在各个产品攻关。所以这个sourcing走得非常顺利,行管也修改规划。所以通用型器件的Sourcing是以行管规划为主体,以价格优势打动采购部门,以新技术为突破口推动研发。
通用型器件,行管和采购是非常有话语权的,器件厂家需要找对人,多与行管搞好关系,更重要的是跟行管的领导搞好关系,擒贼先擒王。
第三、 专用型:这种主要是以一些处理器、控制器、协议类芯片等等。此类芯片,对研发技术的依赖性高。
首先,产品本身需要性能、功能、成本、质量各个方面更不能出现硬伤;
第二,服务态度和支持力度很重要,此类芯片,可以一个好的FAE打天下;
第三,市场定位要准确,符合用户的发展方向和规划、战略,更容易打动客户。
此类器件,行管的影响相对弱很多,主要原因是行管并不了解产品的诉求和具体的规划,此时的行管能力相对较弱;研发的技术开发项目的方向要及早进入,器件厂家介入越早,机会越大。因为如果器件一旦进入临时编码,就不会轻易替换。
产品本身还是很重要的,例如LSI的产品,PMC可能也有对标的,但是撼动不了他的地位,因为在支持、产品、成熟度上面差距很大。
这类器件以嵌入式器件为主,所以软件的因素不可避免,因为在器件选型的时候务必考虑OS的继承性,软件的归一化等问题。
第四、 垄断型:风口浪尖上的Intel、Broadcom等等;
这种器件,即使有对标器件,你也不会考虑,因为差距有点大;Broadcom排名菊花厂供应商态度最差榜TOP1,Intel排行TOP2;
曾经一个同事给Broadcom打电话咨询一个问题,Broadcom很傲慢的问那个同事:你是哪个部门的?你们领导是不是谁谁谁? 哦哦哦,那我们不支持的,你们量太小。。。。 当时那位同事想砍人;
往往为了打击这种垄断的供应商,公司会制定方案级策略,比如:I公司的价格谈不下来的时候,启动了一个A的开发项目;一开始I公司还有一些应对策略,后来I公司的工程师说:“接上峰通知,价格就这样啦,你们可以用别的器件,A公司,哈哈哈”。后来ARM牛逼了,开始进军高端服务器了,I公司的兄弟说:“这样世界才有意思啊,不然我们一家玩有啥意思”。就是这么任性!
Intel公司的某位FAE,搞不定问题,也找不到相关资料,打电话不接,最后就一句:“以后不要给我打电话”,气的我直接一份邮件,指出他们的N多不合作态度,抄送其公司所有我认识的人。
垄断型,啥也不说了,说说都是泪啊。
4、 通用型、和专用型器件。FAE和Sales的策略和打法(我是芯片销售的门外汉,把我见过做得比较好的供应商的一些方法共享给各位)
第一、 帮助研发在浩大的器件库中,找到你可以选用的已有编码,不走sourcing才是研发人员和整个公司的诉求。如果一上来就想新编码,往往吃力不讨好。
第二、 如果找到自己厂家已有的编码可以符合客户的诉求,可以想办法把自身产品演进的思路策划好。
第三、 如果没有自己的编码,要知道主要的竞争对手和其的优缺点,知己知彼方能百战不殆;如果产品有优势,需要强化自身的技术领先性,让客户觉得是降维打击对手,不选用你的芯片,会让客户的硬件觉得不上档次。
第四、 帮助工程师、设计、调试、问题攻关。让工程师离不开你,让他残废。这种打法比较累;比较好的方式是,授予鱼不如授予渔,和工程师一起成长,成为朋友,成为战略合作伙伴。
第五、 如果自己的方案是独家的,没有Pin to Pin的兼容方案,帮客户找到潜在的竞争对手,实现方案级替代(放心,其实不会造成实际的威胁)。因为大公司不喜欢独家供货,不愿意被供应商绑架。
第六、 不要轻易放弃,如果发现供货量下降,要研究客户是否碰到了什么困难。例如我们曾经解决一个单板插不进框的问题,分析了很多原因,觉得金手指的连接器、和金手指的PCB的问题。于是调整了FCI和Tyco的供货比例,将FCI的供货比例调为0。实际,最后我是去机框工厂跟线,通过结构手段解决了问题,但是这个供货比例再也不会调整回来。
第七、 如果你的产品在本身没有优势,可以在周边找一些配套和优势,比如:外围器件的价格比对手有优势;配套软件成本有优势;
第八、 对研发屌丝好一点,他们其实很容易满足。
5、 采购专家团是什么?
采购专家团,就是一帮Sourcing利益相关的部门领导,组成的一个评审团,各种采购打官司的事情,一般都是到这个组织去评审PK的。
这个采购专家团的会议,一般分两种,一种是走过场,其实就是这帮领导们不知道你要干嘛,说出一个器件的风险,只要在领导的认知范围内,你的逻辑和故事是说得通的,那么就pass了;
如果有个领导是个大拿,那就容易一言堂。比如我曾经汇报DSP的sourcing,本来准备的很充分,结果大领导一句话:T公司是我们的方向,L公司的只是策略……于是我啥都没说,就Pass了。
6、 Sourcing的作用是什么?
第一、 他的本质,找到最合适的供应商,最合适的配件和产品;
第二、 多部门参与,全流程考虑,考虑维度多,不偏废;
第三、 流程时间长,对供应商和产品做充分的考察和研究;
第四、 各个利益部门PK,制约,不同的KPI考核指标,进度、质量、可靠性、商务主动性、成本、长期战略合作等等等等。
第五、 有效降低灰色收入。
第六、 Sourcing流程在项目启动的同时就启动了,这样充分考虑器件的商务策略、生命周期、可靠性等等因素,避免等项目做完了,发现器件不能选用或者成本很高,或者商务上被绑架。
立项是一件痛并快乐着的事情,它预示着研发的你可以从一个火坑跳到另外一个火坑。当然这是笑谈。
但是一个项目立项工作做得不好,又很不幸的被通过立项了,那才是真正的噩梦开始。因为很可能,做出来的产品不是客户想要的,或者没有市场竞争力。最后,钱砸下去了,连个水花都没有。在大公司,领导下课,部门拆分,兄弟们离职或者换部门,这种事情其实每天都在发生。大公司养得起,半死不活的产品年年寻求突破,大不了产品停了,领导换个岗位,兄弟们换个部门,照样继续拿工资奖金。小公司如果出现这样的失误,可能直接就歇业倒闭,关门大吉了。
如何从一个工程师思维,转变成一个产品经理的思考。
我很有幸,刚进华为的时候,就写并且汇报单板级的Charter,后来做项目经理的时候,做过两个设备版本的Charter,后来在产品规划的时候也做了一个大版本的Charter。慢慢经历了3个过程,第一个阶段:机械式命题作文;
第二个阶段:思考式命题作文;
第三个阶段:开放式作文;
这个三个阶段很好理解:
第一个阶段,机械式命题作文。当时就是一个工程师心态,已经习惯了“完成任务”,其实并不理解为什么需要立项,已经习惯了接受任务,挑战任务。这个时候写Charter的感觉,就是应付,为了立项而立项,没有更多的思考。领导下达任务,你一定要立项成功,所以我就一定要成功,按照模板格式套,查阅所有之前立项的文档,照葫芦画瓢;
基本上的思路就是,我的目标是立项成功,那么我要证明这个命题是正确的,开始找各种论据去证明这个结论是正确的。但是往往这个命题,就是拍脑袋而来;或者就是为了大家不闲着,所以要找点项目;后来华为搞了工时系统,就是我们要想点事情,让产品或者公司出钱,来养活这些兄弟们。
其实很多SE写过无数个Charter,但是一直处于证明领导是正确的这个层次。这就是很多攻城狮在大公司被奴化了,没有思考,永远都站在工程师角度思考问题。
最近接触一个公司,他们的研发部门的大门密码锁是华安的终生代号,非常讽刺的说明一些问题。
第二个阶段,思考式命题作文。这个阶段,最大的变化就是开始反思产品的商业价值。目的不单纯是为了把立项这个工作给完成了,同时需要思考,这个产品做出来,是否能够大规模发货,不能只是以完成立项这个过程。
因为,当一块电路板做出来之后,你眼巴巴看着别的单板每个月出货都在几千块,几万块。
这时,领导询问你的直通率为什么这么低?你解释,这个月加工2块板,其中有一颗电容飞料了,所以直通率是50%。领导只能说:“巴嘎”,同时苦水往肚子里面咽,因为当初他同意立项的。
作为一个硬件经理,或者项目经理,你在立项时,思考的就不完全是“立项通过”,还有未来部门的兄弟姐妹们要依托这个产品的生存问题。所以,如果立项通过之后,要开发的产品是个废材,你一定要考虑这个后果的。
所以,虽然你会针对这个产品的立项,有一些除了立项之外的思考,更重要的是在立项过程中,除了把逻辑思考完备了,同时需要考虑立项项目的商业价值。
第三个阶段,开放式作文。当你需要思考手下几十号兄弟,上百号兄弟,后面吃啥喝啥,项目经费如何而来的时候。需要思考做什么产品才能大卖特卖;同时,市场没有那么多反馈的时候,你需要怎么做?客户已经不能告诉你做什么的时候,或者各种需求一涌而至的时候,你怎么办?需求的优先级怎么排?立项做什么,需要你思考的时候,你的压力会不会很大?
当你提出做什么的时候,各方面都会问你为什么?都会质疑你的决定。一方面市场要特性,一方面销售要低价;低价市场打不过,高级市场打不进,如何找到夹缝进行生存?
你感觉处处是红海,竞争对手都很强。
一般大家的做法都是,开发式作文转化为命题作文:
就是对标竞争对手,比如做企业通信市场,看思科、avaya、西门子、看看人家都做了哪些功能;靠领导拍脑袋,指方向;整理客户需求,进行筛选。
推荐一本书《人人都是产品经理》,里面有很多科学的方法(我觉得,适合大公司,不一定适合初创型公司)。比较系统的收集、整理、分析需求,综合出“产品形态”。
当华为的客户还是单一的运营商的时候,罗列客户的需求,一一答复完成,就可以了,最多排一个优先级,但是当进入个人消费领域、企业领域的时候。产品定义就变得特别关键。做什么、不做什么,立项的时候就变得复杂而需要魄力;
例如华为的手环,B1解决了蓝牙耳机放在那里的问题;B2不但美观大方待机时间长,关键蓝牙耳机可以对接多个手机。
三个阶段的总结:我思考为啥我会经历这三个阶段呢?第一因为个人对项目认知的不断完备,不断成长;第二个关键因素,就是屁股决定脑袋,你的职位不同,思考问题的方式也不同。你是一个工程师,即使让你去立项,你也不会去思考商业目标,因为你不需要担负这个责任。(立项的过程是非常锻炼人的,可以拔高你的高度)
是什么制约了工程师的产品视野?
在一个商业性组织里面,商业目标是保证客户满意并商业成功。为了达成商业目标,需有效利用资源,保证所有项目目标与组织的商业目标对齐。华为的研发项目经理其实担当这么一个关键角色,一是把商业目标转化为项目目标,分解给每个项目组成员;二是在项目进展过程中,不断反思项目目标与组织的商业目标是否对齐。
商业目标永远是第一位的。而工程师往往看到的是被分解了的项目目标。
组织中通常包括产品管理、项目管理、职能管理三个角色,他们相互独立,分别负责产品价值的识别和定义、实现和交付、能力和资源保障,同时,他们又相互协同,最终确保客户满意和商品成功。
那么,研发人员往往站在交付的角度看问题,这个是一定的局限性,需要多思考商业目标和商业价值。
KPI,成也萧何败也萧何;
在立项过程中,华为是个非常严谨的公司,所以需要考核项目的各种风险,需要仔细评估各个方面,每个相关人员都点头了,才可能通过。
关键特性的满足度、过程规范性、技术复杂度、进度偏差风险、成本达成率、预算偏差度。
会用非常细致数据去评估产品的风险。风险控制在最低,大家都保证不会出错。
风险没了,那么我们经常说的“收益与风险成正比”,不说评估风险带来的人力成本代价有多大。单说,过于谨慎,往往就错过时机,丧失创造力。
例如,面对空城计,司马懿就是做了充分细致的风险评估,所以决定撤兵了。
所以大量的数据评估、KPI,会控制风险,但是这样的体制下面产生极其创造性的设想和产品也成为困难。
这也就是经常有人说的,华为都是攻城略地,打的是阵地战。
所以立项过程冗长而复杂,思考比较谨慎。哪怕一开始命题是错的,也要进行周密的逻辑推理,证明他是对的。
Charter的内容提纲
主要描述初始产品商业计划,重点描述产品的价值、概念、可实现性、关键里程碑、开发模式、关键资源、以及重点风险和对策;
4W+2H(Why、What、When、Who + How、How much)其实整个过程就是写商业计划书的过程;
推荐一本书,《我是这样拿到风投的》,是一个完整的思考商业价值,寻找蓝海的过程。
个人体验,不管是自己创业,还是在公司里面立项。写材料的过程,就是不断反思、思考方向的过程。如果写不出,那就是没有想清楚。
立项的最关键的点:找到独特价值
关键是基于现有团队的能力,挑战性的找到适合自己的蓝海,这是关键。上面的Charter的各种模板,其实都是花架子,关键是要做的东西能为客户带来什么?能为组织带来什么?
这就是所谓的价值管理,他是整个项目的核心工作,一定要以客户为中心来思考,客户是价值管理的关键,是思考的驱动力。
让产品更有魅力。
很想写这个”新员工培养”的内容。因为这部分内容对创业型公司的帮助还是会很大的。如何快速的把一群散兵游勇,组合成有战斗力的团队,而不是团伙。是很多发展迅速的公司急需解决的问题。我的三段经历也对这件事情颇有感触。
通过我经历的三件事情,来说说:
第一部分,报到初体验;
我华为报到时,在马蹄山村对面的华为“百草园”需要凭身份证进入,我下了大巴,看到百米长的队伍,我就觉得这一窝蜂报到的公司,还值得去么?还有机会么?
因为大老远从杭州到深圳,我还是报到了。带着这样的疑问,我参加了华为的“大队培训”。在入职培训之后,有一个总裁级别的领导见面会,当时是华为供应链的总裁,我问了两个问题:
“第一个问题,我的工号是14万多号,我如何在众多员工中出类拔萃?感觉淹没在人海;第二个问题,华为的文化是很好,但是这么多新员工入职,是否会冲淡甚至冲垮原有组织里面的文化”
这位领导的回答是:
“第一个问题,我入职的时候工号是3000多号,你加入一个3000多人的企业时候,你也会觉得淹没在人海中,论资排辈轮不到你。但是你看,现在已经14万号,只要公司是成长型的,你就会有机会,更重要的是公司是否提供一个让有能力有贡献的人的机会和平台;”(所以从这点上,我也理解找工作要看公司的发展和个人的发展,而不只是看现在的收入。)
“第二个问题,正是因为华为在高速发展,所以不能不吸纳更多的人员,投入到新项目里面去。所以这种情况,第一就是对新入职的员工要搞好培训,同时一边开车,一边修车;因为华为这辆车高速运转,不可能停下发展;所以只能加强新员工入职的培训,帮助快速融入华为文化。”
大队培训的主要内容:公司文化介绍(六大核心价值观:成就客户、艰苦奋斗、自我批判、开放进取、至诚守信、团队合作)、高层领导/金牌员工交流、观看主题电影、团队合作模拟演练(户外活动体验)。
每天早上集合跑步,晚上看各种成功、团结的电影,比如:《放牛班的春天》、《光辉岁月》、《阿甘正传》等等正能量的电影。
最重要的是“洗脑”:(很多人把华为的大队培训称作洗脑,我一开始不是很喜欢这种说法。第一、有主见的人,怎么可能被洗脑?第二、不让雷锋吃亏、天道酬勤、执行力,这些我能理解做得到,不需要洗脑; 但是若干年过去了,我觉得这个入职培训对一个企业非常重要;融入一个新环境的过度,同时也是每个公司都有一个基因,这个是由大头头决定的;通过这个过程也是相互理解和认同的过程;如同一个新球员加入一个新球队,不管这个球员原来是什么风格和战术,他必须融入这个新球队,要适应新打法,必须做出适应和改变,如果他能量大,也需要相互磨合的过程,需要相互了解;所以特别是一些新企业,一定要把“洗脑”这件事情做好)
第一篇文章《致新员工的一份信》
第二篇文章《天道酬勤》
第三篇文章《把信送给加西亚》
第四篇文章《华为核心价值观》
第五篇文章《商业行为准则》
第六篇文章《公司介绍》
“我们崇尚雷锋、焦裕禄精神,并在公司的价值评价及价值分配体系中体现:决不让雷锋们、焦裕禄们吃亏,奉献者定当得到合理的回报。
我们呼唤英雄。不让雷锋吃亏,本身就是创造让各路英雄脱颖而出的条件。雷锋精神与英雄行为的核心本质就是奉献。雷锋和英雄都不是超纯的人,也没有固定的标准,其标准是随时代变化的。在华为,一丝不苟地做好本职工作就是奉献,就是英雄行为,就是雷锋精神。实践改造了,也造就了一代华为人。“您想做专家吗?一律从基层做起”,已经在公司深入人心。进入公司一周以后,博士、硕士、学士以及在原工作单位取得的地位均消失,一切凭实际能力与责任心定位,对您个人的评价以及应得到的回报主要取决于您实干中体现出来的贡献度。在华为,您给公司添上一块砖,公司给您提供走向成功的阶梯。希望您接受命运的挑战,不屈不挠地前进,您也许会碰得头破血流。但不经磨难,何以成才!在华为改变自己命运的方法,只有二个:一、努力奋斗;二、做出良好的贡献。”
那么对于一个国有企业出来的我,最看重的就是:“博士、硕士、学士以及在原工作单位取得的地位均消失,一切凭实际能力与责任心定位,对您个人的评价以及应得到的回报主要取决于您实干中体现出来的贡献度。”那么我知道了公司的这个指导思想之后,我是非常喜欢华为这种公平公正公开的绩效评价环境的。
注:所以很多创业者,在公司内部,一开始就面临如何做绩效考核,如何做员工激励,如何发放奖金期权?评判的标准应该也就是这两条:“贡献和努力”。当然很多企业有不同的基因,会有不同的很好的制度,通过“入职培训”告诉每个新加入的伙伴是非常重要的。而很多创业型公司忽视了这点,来了直接干活,很快很多新加入者也就离职了。我之前在的深圳轻松行科技,在很短时间内,入职又离开的人数比现有在职人数还要多,关键是大多数人是主动离职,而非淘汰。这也是初创型公司经常犯得错误。也许是觉得花高薪水一定能请来更多的人,所以无所谓人员的稳定性。
第二部分思想导师
因为我刚进入华为的时候,就碰到了2008年全球金融危机。所以整个华为从一个大招聘的状态,立马进入一个招聘紧缩的状态。还没有转正的员工全部执行末尾淘汰;所以,我很想实践一下思想导师,直到2011年,华为划分3大BG的时候,开始扩张企业通信和终端市场的时候,部门才慢慢注入新鲜血液,我才开始做思想导师。我当年被评为产品线的思想导师,并不是说我带徒弟有多好,或者说我徒弟有多好,而是我项目组新员工最多,还算井井有条;也就是边修车边打仗,并没有乱了阵脚。
思想导师制度是经过实践证明行之有效的人才培养方式。它一方面帮助新员工尽快融入华为文化氛围、熟悉管理工程部工作环境和工作流程,顺利接手工作、进入角色;另一方面,也为公司培养一批训练有素,既是业务骨干、又具备组织领导才能的后备干部队伍。
当时有一句话,“好的主管都是从优秀思想导师做起的”,能带好一个徒弟,自然可以带好一群徒弟,然后可以带好一个团队。
培训做完之后就要上岗,而最关键的动作就是“思想导师”的安排。华为设立“思想导师”非常早,也很规范。华为对“思想导师”的选拔有明确要求,第一绩效必须好,第二要充分认可华为文化。同时,一个“思想导师”名下不能超过两个学生,以保证传承的质量。
“思想导师”在带学生期间,公司会单独给他发一笔钱,连续发半年,这笔钱做什么用?首先是“思想导师”定期请员工吃饭、喝茶,增加沟通;其次是帮助外地员工解决吃住安排,甚至解决情感等问题。总之,“思想导师”要在员工入职之初,给予他工作和生活上全方位的辅导和帮助。
公司对“思想导师”的激励,也有相应措施,如果没有带过新员工是不允许晋升的。所以,这一方面保证了“思想导师”不吃亏,也会使员工踊跃承担这件事,主动带出合格的新员工。在每年公司年会上,还有“一对红”(导师和员工都出色)评选,这也是一种企业文化的宣传。
以下是百度文库《华为新员工培养及管理办法(修订)》的节选
管理工程部干部处负责思想导师的管理工作,包括指导及检查相关工作、资格审查、激励、新员工实习结束后的评定等。
1、导师任职要求
(1)部门业务骨干或主管,业务联系紧密,工作接触多,有能力对新员工进行业务方面的指导。
(2)认同华为文化,责任心强,心态好,思想作风正派,乐于助人,有能力对新员工进行思想引导。
(3)有较强的计划、组织、管理、沟通能力,善于引导与激励。有能力为新员工制订合理的计划、安排相应的工作任务。
2、导师职责
(1)在思想上给予引导和帮助,引导新员工认同并尽快融入华为文化,严格遵守公司制定的各项规章制度。主动了解并帮助新员工解决工作、学习、生活等方面的困难,使之尽快安定思想,融入工作群体。
(2)通过制订培养计划(内容包括为新员工安排学习和工作的内容),对新员工进行业务指导并传授工作经验、工作方法,提高新员工的工作技能。应注意安排新员工边干边学,工作量要饱满。
(3)对需进行转正答辩的新员工进行辅导,帮助其通过答辩。
3、导师制实施过程与方法
(1)确定导师:新员工进部门第一天,由其所在部门主管从思想导师资源池挑选并指定思想导师,同时反馈给干部部备案。为保证效果,原则上一位导师同时所带新员工不应超过两名。
(2)制订新员工培养目标和月度工作计划:导师被确认后,应尽快与新员工认真沟通,了解其专业知识结构,根据本部门需要和新员工实际情况,与部门主管协商共同为其制定详细计划。三天内以月度PBC的形式明确出新员工培养目标;在第一个月内应使新员工明晰其工作定位及职责。培养计划一式三份,思想导师、新员工和干部部各一份。
(3)进行辅导和沟通: 导师在辅导期内对新员工进行指导, 一般每周至少应正式沟通一次,其他可在工作之余进行非正式沟通,指出其优点和需改进的地方,帮助其进步。对沟通的情况、反映的问题要有相应的记录。
(4)总结与考核:每个计划月度末,导师和新员工要对计划实施情况进行总结,导师和主管要对新员工进行月度考核,考核责任人必须就考核结果向被考核者进行正式的面对面反馈沟通,内容包括肯定成绩、指出不足及改进措施,并共同制定下月度PBC。
(5)辅导期结束后,导师和干部处要在之后三个月的跟踪期内对新员工的工作情况进行跟踪检查。
(6)对新员工辅导的工作量、效果等将作为对思想导师季度绩效评价的参考依据之一。
(7)干部处每半年组织评选一次优秀思想导师,并颁发荣誉奖。思想导师的获奖条件必须是其所引导的新员工有相对明显的进步和成长。
以上的碎碎念,总结起来就是:
1、 每个新员工都有明确的人带,哪怕技术不能指导也能有人问技术以外的事情,中午去哪吃饭,文具去哪领,领导什么脾气之类的;
2、 每个新员工的绩效,需要导师对其负责。不能蒙混过关。
3、 导师其实是有一些费用的,300元.
我简单说一下300元的事情,300元其实是一个很小数目。但是为什么要有这个费用呢?这里面有个精神:不让雷锋吃亏。我之前待的一家公司,每天晚上如果加班的同事公司为大家提供一顿晚餐,但是呢公司没有行政,于是让一个积极主动的实习生代为大家订餐,结果每次如果有错误或者遗漏大家都找这个实习生埋怨。长久之后,大家都不在公司吃这顿饭了。如果一个公司中,积极主动的为大家服务的人,不但没有得到任何认可,还不断的遭到抱怨和批评,那以后谁还愿意为公司服务呢?
我当年刚进入华为时,在华为的导师是一个项目经理,也就是我主管的主管。他很忙,但是他也很有责任心。没太多时间辅导我,他想出了一个办法:让我每周给他提3个问题,他一定会安排在周五给我解答;我有时为了给他提问也比较费尽脑筋,因为不可能提一些太低级的问题;因为我提问也不是那么好回答,他也要花一些时间去学习,并仔细的答复。我觉得试用期间,这个“每周三问”对我深入掌握一些单点知识非常有效。等我带新员工的时候,正值华为大发展,我一个项目组里面17个人,有4个老员工,其他都是新员工,根本没法一对一辅导。我当时就用了“每周三问”这个办法,这个办法很有效:第一、强迫新员工思考问题;第二、新员工碰到障碍,有地方可以提问;第三、面对新员工各式各样的问题,老员工为了回答也需要提高和学习。
除了每周三问,我觉得导师给新员工的动手练习也很重要,我当时刚入职的时候,就开始做看门狗的练习,就是用逻辑修改看门狗喂狗的时间。虽然是一个很简单的逻辑练习,但是却能提高逻辑代码规范,同时也通过小练习,强化新员工对工作中经常碰到的小模块的认知。列出新员工应该学习的内容,成为其自检学习成果的一个检验。例如下表写出了一些要求:
内容 | 掌握程度 |
逻辑电平知识 | 熟练掌握常用电平的种类及其特点和应用场合 |
时钟知识 | 掌握锁相环设计原理、单板时钟设计,各项参数指标的含义和测试方法 |
存储器件基本理论 | 了解存储器的基本原理、分类和应用场合 |
掌握FLASH的工作原理、分类和应用场合 | |
通用处理器基础 | 了解通用处理器的种类和应用场合 |
第三部分,所有的对新员工的培养都是点,如何形成组合拳?
我们是不是什么企业都会安排新员工的考试啊,培训啊,但是效果都不是很好。
脱离工作的考试、讲解、培训,其实都效果不好。
我们应该从工作中挖掘我们真正的痛点和困难点而且是共性的。针对问题点,在制定一系列的“学”、“听”、“测”、“讲”、“用”的循环,这样才能达到价值最大化的技能提升。
从工作中来,到工作中去的培养,才是有用的培养。
我当时就是这么实践的,大家的提升还是很有感觉的。供大家借鉴。
生活、工作与发展这三方面给大家一些建议:
享受生活:让工作不是我们的全部
1、把握工作与生活的平衡:工作的时候集中精力全力以赴完成工作任务,下班时放下工作,尽情享受生活。发觉并培养自己的几项兴趣爱好,尤其要坚持体育锻炼,健康的身体才是自己的本钱,久坐不动会让我们的身体加速走下坡路,因此每周2次的体育锻炼一定不能少,不然挣钱是为啥呢?
2、与身边的同事成为好朋友:我们的好朋友有同学、前同事,但是由于现在不在一个地方,会慢慢疏远,现在天天能够与我们相处的是我们现在的同事,与身边的同事成为好朋友后,我们能够倾诉烦恼,结伴锻炼同时也有利于工作开展,所以主动与你周边的同事成为朋友吧。
适应工作:工作中如何才能得到认可呢?
答案如下:积极主动、执行有力、技术扎实、端到端的完成交付。
1、积极主动,要有全流程意识:积极主动是一种我们倡导的态度,它要求我们目标感要强,为了达到最终的目标,遇到困难要迎难而上,我们要不停的去想办法,一条路不通时要寻找其他通向目标的道路,直到最终达成目标。网站开发是要端到端的交付产品,从概念设计到产品的上线、维护我们都要负责,前期一个小的错误和粗心都可能导致在后期造成严重的影响,因此我们任何的一个开发和测试活动都必须严谨和谨慎,需要关注全流程的影响。
2、领悟团队开发文化:多讨论、用白板,勤跟踪,要闭环。我们如何才能做到快速、高质量的交付,因为我们不是一个人在努力,而是一个团队在战斗,大家要利用好团队的力量来完成工作,提升自己的技能。通过不停的讨论,获得灵感,解决疑问,快速搞定难题;就算讨论时只有两个人,也请走到白板前,让其他有兴趣和时间的人能够参与进来。用好个人跟踪表,千万别遗留掉问题,不然后面它会再回来找你麻烦!
3、管理自己的时间,做好计划的事情,强化执行力:效率要高,就要做你自己时间的主人。尝试着通过时间管理工具(我们在个人跟踪表中提供了个人时间管理表给大家参考),逐步规划好自己的时间。计划的及时完成率是我们重点关注的,合理的制定计划,制定后就当成自己的承诺,完成它!
4、培养对技术和问题敏感性:有时灵感往往是灵光一现,转瞬即逝,及时的记录他们是不让他们跑远的好办法(笔记本和个人跟踪表都是记录的好地方)。另外提出疑问于发现问题和解决问题是极其重要的。创造力高的人,都具有善于提问题的能力,众所周知提出一个好的问题,就意味着问题解决了一半,经常阅读技术论坛,想着别人遇到的问题我们是否也会遇上?任何事情,多问自己为什么。
把握发展:
1、技术能力是在任何公司发展的必要条件:在后续的发展有两个方向,技术线和管理线,大家完全能够自己把握的是技术线的发展,管理线的发展除了有过硬的技术能力之外还有一定的机遇因素。在机遇还未到之前大家可扎扎实实的打好技术基础就能两个发展都不误。我们做网站开发的需要更多的技术积累,后面才有更好的发展机会。如果只停留在自己当前会的一点内容的话,那只能在原地踏步了。
2、为自己设定长期发展方向:经过新员工的忙碌时期后,有人迷茫了,每天机械的来上班、下班,迷失了提升的方向,迷惑我现在这么忙碌的工作是为了什么?这个问题需要你自己来回答了。我们大老远的跑到深圳来工作是为了什么?为了钞票,为了自己的提升,为了实现自己,应该上面三点都有吧。不会让我们迷失的方法是:为自己制定SMART化的长、中、短期目标,并在过程中不断的修正自己的目标和方向。
这是我在《天道酬勤》中最喜欢的一句话:
华为由于幼稚不幸地进入了信息产业,我们又不幸学习了电子工程,随着潮流的波逐,被逼上了不归路。创业者和继承者都在消蚀着自己,为企业生存与发展顽强奋斗,丝毫不敢懈怠!一天不进步,就可能出局;三天不学习,就赶不上业界巨头,这是严酷的事实。
华为不战则亡,没有退路,只有奋斗才能改变自己的命运。
华为由于在可靠性积累多年,所以在可靠性方面可以讲的很多。我先从可靠性设计中非常重要的FMEA,说起。
第一部分、概念
先说一下定义:FMEA是一种可靠性设计的重要方法。它实际上是FMA(故障模式分析)和FEA(故障影响分析)的组合。它对各种可能的风险进行评价、分析,以便在现有技术的基础上消除这些风险或将这些风险减小到可接受的水平。
FMEA(失效模式与影响分析) Failure Mode and Effects Analysis 潜在失效模式与后果分析
历史:
50年代初,美国第一次将FMEA思想用于一种战斗机操作系统的设计分析;
60年代中期,FMEA技术正式用于航天工业(Apollo计划);
1976年,美国国防部颁布了FMEA的军用标准,但仅限于设计方面。
70年代末,FMEA技术开始进入汽车工业和医疗设备工业。 80年代初,进入微电子工业。
80年代中期,汽车工业开始应用过程FMEA确认其制造过程。
1988年,美国联邦航空局发布咨询通报要求所有航空系统的设计及分析都必须使用FMEA。
1991年,ISO-9000推荐使用FMEA提高产品和过程的设计。
1994年,FMEA又成为QS-9000的认证要求。
我们做FMEA的目的是:
能够容易、低成本地对产品或过程进行修改,从而减轻事后危机的修改。
找到能够避免或减少这些潜在失效发生的措施;
益处显而易见:
·指出设计上可靠性的弱点,提出对策
·针对要求规格、环境条件等,利用实验设计或模拟分析,对不适当的设计,实时加以改善,节省无谓的损失
·有效的实施FMEA,可缩短开发时间及开发费用
·FMEA发展之初期,以设计技术为考虑,但后来的发展,除设计时间使用外,制造工程及检查工程亦可适用
·改进产品的质量、可靠性与安全性
第二部分、质量是设计出来的,不是测试出来的。
在我看来,FMEA不单纯是一种故障后果防范的工具,更是一种设计理念。也就是说:在你设计电路或者设计软件的时候,就需要考虑某个部件如果损坏了,可能对系统的影响,并且在设计的时候就能够预见,并制定对策。
看下图,你可以发现可靠性不是靠测试出来问题,解决问题实现的。而是设计出来的。也就是我们经常说的“质量是设计出来的”。
看着下图简略的描述,可以看到,在设计的概念阶段、就介入的可靠性的设计,而在计划阶段和开发阶段的起始,就需要完成FMEA的分析报告。
1、帮助决策者从各种方案中选择满足可靠性要求的最佳方案
2、通过系统级FEMA分析并确定系统最合理的可靠性架构,功能模块划分,冗余策略,复位策略,集中式/分散式控制策略等
3、通过板级/器件级FEMA保证所有单元的各种故障模式及其影响都被周密考虑
4、找出系统的可靠性薄弱环节,分析每个单元故障后对系统功能影响及其影响程度,为进一步改进产品可靠性设计以及可靠性定量计算提供资料
产品的可靠性可以理解为三个规定,即规定条件下、规定时间内、产品完成规定功能的能力。
从用户的角度考虑,可简单地理解为几个层面的要求:
1、硬件不出故障;
2、硬件故障,仅对性能有部分影响,设备的功能不受损。
3、硬件故障,设备部分或全部功能受损。但能尽快恢复业务。
第三部分、FMEA的基本思想:遍历性、系统性。
我们可以在很多FMEA的教材上面看到这两个概念:遍历性、系统性。那么这两点在硬件设计的过程中是如何体现的呢?
FMEA的分析方法:
硬件法,从硬件的角度,对每个器件管脚输出分别去考虑故障模式、故障影响、检测补偿措施。(因为我们遍历了每一个器件、每一个器件的每一个管脚,所以这里体现了遍历性)
功能法,每个产品可以完成若干功能,而功能可以按输出分类。这种方法将输出一一列出,并对它们的故障模式进行分析。对应系统级、单板级分析。(此处按照功能和场景,对故障模式分别进行遍历和分析)。
第四部分、FMEA分析操作步骤
严酷等级:
1、这种故障会导致整个系统崩溃或主要功能受到严重影响;
2、这种故障会导致系统主要功能受到影响、任务延误的系统轻度损坏或存在较大的故障隐患;
3、系统次要功能丧失或下降,须立即修理,但不影响系统主要功能实现的故障;
4、部分次要功能下降,只须一般维护的,不对功能实现造成影响(一般告警或指示灯故障等)。
描述结构图 :
清晰功能模块之间的相互关系,主要输入/输出信号。
参考的FMEA表格:
我曾经开发过程中,也非常的急于出成果。但是正真做成硬件精品,往往忽略一些功能设计之外的考虑,最后导致返工。
可靠性设计,包含FMEA的设计是很重要的。磨刀不负砍柴工,从设计阶段,就融入可靠性、预防失效的思考,让你的设计上升一个台阶
前两天,受邀到“华友会”进行一次《硬件开发流程》的一次交流。
我是这样开场的“我是来自华为,但是我发自内心讨厌‘流程’;所有小公司如果生搬硬套IPD流程,结局是‘死定了’”;
也许我武断,也许我表述片面,但是,首先从人员结构来说,小公司就没有这个多人能够组成这样的组织结构。如果一个小公司,业务还没有验证,都没有一个东西为客户所见,就组织庞大的组织结构,不但失去了小公司的灵活性和战斗力,还养成了大公司的一堆毛病,效率低下,不可能达到创业公司四两拨千斤的效果。
初创公司的一些创始人来自一些大公司,会照搬自己原来熟悉的那套环境和组织架构,流程之类的。会在公司内部,按照自己熟悉的那套去建立公司的规章制度,薪酬体系。但是没有大公司的文化,和成熟体系和平台。创始人又没有团队管理经验的话,容易走两个极端:要么放任自流,要么丧心病狂(干不好就滚蛋)。
首先完整的IPD流程,初创型公司根本就不可能全套照搬;为什么呢?
小公司如同轻骑兵(敏捷、速度、攻击),大公司如同重骑兵(稳扎稳打,防御,安全,集团军)。大公司的战法,直接拿到小公司,一定不适用。别人再成功,但是他的那一套拿到你的公司,一定不适用。因为每个公司都有每个公司的基因。
不用仔细看下面的图,你初步看一下,是不是就会觉得想骂人?
任正非多次说过要重视流程:企业的人是会流动、会变的,但流程和规范会留在华为,必须有一套机制,无论谁在管理公司,这种机制不因人而变。但是流程本身是死的,而使用它的人是活的,需要人对流程的理解。而对流程了解比较多的是管理者,只有他们而不是基层人员,才清楚为什么这样设定流程。IPD流程本身不是最有价值的,它的管理理念才最有价值。华为的各级管理者如何管理IPD,他们的理念如何,是要大家去体会和学习的,如果人不改变,流程就是没有用的,就不能深刻理解任总讲话的真实含义。所以要先看自己是否愿意改变?如果不改,顾问也帮不上什么。
流程的思想精髓是什么呢?
个人理解为四个方面:
一、先僵化、再优化、再固化。
华为自身没有生搬硬套IPD流程,所以成功了。
最先将IPD付诸实践的是IBM公司,1992年IBM在激烈的市场竞争下,遭遇到了严重的财政困难,公司销售收入停止增长,利润急剧下降。经过分析,IBM发现他们在研发费用、研发损失费用和产品上市时间等几个方面远远落后于业界最佳。为了重新获得市场竞争优势,IBM提出了将产品上市时间压缩一半,在不影响产品开发结果的情况下,将研发费用减少一半的目标。为了达到这个目标,IBM公司率先应用了集成产品开发(IPD)的方法,在综合了许多业界最佳实践要素的框架指导下,从流程重整和产品重整两个方面来达到缩短产品上市时间、提高产品利润、有效地进行产品开发、为顾客和股东提供更大价值的目标。
IPD在IBM这个巨人身上的商业实验让任正非怦然心动,一年后,华为用“照葫芦画瓢”的强硬方式推行IPD,“先僵化,再固化、再优化。”任正非说。
“从一个技术人员的角度来看,IPD让我们从技术驱动型转向了市场驱动型,它改变了我们的做事方法。”每个TDT的人员来自不同的部门,从市场到财务,从研发到服务支持,目标导向只有一条满足市场需求并快速取得赢利。
那么这个僵化过程,就不是那么容易做到的,需要长时间训练出来的整个团队的执行力和战斗力;如果没有长时间的沟通和并肩作战,和任正非等一批高层的个人魅力。只是强行灌输,那么员工会用脚选择是否僵化你这套流程。
僵化的目的是自我认知,如同《亮剑》里面的情节:李云龙要向暂七师的手下败将学习,他再不情愿,还是被刘伯承僵化下来了。当僵化不成功的时候,也是刘伯承对李云龙做了教育,让他认知到自己;
优化:自我修正的过程,因为任何企业都有自己的基因,必须找到适合自己的道路。没有什么流程是可以生搬硬套的,或者直接拿过来就直接适用的。
固化:夯实已有成功,很多很多的动作,才能形成一种习惯,很多很多习惯才能形成一种传统,很多很多传统才能形成一种文化;所以任何的动作,都必须在反复的训练熏陶下,形成文化之后,才能夯实之前的成果。否则必然前功尽弃。初创企业如果人员不稳定,每天进进出出如同公共汽车一样,就毫无文化可言了,自然也很容易只是一盘散沙,什么好想法都不可能固化的。
华为自1999年启动IPD变革,但是到2005年才逐步走向成熟,并且在很多方面做出了创新,和变革:
1. 华为将IPD与MM、OR对接,实现了IPD端到端流程的衔接。解决了IBM-IPD“规划—>开发”需求驱动不够、客户需求响应不够问题;将客户需求信息直通到产品开发人员手中,实现需求驱动产品开发。此优化改进,让华为10万人规模开发团队与中小企业开发团队一样轻盈,快速、低成本地满足客户需求;这是华为从西方管理理论过渡到中国化的最大创举,让华为这只大象跳起街舞。
2. 华为针对软件研发业务工作量大且相对独立特点,针对IPD流程进行软件开发适配,推出集成IPD-CMMI流程。2007~2010年,华为继续在各产品线试点敏捷开发方法基础上;华为吸收敏捷方法在软件开发中优点,考虑电信嵌入式系统庞大而又复杂的差异;形成适合华为的IPD+敏捷开发流程,将软件从重型过程管理转向轻量过程管理。
3. 华为针对电信市场整体解决方案特点,创造性全新地提出《IPD解决方案流程》,提出解决方案IPD开发模型;为客户提供产品、服务、全球培训、客户支持解决方案。解决来自多产品线或者多合作方、针对关键细分市场业务和服务进行全新开发过程控制。IBM-IPD流程体系解决是如何开发一个赢利的产品,而“IPD解决方案流程”提出让华为从卖产品的公司迈向卖解决方案与服务的公司。推动华为进入一个更大市场范围,让华为销售稳步迈向2000亿以上台阶。
4. 华为开始降低IPD的厚重性要求,IPD流程运作与PM项目管理更高效、实用与灵活。针对客户开发、小产品开发推出IPD小项目流程。规避因过分关注研发领域而忽略其他功能领域管理;如DFx要求引入、QMS质量管理引入、建立分层分级IPD流程评审体系……。
15年来,华为并没有一直僵化地使用IBM-IPD,而是在掌握IPD精髓之后,开始优化IPD流程、让流程运行得更具现实且有效率,成为华为不断发展的助推器。前三项改进是华为对IPD理论实践的创举与发展。
除华为外,中国最早引入IPD项目咨询的企业是在2002年,之后在国内有很多企业引入IPD。大部分企业IPD流程仍停留在如何“低成本、高效、高质量地开发产品”,产品开发流程上并无变化:导致以下问题:
没有建立需求驱动产品开发过程,没有建立需求端到端流程;将会出现发下两种情况:一是IPD流程成为研发搪塞市场需求的工具,IPD流程成为研发推诿责任的工具;二是在市场冲击下,由于IPD建设不合理,僵化无法面对市场;企业无奈地启用以前流程,以前怎么走还是怎么走,IPD成为历史。
企业建立的IPD流程厚重,流程效率极低,IPD流程与公司运营流程脱节。加上市场在变,业务在变,IPD流程一直僵化在1.0版本;没有优化,认为好东西就不用变化。IPD流程实施后并没有带来显著的竞争力提升,IPD流程成为痛心之点。
高科技企业软件开发工作量占绝大多数,而多数企业仍以IPD流程模型支撑软件开发,软件开发效率与效果均不理想,软件质量差。企业没有想到可以使用“IPD+CMM”或“IPD+敏捷开发流程”;解决软件管理问题。
所以,任正非的不败之谜:在于“变化”,在于不断地“自我反省与自我修正”。
二、统筹方法。
流程化的东西,都是长期积累下来的。例如在一个器件选型的时候,我们需要考虑他的可靠性、可生产性、可供应性……等等因素,那么这些因素的考虑,是把之前产品积累的内容,在器件选型的阶段,就融入过来,而这些融入的因素不是简单一些思考维度,而是长时间的案例和经验、人员的积累。
小公司在没有经验积累的时候,精益创业,快速迭代变得尤为重要。那么小公司积累,一个版本的总结和积累其实非常重要。否则,每个版本都没有进步的话,就不断的原地踏步,做多少个版本,还是一样BUG一堆。
三、阶段性评审。
IPD流程设置了很多技术评审点,也许小公司可能不需要这多评审点,但是每个环节都应该有个检查点,而不是等东西出来了,做个四不像,最后傻眼了。
但是如果主管水平不够,或者不懂技术,那就麻烦了,因为没法细致到每个细节去把握。每个开发人员都可以造成一种虚假繁荣的景象。
例如华为的很多考核的KPI,DI、度量表、单板返还率、直通率,其实都是可以通过认为操作,造成一种虚假繁荣的景象。
所以经常不深入细节的主管很容易被蒙蔽。
四、严格把握每个环节进入下一个环节的条件。
这点我特别感触,如果华为的某些指标达不成公司设定指标,那么是不允许进入下个环节的。例如华为的直通率要求在90%以上(大约这个数据,可能还要高),如果达不成这个指标,产品是不让发货的。需要反复的验证和优化设计、工艺等,直到小批量试制达成指标了,才允许过点,进入下一个环节。
但是一些小公司,并不在乎这个指标。但是一旦产品海量发货了,就是给自己找麻烦。
这是我个人理解的华为研发管理的十个模块,大致上分为“法制”、“人治”两个维度。个人建议,在学习华为方面,先把“人治”做到,否者也只是邯郸学步,最后弄巧成拙。
华为的流程有很多内容可以说