我负责的一个上位机软件项目超期了,而且,是这是第二次超期了,客户直接把电话打到了公司老板那里,但是,老板对我却一点脾气没有,因为我早就跟他说过了这个项目不好做,可是他偏不信,直到项目第一次超期的时候,老板才对我的话有了一点相信。而第二次超期之前我就跟老板说了,可能会超期,所以,尽管客户已经把电话打到了老板那里,但我已经跟老板提前通过气了,我甚至跟老板说,如果项目管理不好,可能还会第三次超期!



事情是这样的,我们公司在年前接到了一个项目,是个机器视觉上位机项目。一开始接到这个项目,我其实是拒绝的,因为过去我在机器视觉项目上踩过很多坑,对于机器视觉项目是有点怵的,但老板说这个项目很简单,利润也很高,所以就让我仔细了解下项目需求再决定不迟!

然后我就简单了解了下项目需求,项目的确很简单,那就是在一个产品的平面上检测一些点的位置,具体细节这里就不透露了。

客户那边还寄来了这个产品的样品,这个产品是金属色的,所谓的点,其实是在金属表面滴的胶,这个胶是纯透明的,而且很薄,用肉眼几乎是看不到的。

我一看到这种产品,我的内心就有种隐隐得不安,开始就想拒绝,结果看了客户提供的相关资料以后,我直接让老板找外包去做这个项目,因为我知道这里面必有坑!

首先,这个项目是非标项目,其次,它属于改造项目,就是在原有设备基础上进行改造,而且,给我们固件留的安装位置很有限,而需要检测的面积却很大,检测精度要求还很高。

我之所以让老板找外包,就是因为在过去的项目经历中,这种项目的变数很大,虽然我们在公司会根据现场考察和客户提的要求做好实验,但是,一般来说,项目实际部署和运行过程中,肯定是会遇到新问题的!

最关键的是,这个项目报价约200万,利润估计就有180万,如果是个很好做的项目,为什么没其他友商去接呢?事出反常必有妖!

但是,最终我没有说服老板,因为我们根据客户提供的产品样品,在公司做了实验,实验表现非常好,而且,项目有坑仅仅只是我的直觉而已,一个公司不可能因为你的直觉就决定放弃一个项目或者交给外人来做!所以,我只能硬着头皮干了!

果然,当我们带着所有固件跑到客户那去部署以后,立马就出现了问题!

首先,是我们的固件做大了,客户那边提供的资料其实是有问题的,按照客户提供的资料,客户设备上留给我们的空间大概有50厘米左右,但是,当我们在现场部署固件的时候,客户那边一个操作员跟我们说,我们的固件可能会和他们其他部件撞上!

发生这种事情其实很正常,有时候客户那边的图纸比较旧,后续有新的东西加上去了,也属于新增部件,旧的图纸是不会弃用的,或者是负责给资料的那个人做事不细心,提供的资料不是最新的,都有可能发生这种情况。

于是,根据现有的资料,我们只能重新设计固件,但是,随之而来的新问题就又出现了!

因为固件变小了,因此之前在公司做的实验效果已经大打折扣了,其中最致命的问题就是视觉光源无法覆盖到我们需要检测的区域。

经过讨论,本来应该由硬件解决的问题,只能通过软件算法优化来解决了!也就是说,此时对我来说,任重而道远!经过评估,我觉得用算法解决应该不是问题,所以还是硬着头皮干了!

这是第一次延期,因为固件需要修改、算法需要重新优化,虽然是客户那边的失误,但是责任却是由我们来负!

当新的固件重新安装到位以后,软件和算法部分也写完了,老板很高兴得跟我说,让我在客户这边再观察两天,然后就可以收工回去了!

我劝老板不要太高兴,因为我那直觉告诉我,这个项目不会那么顺利!

果然,新的问题又来了!客户反映说,我们的软件本来运行得好好的,突然就无法检测了!于是,我立马跑到客户那边去看怎么回事!

问题其实也很简单,那就是虽然需要检测的产品是一样的,但是产品的材质却变了,反光比较严重,拍出来的照片根本看不到胶!

后来经过评估,我们觉得,现在的视觉方案还是得改!后来,我们改了好几次,发现想要兼容多种产品,使用同一种光源方案,很难实现。于是,我跟老板说,这个项目想要磕下来,是需要费一些周折的,而且需要花很多时间去验证。

这次,老板是真笑不出来了,因为需要花费的时间更长,所以项目再次超期已经不可避免,所以,当在超期以后,客户把电话打到老板那里,老板其实早就有了心理准备了!

此时,老板开始相信我的直觉了,还问我:“你觉得接下来还有什么不确定性的东西?你仔细想想,我们尽量提前避免!”

我想了想,实在是想不出来,但是,我直接跟老板说,第三次超期的可能性还是有的,而且,这种项目一旦出现多次超期,后面会越来越难做!

结语

所谓程序员的直觉,其实就是过去开发过项目中的经验累积,像我们公司做的这种非标机器视觉项目遇到的问题,其实在前期客户提供的资料里面很难发现端倪,虽然是客户的问题,但是客户会以我们考虑不周为由把问题甩给我们。当这种事情遇得多了,也就成了一种经验!

ad1 webp
ad2 webp
ad1 webp
ad2 webp