我負(fù)責(zé)的一個(gè)上位機(jī)軟件項(xiàng)目超期了,而且,是這是第二次超期了,客戶直接把電話打到了公司老板那里,但是,老板對(duì)我卻一點(diǎn)脾氣沒(méi)有,因?yàn)槲以缇透f(shuō)過(guò)了這個(gè)項(xiàng)目不好做,可是他偏不信,直到項(xiàng)目第一次超期的時(shí)候,老板才對(duì)我的話有了一點(diǎn)相信。而第二次超期之前我就跟老板說(shuō)了,可能會(huì)超期,所以,盡管客戶已經(jīng)把電話打到了老板那里,但我已經(jīng)跟老板提前通過(guò)氣了,我甚至跟老板說(shuō),如果項(xiàng)目管理不好,可能還會(huì)第三次超期!

事情是這樣的,我們公司在年前接到了一個(gè)項(xiàng)目,是個(gè)機(jī)器視覺(jué)上位機(jī)項(xiàng)目。一開(kāi)始接到這個(gè)項(xiàng)目,我其實(shí)是拒絕的,因?yàn)檫^(guò)去我在機(jī)器視覺(jué)項(xiàng)目上踩過(guò)很多坑,對(duì)于機(jī)器視覺(jué)項(xiàng)目是有點(diǎn)怵的,但老板說(shuō)這個(gè)項(xiàng)目很簡(jiǎn)單,利潤(rùn)也很高,所以就讓我仔細(xì)了解下項(xiàng)目需求再?zèng)Q定不遲!
然后我就簡(jiǎn)單了解了下項(xiàng)目需求,項(xiàng)目的確很簡(jiǎn)單,那就是在一個(gè)產(chǎn)品的平面上檢測(cè)一些點(diǎn)的位置,具體細(xì)節(jié)這里就不透露了。
客戶那邊還寄來(lái)了這個(gè)產(chǎn)品的樣品,這個(gè)產(chǎn)品是金屬色的,所謂的點(diǎn),其實(shí)是在金屬表面滴的膠,這個(gè)膠是純透明的,而且很薄,用肉眼幾乎是看不到的。
我一看到這種產(chǎn)品,我的內(nèi)心就有種隱隱得不安,開(kāi)始就想拒絕,結(jié)果看了客戶提供的相關(guān)資料以后,我直接讓老板找外包去做這個(gè)項(xiàng)目,因?yàn)槲抑肋@里面必有坑!
首先,這個(gè)項(xiàng)目是非標(biāo)項(xiàng)目,其次,它屬于改造項(xiàng)目,就是在原有設(shè)備基礎(chǔ)上進(jìn)行改造,而且,給我們固件留的安裝位置很有限,而需要檢測(cè)的面積卻很大,檢測(cè)精度要求還很高。
我之所以讓老板找外包,就是因?yàn)樵谶^(guò)去的項(xiàng)目經(jīng)歷中,這種項(xiàng)目的變數(shù)很大,雖然我們?cè)诠緯?huì)根據(jù)現(xiàn)場(chǎng)考察和客戶提的要求做好實(shí)驗(yàn),但是,一般來(lái)說(shuō),項(xiàng)目實(shí)際部署和運(yùn)行過(guò)程中,肯定是會(huì)遇到新問(wèn)題的!
最關(guān)鍵的是,這個(gè)項(xiàng)目報(bào)價(jià)約200萬(wàn),利潤(rùn)估計(jì)就有180萬(wàn),如果是個(gè)很好做的項(xiàng)目,為什么沒(méi)其他友商去接呢?事出反常必有妖!
但是,最終我沒(méi)有說(shuō)服老板,因?yàn)槲覀兏鶕?jù)客戶提供的產(chǎn)品樣品,在公司做了實(shí)驗(yàn),實(shí)驗(yàn)表現(xiàn)非常好,而且,項(xiàng)目有坑僅僅只是我的直覺(jué)而已,一個(gè)公司不可能因?yàn)槟愕闹庇X(jué)就決定放棄一個(gè)項(xiàng)目或者交給外人來(lái)做!所以,我只能硬著頭皮干了!
果然,當(dāng)我們帶著所有固件跑到客戶那去部署以后,立馬就出現(xiàn)了問(wèn)題!
首先,是我們的固件做大了,客戶那邊提供的資料其實(shí)是有問(wèn)題的,按照客戶提供的資料,客戶設(shè)備上留給我們的空間大概有50厘米左右,但是,當(dāng)我們?cè)诂F(xiàn)場(chǎng)部署固件的時(shí)候,客戶那邊一個(gè)操作員跟我們說(shuō),我們的固件可能會(huì)和他們其他部件撞上!
發(fā)生這種事情其實(shí)很正常,有時(shí)候客戶那邊的圖紙比較舊,后續(xù)有新的東西加上去了,也屬于新增部件,舊的圖紙是不會(huì)棄用的,或者是負(fù)責(zé)給資料的那個(gè)人做事不細(xì)心,提供的資料不是最新的,都有可能發(fā)生這種情況。
于是,根據(jù)現(xiàn)有的資料,我們只能重新設(shè)計(jì)固件,但是,隨之而來(lái)的新問(wèn)題就又出現(xiàn)了!
因?yàn)楣碳冃×耍虼酥霸诠咀龅膶?shí)驗(yàn)效果已經(jīng)大打折扣了,其中最致命的問(wèn)題就是視覺(jué)光源無(wú)法覆蓋到我們需要檢測(cè)的區(qū)域。
經(jīng)過(guò)討論,本來(lái)應(yīng)該由硬件解決的問(wèn)題,只能通過(guò)軟件算法優(yōu)化來(lái)解決了!也就是說(shuō),此時(shí)對(duì)我來(lái)說(shuō),任重而道遠(yuǎn)!經(jīng)過(guò)評(píng)估,我覺(jué)得用算法解決應(yīng)該不是問(wèn)題,所以還是硬著頭皮干了!
這是第一次延期,因?yàn)楣碳枰薷摹⑺惴ㄐ枰匦聝?yōu)化,雖然是客戶那邊的失誤,但是責(zé)任卻是由我們來(lái)負(fù)!
當(dāng)新的固件重新安裝到位以后,軟件和算法部分也寫完了,老板很高興得跟我說(shuō),讓我在客戶這邊再觀察兩天,然后就可以收工回去了!
我勸老板不要太高興,因?yàn)槲夷侵庇X(jué)告訴我,這個(gè)項(xiàng)目不會(huì)那么順利!
果然,新的問(wèn)題又來(lái)了!客戶反映說(shuō),我們的軟件本來(lái)運(yùn)行得好好的,突然就無(wú)法檢測(cè)了!于是,我立馬跑到客戶那邊去看怎么回事!
問(wèn)題其實(shí)也很簡(jiǎn)單,那就是雖然需要檢測(cè)的產(chǎn)品是一樣的,但是產(chǎn)品的材質(zhì)卻變了,反光比較嚴(yán)重,拍出來(lái)的照片根本看不到膠!
后來(lái)經(jīng)過(guò)評(píng)估,我們覺(jué)得,現(xiàn)在的視覺(jué)方案還是得改!后來(lái),我們改了好幾次,發(fā)現(xiàn)想要兼容多種產(chǎn)品,使用同一種光源方案,很難實(shí)現(xiàn)。于是,我跟老板說(shuō),這個(gè)項(xiàng)目想要磕下來(lái),是需要費(fèi)一些周折的,而且需要花很多時(shí)間去驗(yàn)證。
這次,老板是真笑不出來(lái)了,因?yàn)樾枰ㄙM(fèi)的時(shí)間更長(zhǎng),所以項(xiàng)目再次超期已經(jīng)不可避免,所以,當(dāng)在超期以后,客戶把電話打到老板那里,老板其實(shí)早就有了心理準(zhǔn)備了!
此時(shí),老板開(kāi)始相信我的直覺(jué)了,還問(wèn)我:“你覺(jué)得接下來(lái)還有什么不確定性的東西?你仔細(xì)想想,我們盡量提前避免!”
我想了想,實(shí)在是想不出來(lái),但是,我直接跟老板說(shuō),第三次超期的可能性還是有的,而且,這種項(xiàng)目一旦出現(xiàn)多次超期,后面會(huì)越來(lái)越難做!
結(jié)語(yǔ)
所謂程序員的直覺(jué),其實(shí)就是過(guò)去開(kāi)發(fā)過(guò)項(xiàng)目中的經(jīng)驗(yàn)累積,像我們公司做的這種非標(biāo)機(jī)器視覺(jué)項(xiàng)目遇到的問(wèn)題,其實(shí)在前期客戶提供的資料里面很難發(fā)現(xiàn)端倪,雖然是客戶的問(wèn)題,但是客戶會(huì)以我們考慮不周為由把問(wèn)題甩給我們。當(dāng)這種事情遇得多了,也就成了一種經(jīng)驗(yàn)!
熱門跟貼