加速度(一):立体思维

2017-06-28  本文已影响29人  114ec58b6b48

前段时间参加了一个项目的程序编写。主要是针对PCB板上贴的标签二维码扫描内容的防呆。近几年发生了不少有关漏测板的客诉,所以扫描必须要求标签系列号连续。于是召开了部门长和相关人员的具体对策会议。主要讨论了不良板重测次数的问题,同一LOT程序中途退出后的连续问题,和统计测试良品总数量的问题。

由于之前有过一些经验,会上比较爽快的就答应了。毕竟算法不是很复杂。

没想到匆匆改完程序,进入试用阶段。噩梦才刚刚开始。

现实设备环境的复杂,测试流程的多样。让程序几乎寸步难行,有时甚至出现一些奇怪的错误。

会上讨论不良板只能重测一次,但实际情况是,该类型板测试项目复杂,很容易不良,而技术员重测一次根本是找不到真正原因。实际上的良品不得不打单送修。当天就堆积了很多不能重测出货的良品。这个就没考虑到实际生产的情况,虽然程序实现简单,但不适用。

同一LOT程序退出后的系列号连续问题则更严重。首先,未考虑到退出前最后一个系列号是不良品的,这样需要在不良品系列号基础上加1或能重测最后不良品。其次,一般是两台设备同时测同一LOT,而且总有一台设备先测完。那么,没测完设备剩下的标签要分一部分到另一台。这一部分标签几乎做不到和任何测试完成的系列号连续。

而最后关于测试良品总数量的统计,由于两台设备测试,中途经常会退出程序。基本上认为这个功能的必要性不大。

以上是对最近一个改善的大致复盘。事后的程序复杂度几乎是事前预估的三倍。我想自己是一步步掉进了实际生产的坑。

现在想想,事前单方面从理想模型上考虑程序,根本未调查实际产线使用情况。所谓的立体思维,就是要穿过事情的表象,从更广泛的角度去理解问题。发现事物之间的关联,相互的影响。

而与之对立的线性思维,就是只考虑单一维度的因果关系,看不到更多方向,更曲折的内在关系。显然,我踩的坑就是由于未考虑程序在实际应用流程中的相互影响。

再举一个例子,大多数企业招聘时,似乎没必要考察应聘者的英语水平。很显然,很多工作用不到嘛,而且用翻译软件也可以很方便应付一些问题。但仔细想想,英语水平差不多可以表示一个人在学生时代的用心程度。英语是一个靠积累的学科,一环没学好,后面需要努力学习才能补上来。其他学科有一些是可以临时抱佛脚的。所以当没有更好的方法,参考英语水平可以在一定程度上判断一个人的学习态度。

其实我们常说的要举一反三也是立体思维的具体体现。一件事往往不是孤立的,与它类似的有很多,与它相互影响的有更多。此时是这个出了问题,那同种类型的,与它相关的也一定要核查一下,这样就可以避免多次掉进差不多的坑。

当推开一扇窗时,鸟语花香扑面而来,此时,绝不仅仅是眼前的美好。可能,春天已经来了。

上一篇下一篇

猜你喜欢

热点阅读