来源:硬件十万个为什么
大多数硬件的交付周期是不能缩短的。因为有些事情有其固有周期。
当年我还在华为上班时,听得最离谱的就是有领导冲到硬件部说:你们不是搞精益开发、敏捷开发么?这个硬件要90人天,你们投入90个人,1天给我搞定。
正是由于硬件的一些步骤是有其固有周期的,所以我们要先整理一下硬件开发中不可缩短的事情,然后找出关键路径,进行统筹方法。
1、关键路径法
我们需要运用“统筹方法”,首先分析活动的依赖关系。
活动 | 所依赖的活动 | |||||||
A | B | C | D | E | F | G | H | |
A | X | |||||||
B | X | |||||||
C | ||||||||
D | X | |||||||
E | X | |||||||
F | X | X | X | X | ||||
G | X | |||||||
H | X |
然后根据依赖关系,画出进度网络
通过沿着项目进度网络路径进行顺推或者逆推,得到各网络路径的总时间,其中总时间最长的进度网络路径就是“关键路径”,关键路径上的活动就是“关键活动”。关键路径的浮动时间为零,以关键路径为基础,就能计算出其它活动的自由浮动时间。
把评估出来的工期,加上活动之间的依赖关系,就可以确定进度计划的关
键路径(下图中的虚线)
然后项目团队可以根据评估出来的活动资源需求,通过保证资源投入等措施缩短关键路径工期。如活动D可以通过增加人力把工期从20缩短到15。
使用自动化工具Microsoft Office Project等能够使得进度计划的编制更为简单快捷:
2、减少可以裁剪的环节步骤
曾经刚创业的时候,为了拿项目签了一个合同,1个月交货。签合同的时候,连原理图都没有,结构都还没有设计。
在一个月的时间里面,完成了硬件开发、PCB生产加工、机箱设计加工、线缆设计加工。
当时我已经评估到有可能需要改一版,所以投第一版的时候,当时让一位小伙子画PCB,小伙子很猛,跟我说今晚通宵也帮我搞定!
我一夜睡得不踏实,夜里2点微信问他,没有恢复,一种不祥的预感。
果然,早上7点收到三个字:“没搞定!”
于是,我找一个帮手帮我画封装,我自己画PCB。由于在华为做硬件时,主要的开发工具是PPT,所以AD、PADS、EE、allegro都多年不上手,不熟练。现学现干!
从早上8点干到第二天4点,然后打车出发出差到深圳,到了深圳在出口边上的Costa把PCB画完,联系工厂,问他今天能不能搞定?
当时那位PCB工厂的老板姓崔,他跟我说:14点给PCB文件,24点之前发货,是不可能的。
我说:绿油可以不上、丝印不印;你再安排一个人今天就跟这个单子,我给你加钱!
后来,第二天杭州的同事就拿到了PCB板,开始焊器件做测试了。
3、一次性把事情做对!
其实,一次性把事情做对,才是最高的效率。
上面说的事情还有后续,为了加速拿到电路板,我们PCB上没有上绿油,一开始没啥问题。由于我们的设备现场是有很多水的,电路板是用于控制电磁阀的。现场除了一个事故,水管爆裂之后,所有板子都不能用了。
把水都清理干净之后,才能使用。虽然我们完成试制和初步验证的目的,但是所有你省掉的步骤都会回头找你麻烦。
硬件项目中,一次性把事情做对,是最重要的。因为返工才是最大的浪费,进度的最大障碍。
以前华为有些部门,过度的强调“一版成功”,弄得很多人后来为此KPI都去作假。但是“一版成功”是硬件工程师的应该追求的方向和目标。
这也是我们在我们的视频课程中提到的,我们需要把问题控制在早期。同样,我们设计需要规避很多风险,应该在投板前都考虑清楚。不能依赖一次次改板去试错。
为了减少错误,一次性把事情做对,我们常用的方法是:流程化、标准化、规定动作执行、评审、检视等方法。这些方法都会增加工作量,但是都能保证你一次性把事情做对,提高最终的交付进度。
4、加班
工程师:领导,我把板子画完再下班,你先走!
第二天领导问:为什么还没画完?
答:我没下班啊!
我们合理的做好前三点,计划制定合理,不要随意更改,不要需求蔓延。避免通过第四个方法!