我做过这样一个奇怪的设计。
当时的情况是,需要对N条日产量上万的生产线做追踪,当产品发现缺陷时,可以追踪到到底是哪一条生产线的产品,由于每条生产线都可能采用了特别的组装方法,我们需要从数据分析的角度鉴定他们的优劣,以便持续改进。
好了,背景介绍完了,开始做软件,这其实挺简单的,一个输入框采集产品条码,一个输入框采集生产线识别码,提交之,完工。
后来我被领导奖励,领导以为这玩意很牛X,我几天就搞出来了,口头奖励外加共进午餐(领导的餐标不一样哦)。
然而部署的时候,我却被骂的狗血淋头,因为这玩意太难输入了,本来一天上万的产量,就很忙了,还要每一个产品登记一次,态度是:决不能接受!(没有几个开发人员敢光溜溜的站在第一线用户周围接受责难,但我每次都这么干,因为我认为这是做软件最有意思的部分,不论挨骂还是夸奖,别人没有忽视你的存在!)
我前面分享过对需求的态度(我不太迎合需求),但是我对部署异常的讲究,但凡部署不下去(部署完出现大拇指为标准),我都强制要求改进。
撤掉了全部的统计工作台,组装人员贴上一个条形码,表明这个东西是我做的,让采集信息的任务流到后面再做,所有N条线的数万个产品由一个统一的人采集,这样,生产线的负担就小了很多,贴标签就完事。再培养了一个人,熟练之后,专门应付采集任务,杠杠的!
故事还没有结束,这万恶的标签给我带来了新的思考。由于每天的量大,一个标签的成本算2毛钱,一天下来也是几千块大元,肉疼啊!
由于生产线识别码类似于:00000000000001、00000000000000002
其实有效位只有1位,我就打印更短的条形码,比如00000001,、00000002 ,不能太短,太短识别不起来
当我们把条码缩短到四位时(0001),就发现很容易出错了,常常错识别个把位,这让我很头疼,因为缩短到4位,就能把一个条形码切割为8份,再刀工好一点,也许12份也行啊。
这时候,我想出一个扯淡的招:让条形码的0001变成1111,即使扫描枪错识别了一位比如11x1,但是1还是出现次数最多的字符,我可以认出来,以出现次数最多的字符为准。
详细测试后,我们得到修正后正确率就是100%,我欣喜若狂!这还意外的导致不必选购优良的条码纸,综合费用降低为几十分之一以下,一天划下来100元之内,问题得到了解决。
这只是一个小小的问题,其实条码的问题不关我的事,如果我双手一摊,表示费用高那没办法,那么公司每天就损失几千元,如果我因为费用高不追踪缺陷来源,那么产线得不到科学的数据支撑,如果xxxxxxx
条码这个小身材,给了我大味道!为什么程序员要感到很骄傲,就是因为我们可以去创造!怎么样我们才能感到骄傲?就是在最平凡的问题上,你敢不敢站出来,一直不停的节约时间、节约费用、创造价值,并真的做到。
为了荣誉,我要求我自己融入到用户里,从他们的角度,用他们的方式,感受他们自己,如果这个软件很费事,我就真实的干上一天,看看到底多费事,有时候人很贱,你不切身去体会,你以为你知道了一切,其实你什么都不知道,所以,真实的用自己的软件吧,不方便时不要停手,累死你自己,你才知道你做的软件不是个东西!
这件事过去了很久,但我常常拿来说一说,告诫我们的每一个成员,不管新来的还是老油条:软件要负责到底!
嗯,负责到底,简单的一句话,使我在软件开发的路上走着小小的脚步,品尝大大的味道!