一個上位機項目做了兩年多,甲方是真能忍!那么,是這個上位機項目比較難做嗎?其實不是的,而是做這個上位機項目的人沒有編程功底,之所以做兩年多,只能慢慢磨,一邊學習編程知識一邊做這個項目,得知這個事情后,我直豎大拇指:“甲方是真能忍!”
朋友公司的一個員工最近離職了,留下來一個爛攤子,據說這個員工本來是做PLC的,公司主要從事設備開發業務,一般軟件項目都是外包出去的。可是,在兩年前,公司的甲方突然要求公司幫他們在原先的上位機系統上再開發一套中間件上位機系統。
朋友本來準備拒絕,但是甲方說之所以讓他們開發,是因為這套系統牽扯的東西很多,走外包,甲方不放心,并且,因為這套系統只有朋友公司熟,所以也只能朋友公司能做。
甲方既然那么信任朋友,朋友只能答應下來,但是,朋友又不想多招個人導致有額外的開支,所以,就問公司里面幾個PLC程序員,問他們能不能學學上位機開發。
此時,朋友公司的員工老A站出來,說他正想學上位機開發,可以把這件事情交給他來做。
朋友看老A能夠站出來攬下這份責任,當然很開心,然后就問老A大搞需要多久能搞定,老A因為沒有上位機開發基礎,也拿不定時間,但是復盤了下開發需求,覺得自己差不多兩個月能搞定。
朋友特地去問了一些專業從事上位機開發的人,覺得這個需求最多一個月就可以搞定,老A說自己要兩個月,也是比較合理的,所以就拍了板,把這個開發需求交給了老A。
但是,誰知道,原本老A承諾的兩個月,最后搞了兩年多,最近才上線!老A也被這個項目搞得心力交瘁,提了離職,到底怎么搞得呢?
原來,這個上位機程序看起來簡單,但是實際上涉及到很多圖形界面、圖形繪制、還有各種復雜的算法。
本身這個上位機軟件即使是專業從事上位機開發的程序員,開發起來都比較吃力,更何況是像老A這樣沒有一點上位機編程基礎的PLC程序員了!
就這樣,一個圖形界面搞一個月,另外一個圖形繪制搞兩個月,研究A算法又搞一個月,研究B算法又搞一個月,就這樣,時間慢慢就堆到了兩年多!
最近,老A總算實現了甲方要求的所有功能,但是此時的老A已經不像當初剛剛接觸這個項目那樣對這個項目抱有一邊學習一邊開發的態度了。
兩年時間,一個事情做不成,足夠把一個人的耐心給磨沒了,所以,即使老A完成了這個項目,但是他干得他是心力交瘁,實在不想再面對這個項目了,所以就干脆辭職了!
老A辭職以后,換朋友著急了,因為老A花兩年做完了這個項目,一旦他走了,這個項目就又沒有人維護了,于是,朋友想把這個項目交給我,讓我好好把老A的代碼捋捋,因為他知道,老A的編程水平不咋樣,相信寫出來的代碼肯定不好維護。
我拿到老A寫的代碼,果然和朋友想的那樣,老A的代碼寫得非常凌亂,大量代碼都是互相套著寫出來的,重復性的代碼寫了很多。
但是,這也不奇怪,老A畢竟不是專業的上位機程序員,而且是PLC開發出身,寫的代碼有點逐過程的意思,因此也不知道把一些重復性的工作進行封裝。
但是,老A其實已經很厲害了,因為代碼里面涉及到很多復雜的圖形處理和一些數據處理的算法,對于一個非專業程序員,能寫出來已經很厲害了!
夸完老A,我好奇地問了下朋友,他是怎么讓他的甲方能忍住兩年去讓他們開發這個項目而不發火的。
朋友無奈得跟我解釋,他們(甲方)也是沒有辦法,因為甲方用的設備,除了設備開發商,只有我朋友是知根知底的,里面牽扯到上千個零部件,一般公司根本接不了這個項目。
再者,如果讓設備開發商去開發這個項目,那么開發費用也不低,如果去找其他第三方的外包公司,一來外包公司熟悉這套設備需要時間,二來,如果外包公司如果因為不熟悉設備,會有生產風險。即使是有外包公司能夠避免這種風險,那么熟悉這套設備的底層運行邏輯,沒有三五個月也是不行的。
所以,綜合考慮,雖然朋友的公司不具備開發這個項目的能力,但是,甲方只能選擇朋友的公司。
但是,老A開發這個項目的時間畢竟也太長了,我大概看了下老A寫的整套代碼,其實如果寫這套軟件的人足夠專業,其實真的只要一個月就可以了,比如我!(有點自夸,但的確是這樣)
結語
我覺得,朋友公司的甲方之所以能夠容忍一個上位機項目做兩年才交付,其實道理很簡單,因為這邊上位機程序本來就是一個中間程序,即使有,也只是錦上添花,沒有,也不會影響他們設備的正常生產。
另外,從各項成本上去考慮,反正老A已經做了那么久了,中間如果換別人開發,一樣是要耗時間,所以,只能指望老A了。
但這里面最慘的還是老A,一個項目把自己的自信心和耐心給干沒了!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.