?
據(jù)說大西洋上的冰山 90%是在水面以下,當船只靠近冰山的時候,其實水面以下說不定已經(jīng)碰上了,當年鐵達尼號就是這樣撞到冰山的。冰山是自然現(xiàn)象,聯(lián)想到社會現(xiàn)象也是一樣,由于對一件事情的認識、參與程度不一樣,認識的程度也不一樣。這其實非常正常,人對客觀事物得學習,才會得出主觀得結(jié)論和看法。這就會產(chǎn)生爭論,你要不要堅持自己的觀點?如果你的觀點經(jīng)過驗證是錯誤的怎么辦?
從我們的一個實際項目說起。
有一家企業(yè)需要訂購一款新的農(nóng)業(yè)消毒液生產(chǎn)設備的控制器,對方看重了我們公司成熟的 A 產(chǎn)品,但是在 A 產(chǎn)品的基礎上提出了新的需求,并且向我們提交一份需求文本。相關負責人將文本交給了我,我看了對方的需求,從技術上來說問題不大,于是就在內(nèi)部文件上簽字認可了。很快負責人和對方簽訂了開發(fā)合同,這個項目正式啟動了。
在 8 月 10 號我接到了任務單,任務單的完成日期是 9 月 26 日,看到這個交貨時間我非常差異,如果項目順利進行的話,硬件在 8 月底或者 9 月初是可以制作完成的,剩余 26 天時間做軟件部分,除去 6 天周末假日,20 天完成這個項目軟件設計幾乎不太可能。
我意識到需要立刻找領導匯報,軟件設計需要更多的時間,因為對方已將提供需求文件,另外有 A 產(chǎn)品作為基礎,需求非常明確。但是軟件編寫也是需要時間的,而且一個程序員每天能完成多少代碼量是可以計算的,20 天時間無論如何加班也是無法完成的。
第二天早晨我一大早找到領導張總:
“張總,這個任務單是您制定的吧?”
“是啊。”張總回答得很自然。
“現(xiàn)在離 9 月 26 日只有 45 天,如果我們在 9 月初完成硬件設計,剩下 20 天做軟件部分,這很難完成,所以我建議把交貨時間定在 10 月下旬比較合適?!?/p>
“這款產(chǎn)品是在咱們 A 產(chǎn)品的基礎上改進的,應該用不了那么太長時間吧?!睆埧偡瘩g。
“即使不存在任何技術難度,但畢竟有那么多代碼,工作量非常大。如果我們時間定在 9 月 26 日,無論任何是不能完成的?!蔽依^續(xù)爭取。
“在 A 產(chǎn)品的基礎上設計,應該不存在什么問題,沒這么麻煩!”張總堅持。
“畢竟軟件需求、菜單、控制方式發(fā)生了很大的變化,沒有太多可重用性,您考慮一下吧?!蔽抑匦聫娬{(diào)了一下工作量。
“那么簡單得東西,怎么會這么復雜?”
一聽到這句話,我腦子翁的響了一下,我終于知道領導認為 45 天能完成的理由了。這件事情簡單,那什么是復雜?我好半天終于問了他一個問題。
“您知道 A 產(chǎn)品代碼有多少行嗎?”
“不了解?!?/p>
“7500 行以上?!?/p>
“怎么那么多,我覺得只有幾個模擬量和數(shù)字量顯示,一兩千行差不多了?!?/p>
“那是您看見的,硬件驅(qū)動 1K 左右,運行界面確實只有 0.5K。但是 A 產(chǎn)品有 12 個參數(shù)設定菜單,每個參數(shù)設定就有一個設定界面,另外還有故障保護等。這些您想過沒,也許產(chǎn)品安裝調(diào)試完成后,這些參數(shù)可能永遠不需要更改。這些代碼也許永遠不會執(zhí)行,但是這些代碼總是存在的。產(chǎn)品經(jīng)常運行代碼只占到總體 5%至 10%左右,但 90%死代碼是永遠存在的。而現(xiàn)在僅參數(shù)就有 18 個,您算一下吧。”我繼續(xù)解釋。
?
“合同已經(jīng)和客戶商定了,如果延期可能會很麻煩,你加加班,趕一下時間。”張總有點不耐煩了,其實我也有點沉不住氣了。
“IBM 公司的經(jīng)驗是一位合格程序員每天代碼量 200~300 行,基本就是 200 行多一點。按照現(xiàn)在軟件需求我估計代碼量會超過 1 萬行,20 天也就能完成一半,如果因為我的能力問題需要加班,我沒有意見,但是我不能為一個明知有問題還不更改的決定買單?!蔽覀兊恼勗捊Y(jié)束了,張總認為非常簡單得事情,而我認為根本無法完成,我們誰也不妥協(xié)。
第二天,我得到張總的通知,這個項目交給同事小習負責了,和我沒有關系了。公司是按照項目考核我們的工作量的,失去這個項目意味著我的績效會受到影響,但是我不愿跳進已經(jīng)明確知道的陷阱里。小習沒有參與 A 產(chǎn)品的設計,我該不該提醒一下?我考慮了好半天決定,主動找小習有點不合適,如果小習主動找我我決定明確告訴他實情。
在 9 月 1 號硬件設計完成了,小習向我索要 A 產(chǎn)品的軟件代碼,因為是我負責編寫的,我告訴他,如果有不明白得地方可以問我。
二十幾天時間很快過去了,硬件設計沒有太多問題,雖然小習非常賣力,但是 20 天確實無法完成那么多代碼的編寫。中午飯小習和我同一桌,我懷疑他有話跟我說,因為小習是回民,我是漢民,吃飯還真湊不到一塊兒。
“駱駝不夠意思,你不愿意做的事情,踢給我,這回我算倒霉了。”小習向我訴苦。
“小習,不是我給你,是張總派給你的,現(xiàn)在完成怎么樣了?”我不知道該怎么說。
“我感覺至少還需要一個月以上,但是張總催的太緊,搞得我頭暈腦脹?!?/p>
我不知道該說什么,我總不能說我未卜先知吧。想了好半天,“事情已經(jīng)這樣了,和張總溝通一下,把時間延期到一個合理時間,不要老加班,我們得工作又不是計件,休息不好效率不高?!?/p>
“哎!下午找張總談一下,也只能這樣了?!毙×暉o可奈何,“駱駝,張總當時讓你負責,你為什么拒絕了?”
“哦!當時事情太多顧不上?!蔽抑荒苷覀€理由。
“不是吧,如果你知道無法完成,而不告訴大家,那就太不夠意思了。”小習有點責怪我的意思,我沒有再說什么。
時間過的很快,國慶有 7 天長假后 10 月上旬就基本結(jié)束了,但是小習的工作還是沒有完成。小習的專業(yè)水平也算不錯。看來我原來估計 10 月下旬完成估計的還是有問題。
一天上午,小習來找我詢問 A 產(chǎn)品的控制方法實現(xiàn),一連兩個月加班,小習非常累。
“駱駝,你當時接到這個項目時,和張總談沒談這個項目的時間問題?”
“大概說了一下,怎么了?”
“張總當時說你太忙,把這個項目交給我,問我能不能按時完成,我感覺沒有難度就答應了,你看看現(xiàn)在。。。。真是沒法說!”
“為什么感覺沒有難度?”我有興趣了解一下小習接活時的想法。
“當時我感覺 A 產(chǎn)品非常簡單,對方需求又非常明確感覺應該沒有太大的問題。其實當我看到 A 產(chǎn)品的源程序時就感覺可能有問題,但是已經(jīng)答應張總了,只好硬頭皮硬上了。”
“小習,這樣得項目我們單位隨時都會有,這不是關系公司生死存亡的事情,要以平常心態(tài)對待。能完成就完成,不能完成提前告訴領導,領導會有辦法的,不要把自己搞的那么被動。需要什么條件告訴領導就行了,讓領導幫助你解決?!?/p>
“我感覺在 11 月底完成就不錯了?!毙×曊f的這個時間應該比較有把握。
“那你就在這個基礎上再加一周,向領導申請一下延期吧,事實是客觀的,必須客觀面對?!蔽医ㄗh小習。
?
在 12 月的第一周,小習得項目完成了。因為比原計劃延期兩個月時間,項目獎金幾乎就沒有了。小習當然非常不高興,星期五下班后請我吃飯,我同意了。
“駱駝,先干一杯,我有事情問你。”小習給我倒了滿滿一杯,我只好干了。
放下杯子,小習真得問我了,“駱駝,你當時不愿意做這個項目,是不是已經(jīng)知道不可能按時完成了?”
???
我想說不知道那是不可能,小習猜也能猜到?!笆堑?,我當時感到在 20 天時間根本不能完成軟件得編寫,所以建議張總更改計劃。”
“張總說是你太忙才交給我,他沒有說你認為時間不夠?!毙×曈悬c不明白。
“事情都過去了,這些都不重要了。認真總結(jié)一下,以后注意就行了?!蔽抑缓冒参啃×暋?/p>
“駱駝,事情看起來挺簡單得,你是憑什么判斷根本不可能按時完成?”
“小習,我從來沒有認為一件事情簡單過。任何事情都有其內(nèi)在規(guī)律。如果認為編寫軟件簡單,那么造一顆原子彈也沒什么復雜得,直接用中子打到鈾中產(chǎn)生鏈式反應就可以了。說什么事情簡單,只能說你對這件事情了解的深度不夠。每天能完成多少工作量是一定的,估計一下總體需要工作量就可以得出總共需要的時間。”
“你是怎么估計總體工作量的?”
“根據(jù)歷史經(jīng)驗估計大概,然后乘一個 1.3 系數(shù),也就差不多。這個其實并不科學。但是也算一個參考。經(jīng)歷項目多了也就能估計比較準確?!?/p>
如果對一件事情了解到一定深度,就會發(fā)現(xiàn)每件事情其實非常復雜。如果您認為事情非常簡單,也許可能您看到只是水面以上的冰山。
?
與非網(wǎng)原創(chuàng)系列,謝絕轉(zhuǎn)載!
系列匯總:
摘要:駱駝曾將有一段失業(yè)在家的時光,無聊之余,他學習了 c 語言編程 ...
摘要:推薦一個新同事學習 C 語言,他說這本書講得太膚淺,后來經(jīng)過慢慢的琢磨,他覺得這本書其實很有價值 ...
摘要:老板一直不漲工資,于是小李提出了辭職,但是老板確讓他薪水翻倍 ....
之二十五:工程師:別被“等我有錢了再 ...”這句名言給害了
摘要:偶然的一次機會別人送了駱駝一臺咖啡機,駱駝一直想等買房子了再安裝上喝吧,結(jié)果新房裝修好的時候機器已經(jīng)碎了 ...
之二十四:工程師的時間就像海綿里的水,擠擠就能接個“私活兒”
摘要:駱駝最近接了個私活,可是兩個月過去了他卻還沒開始執(zhí)行,因為實在太忙,公司忙,家里還忙,可是答應別人的事情總不能食言吧 ...
摘要:公司空降了一位馬領導,天天很勤奮,早出晚歸,還要大家都向他學習,駱駝變得更加忙碌了 ...
摘要:沒有鼓勵就沒有動力,在公司里同樣適用,如果你對員工的突出貢獻視而不見,他們就會想別的辦法 ...
之二十一:為了省下印刷費,老板把產(chǎn)品說明書縮成了 4 頁紙
摘要:產(chǎn)品說明書印刷成 10 頁和 4 頁的區(qū)別是什么?或許你會說省下很多客服電話,這位老板卻說會省下很多錢 ...
摘要:可能很多人都有過城中村的奮斗史,那段時光收入低,但是內(nèi)心充實,工作忙,但精神奕奕,因為心中有一個希望不斷在呼喚,我要走出城中村,F(xiàn)ighting?。●橊劚敬畏窒淼氖撬诔侵写宓墓适?。
摘要:如果你遇到一位愛大聲吼叫的老板會怎樣?留下悉心指導,還是拍拍屁股走人?駱駝遇到的這位可是他的朋友 ...
摘要:梁程本來是程序設計的,負責公司的好幾個項目,但是老板卻一直讓他親自燒寫程序,而且不見有讓生產(chǎn)幫忙的跡象 ...
摘要:軟件工程師和硬件工程師的職責分明,相互合作才能做出好的產(chǎn)品,但是如果硬件出問題了非要軟件工程師解決會出現(xiàn)什么結(jié)果?
摘要:合作多年的公司忽然告訴我們要停止供貨,原因是競爭對手開發(fā)了一款價格低廉而性能一樣的產(chǎn)品,于是老板決定要我們開發(fā)一款同樣的產(chǎn)品來和競爭對手競爭,等產(chǎn)品開發(fā)出來以后不料客戶又有了升級版,我們繼續(xù)死磕嗎?
摘要:朋友想要按照市場比較成熟的產(chǎn)品設計一款類似的產(chǎn)品,隨后緊鑼密鼓開始設計硬件和軟件,完成以后發(fā)現(xiàn)在細節(jié)上有很多缺失,這引起了我對產(chǎn)品細節(jié)的考慮 ...
摘要:朋友托我給他編寫一本技術手冊,我思量半天遲遲無法下筆,后來女兒拿著玩具過來讓我?guī)退龘Q電池,問我為啥不能從第二個句開始,我豁然開朗,可以從自己會的先開始,靈感慢慢積累 ...
摘要:上帝是一個推銷員,她無時無刻都在想你推銷各種機會,你只需要邁出一步就可以接住。機會在與把握,如果你不去把握,再好的機會也不屬于你。從我同事小張和小李兩個人的例子可以看出 ...
摘要:我的同學李華是家里的獨生子,1995 年西安開始建設大明宮遺址公園,李華家剛好沒在規(guī)劃之內(nèi),于是一下子過上了小康的生活,說媒的踏破門廳,可是偏偏他母親對姑娘的要求很高,最后 37 歲還沒對象 ...
摘要:我同學講了一個關于兩個小和尚挑水的故事,不是大家聽到的那個版本,如今我同學已經(jīng)成了當?shù)氐钠髽I(yè)主,這與給自己挖井有關,每個人都應該為自己挖一口井,以備不時之需 ...
摘要:公司新來的小伙兒問我應該選擇從 M3 開始學習單片機還是從 C51 開始?我當然提議是 M3,但是他卻擔心沒有 C51 的基礎不好入門!那就從 M3 和 C51 的價格、市場發(fā)展趨勢和占有率來分析一下吧 ...
摘要:由于公司規(guī)模的擴大和業(yè)績的激增,公司計劃提拔一些中層管理人員去北京總部任職,而這個名單里就有駱駝的名字,喜從天降,駱駝心情大好,可是在交接完工作之后的一次偶然事件讓他失去了這次機會,而且工作也不得不換 ...
摘要:每天熬夜寫程序,后來才發(fā)現(xiàn)一直是白天寫晚上改,晚上寫白天刪,周而復始,效率低下。后來認識了公司里的李工,他每天的工作悠閑有序,看上去很輕松,后來才知道他的高招兒,多動腦少動手 ...
摘 要:由于母親身體的緣故,駱駝將三歲的女兒從老家接到西安照顧,由于愛人的工作很忙,于是駱駝不得不肩負起照顧女兒的重任,從此周末再無閑暇,買菜、做 飯、整理屋子、帶女兒出去游玩填滿了他的生活,重負之下他想到了辭職,老板的挽留讓他堅持下來,最后竟然發(fā)現(xiàn)自己多年的工程師職業(yè)病竟然好了 ...
摘要:公司小李由于技術功底扎實,在軟件業(yè)務部受到器重,準備提拔為項目組長,后來因為隨口接了朋友一個硬件設計項目而荒廢了本職工作,最終看似簡單的項目做了半年之久都沒有實現(xiàn),于是找駱駝請教 ...
摘要:公司接到一個大單,大家都眉開眼笑,可是到交貨的時候卻遇到了不可調(diào)和的難題,作為新手的我自然不受上司重視,該研究還是不該研究呢?
摘要:小李是我們單位的資深工程師,產(chǎn)品量產(chǎn)以后,小李的工作只需要維護即可,于是日子變得清閑起來,每天網(wǎng)絡小說度日,有一天良心發(fā)現(xiàn)需要學習新知識,跟上技術更新的步伐,可是遲遲不肯開始 ....
摘要:老板的親戚來公司上班,還是名牌大學的碩士,聽說資歷很深,可是不喜歡和人交流,拿出一個小項目做實踐,一個很小的板子焊接了三天,后來他竟然問了這樣一個問題 ...
摘要:老板的外甥保送了西安某大學的研究生,想趁暑假來公司實習,順便學習點實際知識,于是老板把他托付給了駱駝,結(jié)果這小子基礎知識沒有,還不想踏實補充基礎,好高騖遠,只想一下子學到真本事 ....
摘要:一位參加工作 3-5 年的工程師,憑借目前的新技術,其工作能力可以達到工作 30 年的老工程師 90%的水平甚至超越。由此可見,年輕人憑借新技術完全可以挑戰(zhàn)權威,可見新技術的爆發(fā)力 ...