• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

工程師的工作量似冰山,水面下的80%讓小習(xí)誤工期又失獎金

2016/05/05
14
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

?

據(jù)說大西洋上的冰山 90%是在水面以下,當(dāng)船只靠近冰山的時候,其實水面以下說不定已經(jīng)碰上了,當(dāng)年鐵達(dá)尼號就是這樣撞到冰山的。冰山是自然現(xiàn)象,聯(lián)想到社會現(xiàn)象也是一樣,由于對一件事情的認(rèn)識、參與程度不一樣,認(rèn)識的程度也不一樣。這其實非常正常,人對客觀事物得學(xué)習(xí),才會得出主觀得結(jié)論和看法。這就會產(chǎn)生爭論,你要不要堅持自己的觀點?如果你的觀點經(jīng)過驗證是錯誤的怎么辦?

從我們的一個實際項目說起。

有一家企業(yè)需要訂購一款新的農(nóng)業(yè)消毒液生產(chǎn)設(shè)備的控制器,對方看重了我們公司成熟的 A 產(chǎn)品,但是在 A 產(chǎn)品的基礎(chǔ)上提出了新的需求,并且向我們提交一份需求文本。相關(guān)負(fù)責(zé)人將文本交給了我,我看了對方的需求,從技術(shù)上來說問題不大,于是就在內(nèi)部文件上簽字認(rèn)可了。很快負(fù)責(zé)人和對方簽訂了開發(fā)合同,這個項目正式啟動了。


在 8 月 10 號我接到了任務(wù)單,任務(wù)單的完成日期是 9 月 26 日,看到這個交貨時間我非常差異,如果項目順利進(jìn)行的話,硬件在 8 月底或者 9 月初是可以制作完成的,剩余 26 天時間做軟件部分,除去 6 天周末假日,20 天完成這個項目軟件設(shè)計幾乎不太可能。

我意識到需要立刻找領(lǐng)導(dǎo)匯報,軟件設(shè)計需要更多的時間,因為對方已將提供需求文件,另外有 A 產(chǎn)品作為基礎(chǔ),需求非常明確。但是軟件編寫也是需要時間的,而且一個程序員每天能完成多少代碼量是可以計算的,20 天時間無論如何加班也是無法完成的。

第二天早晨我一大早找到領(lǐng)導(dǎo)張總:

“張總,這個任務(wù)單是您制定的吧?”

“是啊。”張總回答得很自然。

“現(xiàn)在離 9 月 26 日只有 45 天,如果我們在 9 月初完成硬件設(shè)計,剩下 20 天做軟件部分,這很難完成,所以我建議把交貨時間定在 10 月下旬比較合適?!?/p>

“這款產(chǎn)品是在咱們 A 產(chǎn)品的基礎(chǔ)上改進(jìn)的,應(yīng)該用不了那么太長時間吧。”張總反駁。

“即使不存在任何技術(shù)難度,但畢竟有那么多代碼,工作量非常大。如果我們時間定在 9 月 26 日,無論任何是不能完成的。”我繼續(xù)爭取。

“在 A 產(chǎn)品的基礎(chǔ)上設(shè)計,應(yīng)該不存在什么問題,沒這么麻煩!”張總堅持。

“畢竟軟件需求、菜單、控制方式發(fā)生了很大的變化,沒有太多可重用性,您考慮一下吧。”我重新強(qiáng)調(diào)了一下工作量。

“那么簡單得東西,怎么會這么復(fù)雜?”

一聽到這句話,我腦子翁的響了一下,我終于知道領(lǐng)導(dǎo)認(rèn)為 45 天能完成的理由了。這件事情簡單,那什么是復(fù)雜?我好半天終于問了他一個問題。

“您知道 A 產(chǎn)品代碼有多少行嗎?”

“不了解?!?/p>

“7500 行以上。”

“怎么那么多,我覺得只有幾個模擬量和數(shù)字量顯示,一兩千行差不多了。”

“那是您看見的,硬件驅(qū)動 1K 左右,運(yùn)行界面確實只有 0.5K。但是 A 產(chǎn)品有 12 個參數(shù)設(shè)定菜單,每個參數(shù)設(shè)定就有一個設(shè)定界面,另外還有故障保護(hù)等。這些您想過沒,也許產(chǎn)品安裝調(diào)試完成后,這些參數(shù)可能永遠(yuǎn)不需要更改。這些代碼也許永遠(yuǎn)不會執(zhí)行,但是這些代碼總是存在的。產(chǎn)品經(jīng)常運(yùn)行代碼只占到總體 5%至 10%左右,但 90%死代碼是永遠(yuǎn)存在的。而現(xiàn)在僅參數(shù)就有 18 個,您算一下吧?!蔽依^續(xù)解釋。

?

“合同已經(jīng)和客戶商定了,如果延期可能會很麻煩,你加加班,趕一下時間?!睆埧傆悬c不耐煩了,其實我也有點沉不住氣了。

“IBM 公司的經(jīng)驗是一位合格程序員每天代碼量 200~300 行,基本就是 200 行多一點。按照現(xiàn)在軟件需求我估計代碼量會超過 1 萬行,20 天也就能完成一半,如果因為我的能力問題需要加班,我沒有意見,但是我不能為一個明知有問題還不更改的決定買單?!蔽覀兊恼勗捊Y(jié)束了,張總認(rèn)為非常簡單得事情,而我認(rèn)為根本無法完成,我們誰也不妥協(xié)。


第二天,我得到張總的通知,這個項目交給同事小習(xí)負(fù)責(zé)了,和我沒有關(guān)系了。公司是按照項目考核我們的工作量的,失去這個項目意味著我的績效會受到影響,但是我不愿跳進(jìn)已經(jīng)明確知道的陷阱里。小習(xí)沒有參與 A 產(chǎn)品的設(shè)計,我該不該提醒一下?我考慮了好半天決定,主動找小習(xí)有點不合適,如果小習(xí)主動找我我決定明確告訴他實情。

在 9 月 1 號硬件設(shè)計完成了,小習(xí)向我索要 A 產(chǎn)品的軟件代碼,因為是我負(fù)責(zé)編寫的,我告訴他,如果有不明白得地方可以問我。

二十幾天時間很快過去了,硬件設(shè)計沒有太多問題,雖然小習(xí)非常賣力,但是 20 天確實無法完成那么多代碼的編寫。中午飯小習(xí)和我同一桌,我懷疑他有話跟我說,因為小習(xí)是回民,我是漢民,吃飯還真湊不到一塊兒。

“駱駝不夠意思,你不愿意做的事情,踢給我,這回我算倒霉了?!毙×?xí)向我訴苦。

“小習(xí),不是我給你,是張總派給你的,現(xiàn)在完成怎么樣了?”我不知道該怎么說。

“我感覺至少還需要一個月以上,但是張總催的太緊,搞得我頭暈?zāi)X脹?!?/p>

我不知道該說什么,我總不能說我未卜先知吧。想了好半天,“事情已經(jīng)這樣了,和張總溝通一下,把時間延期到一個合理時間,不要老加班,我們得工作又不是計件,休息不好效率不高。”

“哎!下午找張總談一下,也只能這樣了。”小習(xí)無可奈何,“駱駝,張總當(dāng)時讓你負(fù)責(zé),你為什么拒絕了?”

“哦!當(dāng)時事情太多顧不上?!蔽抑荒苷覀€理由。

“不是吧,如果你知道無法完成,而不告訴大家,那就太不夠意思了?!毙×?xí)有點責(zé)怪我的意思,我沒有再說什么。

時間過的很快,國慶有 7 天長假后 10 月上旬就基本結(jié)束了,但是小習(xí)的工作還是沒有完成。小習(xí)的專業(yè)水平也算不錯??磥砦以瓉砉烙?10 月下旬完成估計的還是有問題。

一天上午,小習(xí)來找我詢問 A 產(chǎn)品的控制方法實現(xiàn),一連兩個月加班,小習(xí)非常累。

“駱駝,你當(dāng)時接到這個項目時,和張總談沒談這個項目的時間問題?”

“大概說了一下,怎么了?”

“張總當(dāng)時說你太忙,把這個項目交給我,問我能不能按時完成,我感覺沒有難度就答應(yīng)了,你看看現(xiàn)在。。。。真是沒法說!”

“為什么感覺沒有難度?”我有興趣了解一下小習(xí)接活時的想法。

“當(dāng)時我感覺 A 產(chǎn)品非常簡單,對方需求又非常明確感覺應(yīng)該沒有太大的問題。其實當(dāng)我看到 A 產(chǎn)品的源程序時就感覺可能有問題,但是已經(jīng)答應(yīng)張總了,只好硬頭皮硬上了。”

“小習(xí),這樣得項目我們單位隨時都會有,這不是關(guān)系公司生死存亡的事情,要以平常心態(tài)對待。能完成就完成,不能完成提前告訴領(lǐng)導(dǎo),領(lǐng)導(dǎo)會有辦法的,不要把自己搞的那么被動。需要什么條件告訴領(lǐng)導(dǎo)就行了,讓領(lǐng)導(dǎo)幫助你解決?!?/p>

“我感覺在 11 月底完成就不錯了?!毙×?xí)說的這個時間應(yīng)該比較有把握。

“那你就在這個基礎(chǔ)上再加一周,向領(lǐng)導(dǎo)申請一下延期吧,事實是客觀的,必須客觀面對?!蔽医ㄗh小習(xí)。

?

在 12 月的第一周,小習(xí)得項目完成了。因為比原計劃延期兩個月時間,項目獎金幾乎就沒有了。小習(xí)當(dāng)然非常不高興,星期五下班后請我吃飯,我同意了。


“駱駝,先干一杯,我有事情問你。”小習(xí)給我倒了滿滿一杯,我只好干了。

放下杯子,小習(xí)真得問我了,“駱駝,你當(dāng)時不愿意做這個項目,是不是已經(jīng)知道不可能按時完成了?”

???
我想說不知道那是不可能,小習(xí)猜也能猜到?!笆堑模耶?dāng)時感到在 20 天時間根本不能完成軟件得編寫,所以建議張總更改計劃?!?/p>

“張總說是你太忙才交給我,他沒有說你認(rèn)為時間不夠?!毙×?xí)有點不明白。

“事情都過去了,這些都不重要了。認(rèn)真總結(jié)一下,以后注意就行了。”我只好安慰小習(xí)。

“駱駝,事情看起來挺簡單得,你是憑什么判斷根本不可能按時完成?”

“小習(xí),我從來沒有認(rèn)為一件事情簡單過。任何事情都有其內(nèi)在規(guī)律。如果認(rèn)為編寫軟件簡單,那么造一顆原子彈也沒什么復(fù)雜得,直接用中子打到鈾中產(chǎn)生鏈?zhǔn)椒磻?yīng)就可以了。說什么事情簡單,只能說你對這件事情了解的深度不夠。每天能完成多少工作量是一定的,估計一下總體需要工作量就可以得出總共需要的時間?!?/p>

“你是怎么估計總體工作量的?”

“根據(jù)歷史經(jīng)驗估計大概,然后乘一個 1.3 系數(shù),也就差不多。這個其實并不科學(xué)。但是也算一個參考。經(jīng)歷項目多了也就能估計比較準(zhǔn)確?!?/p>

如果對一件事情了解到一定深度,就會發(fā)現(xiàn)每件事情其實非常復(fù)雜。如果您認(rèn)為事情非常簡單,也許可能您看到只是水面以上的冰山。
?

與非網(wǎng)原創(chuàng)系列,謝絕轉(zhuǎn)載!

系列匯總:

之二十八:工程師的宅男時光:無意間練就了一身“編程神功”

摘要:駱駝曾將有一段失業(yè)在家的時光,無聊之余,他學(xué)習(xí)了 c 語言編程 ...

之二十七:工程師:好書不是太“膚淺”,是大道至簡

摘要:推薦一個新同事學(xué)習(xí) C 語言,他說這本書講得太膚淺,后來經(jīng)過慢慢的琢磨,他覺得這本書其實很有價值 ...

之二十六:工程師小李辭職記:老板的“情深意切”其實是個坑

摘要:老板一直不漲工資,于是小李提出了辭職,但是老板確讓他薪水翻倍 ....

之二十五:工程師:別被“等我有錢了再 ...”這句名言給害了

摘要:偶然的一次機(jī)會別人送了駱駝一臺咖啡機(jī),駱駝一直想等買房子了再安裝上喝吧,結(jié)果新房裝修好的時候機(jī)器已經(jīng)碎了 ...

之二十四:工程師的時間就像海綿里的水,擠擠就能接個“私活兒”

摘要:駱駝最近接了個私活,可是兩個月過去了他卻還沒開始執(zhí)行,因為實在太忙,公司忙,家里還忙,可是答應(yīng)別人的事情總不能食言吧 ...

之二十三:馬領(lǐng)導(dǎo)的“勤勞”卻給我們平添許多愁

摘要:公司空降了一位馬領(lǐng)導(dǎo),天天很勤奮,早出晚歸,還要大家都向他學(xué)習(xí),駱駝變得更加忙碌了 ...

之二十二:你讓員工吃大鍋飯,員工更會磨洋工!

摘要:沒有鼓勵就沒有動力,在公司里同樣適用,如果你對員工的突出貢獻(xiàn)視而不見,他們就會想別的辦法 ...

之二十一:為了省下印刷費(fèi),老板把產(chǎn)品說明書縮成了 4 頁紙

摘要:產(chǎn)品說明書印刷成 10 頁和 4 頁的區(qū)別是什么?或許你會說省下很多客服電話,這位老板卻說會省下很多錢 ...

之二十:奮斗在城中村的“光輝歲月”

摘要可能很多人都有過城中村的奮斗史,那段時光收入低,但是內(nèi)心充實,工作忙,但精神奕奕,因為心中有一個希望不斷在呼喚,我要走出城中村,F(xiàn)ighting?。●橊劚敬畏窒淼氖撬诔侵写宓墓适?。

之十九:郭老板,隨你大聲吼,我走

摘要:如果你遇到一位愛大聲吼叫的老板會怎樣?留下悉心指導(dǎo),還是拍拍屁股走人?駱駝遇到的這位可是他的朋友 ...

之十八:老板,我是程序員不是“組裝工”

摘要:梁程本來是程序設(shè)計的,負(fù)責(zé)公司的好幾個項目,但是老板卻一直讓他親自燒寫程序,而且不見有讓生產(chǎn)幫忙的跡象 ...

之十七:讓軟件工程師去修復(fù)硬件問題,咋下手?

摘要:軟件工程師和硬件工程師的職責(zé)分明,相互合作才能做出好的產(chǎn)品,但是如果硬件出問題了非要軟件工程師解決會出現(xiàn)什么結(jié)果?

之十六:競爭對手的五折價格戰(zhàn),耗不起!

摘要:合作多年的公司忽然告訴我們要停止供貨,原因是競爭對手開發(fā)了一款價格低廉而性能一樣的產(chǎn)品,于是老板決定要我們開發(fā)一款同樣的產(chǎn)品來和競爭對手競爭,等產(chǎn)品開發(fā)出來以后不料客戶又有了升級版,我們繼續(xù)死磕嗎?

之十五:一款產(chǎn)品的成敗在與細(xì)節(jié)

摘要:朋友想要按照市場比較成熟的產(chǎn)品設(shè)計一款類似的產(chǎn)品,隨后緊鑼密鼓開始設(shè)計硬件和軟件,完成以后發(fā)現(xiàn)在細(xì)節(jié)上有很多缺失,這引起了我對產(chǎn)品細(xì)節(jié)的考慮 ...

之十四:一個任務(wù),可以從第二項開始做

摘要:朋友托我給他編寫一本技術(shù)手冊,我思量半天遲遲無法下筆,后來女兒拿著玩具過來讓我?guī)退龘Q電池,問我為啥不能從第二個句開始,我豁然開朗,可以從自己會的先開始,靈感慢慢積累 ...

之十三:上帝遞給你一個機(jī)會,你敢接嗎?

摘要:上帝是一個推銷員,她無時無刻都在想你推銷各種機(jī)會,你只需要邁出一步就可以接住。機(jī)會在與把握,如果你不去把握,再好的機(jī)會也不屬于你。從我同事小張和小李兩個人的例子可以看出 ...

之十二:富二代也愁“娶妻”

摘要:我的同學(xué)李華是家里的獨生子,1995 年西安開始建設(shè)大明宮遺址公園,李華家剛好沒在規(guī)劃之內(nèi),于是一下子過上了小康的生活,說媒的踏破門廳,可是偏偏他母親對姑娘的要求很高,最后 37 歲還沒對象 ...

之十一:給自己挖一口“井”

摘要:我同學(xué)講了一個關(guān)于兩個小和尚挑水的故事,不是大家聽到的那個版本,如今我同學(xué)已經(jīng)成了當(dāng)?shù)氐钠髽I(yè)主,這與給自己挖井有關(guān),每個人都應(yīng)該為自己挖一口井,以備不時之需 ...

之十:職場菜鳥:M3 還是 C51?

摘要:公司新來的小伙兒問我應(yīng)該選擇從 M3 開始學(xué)習(xí)單片機(jī)還是從 C51 開始?我當(dāng)然提議是 M3,但是他卻擔(dān)心沒有 C51 的基礎(chǔ)不好入門!那就從 M3 和 C51 的價格、市場發(fā)展趨勢和占有率來分析一下吧 ...

之九:兩瓶啤酒斷送大好前程

摘要:由于公司規(guī)模的擴(kuò)大和業(yè)績的激增,公司計劃提拔一些中層管理人員去北京總部任職,而這個名單里就有駱駝的名字,喜從天降,駱駝心情大好,可是在交接完工作之后的一次偶然事件讓他失去了這次機(jī)會,而且工作也不得不換 ...

之八:想省勁兒多動腦

摘要:每天熬夜寫程序,后來才發(fā)現(xiàn)一直是白天寫晚上改,晚上寫白天刪,周而復(fù)始,效率低下。后來認(rèn)識了公司里的李工,他每天的工作悠閑有序,看上去很輕松,后來才知道他的高招兒,多動腦少動手 ...

之七:工程師愛上家務(wù)活兒

摘 要:由于母親身體的緣故,駱駝將三歲的女兒從老家接到西安照顧,由于愛人的工作很忙,于是駱駝不得不肩負(fù)起照顧女兒的重任,從此周末再無閑暇,買菜、做 飯、整理屋子、帶女兒出去游玩填滿了他的生活,重負(fù)之下他想到了辭職,老板的挽留讓他堅持下來,最后竟然發(fā)現(xiàn)自己多年的工程師職業(yè)病竟然好了 ...

之六:越簡單坑越深,跳進(jìn)去出不來

摘要:公司小李由于技術(shù)功底扎實,在軟件業(yè)務(wù)部受到器重,準(zhǔn)備提拔為項目組長,后來因為隨口接了朋友一個硬件設(shè)計項目而荒廢了本職工作,最終看似簡單的項目做了半年之久都沒有實現(xiàn),于是找駱駝?wù)埥?...

之五:做個勇敢的小馬,親自探探河水的深淺

摘要:公司接到一個大單,大家都眉開眼笑,可是到交貨的時候卻遇到了不可調(diào)和的難題,作為新手的我自然不受上司重視,該研究還是不該研究呢?

之四:拖到辭職也沒翻開書

摘要:小李是我們單位的資深工程師,產(chǎn)品量產(chǎn)以后,小李的工作只需要維護(hù)即可,于是日子變得清閑起來,每天網(wǎng)絡(luò)小說度日,有一天良心發(fā)現(xiàn)需要學(xué)習(xí)新知識,跟上技術(shù)更新的步伐,可是遲遲不肯開始 ....

之三:再好的專業(yè),技術(shù)也要扎實才行

摘要:老板的親戚來公司上班,還是名牌大學(xué)的碩士,聽說資歷很深,可是不喜歡和人交流,拿出一個小項目做實踐,一個很小的板子焊接了三天,后來他竟然問了這樣一個問題 ...

之二:老板的外甥:“朝里”有人也別太任性

摘要:老板的外甥保送了西安某大學(xué)的研究生,想趁暑假來公司實習(xí),順便學(xué)習(xí)點實際知識,于是老板把他托付給了駱駝,結(jié)果這小子基礎(chǔ)知識沒有,還不想踏實補(bǔ)充基礎(chǔ),好高騖遠(yuǎn),只想一下子學(xué)到真本事 ....

之一:技術(shù)創(chuàng)新更得力

摘要:一位參加工作 3-5 年的工程師,憑借目前的新技術(shù),其工作能力可以達(dá)到工作 30 年的老工程師 90%的水平甚至超越。由此可見,年輕人憑借新技術(shù)完全可以挑戰(zhàn)權(quán)威,可見新技術(shù)的爆發(fā)力 ...

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

早年從事軟件測試工作,2002年從事C語言教學(xué)。同年設(shè)計了視音頻切換器,用于硬盤播出機(jī)。次年開始從事熱電偶檢測裝置的設(shè)計。2010年從事現(xiàn)代農(nóng)業(yè)管理機(jī)的設(shè)計。2012年從事電力行業(yè)的FTU設(shè)計與研發(fā),成功編寫了FTU軟件。2013參與了塔吊安全監(jiān)控設(shè)備開發(fā)。10多年來對C語言情有獨鐘。略懂verilog。