程序員故事:沒(méi)有免費(fèi)的午餐
我們總想著花最少的錢(qián)辦最多的事情,這本是一件很正確的觀念,但如果花的錢(qián)明顯少到不合理,那辦出的事情也就有可能會(huì)狠打幾個(gè)折扣。
所謂沒(méi)有免費(fèi)的午餐,或許就是如此了。
那是剛參加工作的前幾個(gè)年頭,公司用戶(hù)的需求越來(lái)越多,軟件要求也越來(lái)越復(fù)雜,我們那幾個(gè)內(nèi)部程序員已經(jīng)明顯不夠用,花錢(qián)請(qǐng)外面的軟件公司來(lái)幫忙做軟件已經(jīng)成為刻不容緩的一件事情。很榮幸,我成為部門(mén)成立以來(lái)***個(gè)真正意義上的項(xiàng)目經(jīng)理。
那是公司生產(chǎn)部的一個(gè)軟件項(xiàng)目,主要用來(lái)對(duì)制造產(chǎn)品所需的一些材料和配件信息進(jìn)行管理,生產(chǎn)部的李部長(zhǎng)和我們信息部的趙部長(zhǎng)關(guān)系很熟,再加上這個(gè)項(xiàng)目的規(guī)模比較適中,所以?xún)晌活I(lǐng)導(dǎo)一拍即合,決定拿它試水軟件外包。外請(qǐng)的軟件公司在我們業(yè)內(nèi)口碑不錯(cuò),帶隊(duì)的周經(jīng)理也幫其他單位做過(guò)類(lèi)似軟件,所以大家也都覺(jué)得這是一個(gè)注定要成功的項(xiàng)目。
周經(jīng)理是個(gè)技術(shù)型的程序員,戴著一副黑框眼鏡,每天上下班都會(huì)背著一個(gè)雙肩包,里面裝著筆記本電腦,非常典型的程序員形象。而我也是剛從程序員向項(xiàng)目經(jīng)理的方向轉(zhuǎn)變。初步了解用戶(hù)的需求之后,我們兩個(gè)人從技術(shù)角度分析了一下,覺(jué)得和之前在其他單位做的軟件相比,只是一些流程細(xì)節(jié)上的不同,其他都是類(lèi)似,沒(méi)有什么難點(diǎn),便信心滿(mǎn)滿(mǎn)的做了一份為期6個(gè)月的計(jì)劃方案。
兩位領(lǐng)導(dǎo)對(duì)這個(gè)計(jì)劃也很滿(mǎn)意,尤其是李部長(zhǎng)還把手下不同專(zhuān)業(yè)組的幾個(gè)業(yè)務(wù)骨干也調(diào)派了過(guò)來(lái),要求他們每天要抽出一定的時(shí)間參與軟件需求訪談和測(cè)試驗(yàn)證的一些工作。
看起來(lái)是一個(gè)不錯(cuò)的開(kāi)端。
在對(duì)各個(gè)專(zhuān)業(yè)組進(jìn)行深入訪談后,感覺(jué)遇到了點(diǎn)小麻煩。因?yàn)榕c之前簡(jiǎn)單了解的情況相比,實(shí)際的業(yè)務(wù)要比我們想象的更為復(fù)雜一點(diǎn),并且和之前周經(jīng)理做過(guò)的那款軟件的差異點(diǎn)也不是想象的那么簡(jiǎn)單。
后來(lái)軟件項(xiàng)目做的多了,也就慢慢的習(xí)慣了這種現(xiàn)象。平時(shí)用戶(hù)的生產(chǎn)和工作任務(wù)都很繁忙,軟件項(xiàng)目沒(méi)有正式啟動(dòng)時(shí),用戶(hù)也不會(huì)投入那么多的精力和我們進(jìn)行深入的交流。等到項(xiàng)目正式開(kāi)始后,用戶(hù)會(huì)作為項(xiàng)目組成員加入團(tuán)隊(duì),大家每天在一起溝通和交流,問(wèn)題越討論越細(xì)致,之前很多沒(méi)有想到的一些需求會(huì)在這個(gè)時(shí)候顯露出來(lái)。
不過(guò)當(dāng)時(shí)我還是沒(méi)有完全適應(yīng)這種情況,周經(jīng)理畢竟是在外面見(jiàn)過(guò)世面的,告訴我其實(shí)他在制定方案的時(shí)候也預(yù)留了一些工作量,增加的這些需求都在意料之中了,所以也不用太過(guò)擔(dān)心會(huì)延期。
兩個(gè)多月后,項(xiàng)目組完成了設(shè)計(jì)說(shuō)明書(shū)的編制,我和周經(jīng)理便約李部長(zhǎng)進(jìn)行了一次階段性的工作匯報(bào)。看了我們展示的成果和設(shè)計(jì)方案,李部長(zhǎng)表示很滿(mǎn)意。
會(huì)中李部長(zhǎng)問(wèn)周經(jīng)理:“小周,我這邊還有一兩個(gè)簡(jiǎn)單的流程,你看好做不。”
聽(tīng)完李部長(zhǎng)的簡(jiǎn)單功能介紹之后,周經(jīng)理很爽快地說(shuō):“這個(gè)簡(jiǎn)單,我們可以順便幫一起做一下。”
我也覺(jué)得就幾天的工作量,問(wèn)題不大。
這種單純從技術(shù)角度考慮問(wèn)題的方法,其實(shí)在后來(lái)的日子里也繼續(xù)影響了我很久。因?yàn)榧夹g(shù)出身,聽(tīng)到需求后便立馬會(huì)去考慮解決方案,然后腦海中就會(huì)浮現(xiàn)出數(shù)據(jù)庫(kù)怎么設(shè)計(jì),流程怎么走,怎么部署之類(lèi)的想法,其實(shí)這是非常錯(cuò)誤的。現(xiàn)實(shí)世界的具體任務(wù),永遠(yuǎn)比想象的要復(fù)雜的很多。
同樣是技術(shù)出身的周經(jīng)理顯然也犯了類(lèi)似錯(cuò)誤,和我一樣只看到了表面簡(jiǎn)單的功能,至于背后還有什么其他復(fù)雜的羅輯,則完全沒(méi)有意識(shí)到。
領(lǐng)導(dǎo)有吩咐,屬下的幾個(gè)參與項(xiàng)目組的關(guān)鍵用戶(hù)自然就要很盡心盡力。領(lǐng)會(huì)到李部長(zhǎng)的精神之后,他們便對(duì)那幾個(gè)簡(jiǎn)單的流程進(jìn)行了分析。很多事情就是這樣,一旦深入考慮,就會(huì)能發(fā)現(xiàn)更多的東西。
后來(lái)幾個(gè)關(guān)鍵用戶(hù)拿出了一份詳細(xì)的需求書(shū),不得不說(shuō)這些業(yè)務(wù)骨干還是很有一些水平的,幾個(gè)看似簡(jiǎn)單的流程經(jīng)過(guò)分析之后,不但功能更加強(qiáng)大,還和之前的設(shè)計(jì)的那些功能關(guān)聯(lián)了起來(lái),相當(dāng)于形成了一個(gè)閉環(huán)。
新的需求擺在那里,我心里犯了難。雖然我并沒(méi)有很多項(xiàng)目經(jīng)理的經(jīng)驗(yàn),但從技術(shù)角度來(lái)看,新增的內(nèi)容的確是太龐大了,甚至都可以單獨(dú)再做一個(gè)類(lèi)似的項(xiàng)目,這么大的投入軟件公司愿不愿意免費(fèi)幫我們?nèi)プ觯@是個(gè)很大的疑問(wèn)。
李部長(zhǎng)也沒(méi)有想到需求會(huì)變得這么復(fù)雜,但看起來(lái)的確比之前更具有吸引力,但公司預(yù)算考核的比較嚴(yán),合同變更的路誰(shuí)都不想走。該怎么辦?坐在趙部長(zhǎng)的辦公室里,看著他們吞云吐霧的抽了一根又一根的香煙后,趙部長(zhǎng)覺(jué)得,我們應(yīng)該逼軟件公司一下,激發(fā)一下他們的潛力。
“告訴他們,公司后面還會(huì)有好多軟件項(xiàng)目可以做,不愁沒(méi)有錢(qián)賺的。再說(shuō)了,既然我們的錢(qián)已經(jīng)花出去了,當(dāng)然是要讓乙方能做多少做多少。”趙部長(zhǎng)對(duì)我說(shuō)。
過(guò)程倒也不曲折,考慮到我們這這家軟件公司的母公司在其他領(lǐng)域有著很多合作,軟件公司的老總親自來(lái)和趙部長(zhǎng)交流了一次之后,新的需求便加到了項(xiàng)目中。
因?yàn)闆](méi)有更多的經(jīng)費(fèi),雖然工作量增加了一倍,但人員卻沒(méi)有增加那么多。我和周經(jīng)理有點(diǎn)焦頭爛額了,之前只要把核心的業(yè)務(wù)做好就行,而現(xiàn)在每天我們都要和好幾個(gè)專(zhuān)業(yè)組的人交流,討論各種細(xì)節(jié),之前做好的設(shè)計(jì)還要因?yàn)樾碌囊蛩刂匦驴紤]。
本來(lái)6個(gè)月完成的軟件,做了滿(mǎn)滿(mǎn)一年才勉強(qiáng)上線。但由于中間的反復(fù)波折太多,整個(gè)軟件做的算是千瘡百孔,用戶(hù)使用的時(shí)候也常常是怨聲載道。甚至有幾個(gè)當(dāng)時(shí)考慮地很***的功能,實(shí)際卻由于設(shè)計(jì)的過(guò)于復(fù)雜而沒(méi)有用起來(lái)。
總體來(lái)說(shuō),這是一個(gè)失敗的項(xiàng)目。周經(jīng)理由于天天被關(guān)鍵用戶(hù)折磨,反而把用戶(hù)的業(yè)務(wù)羅輯搞得很透徹,后來(lái)去了一家更大的軟件公司做了咨詢(xún)顧問(wèn),工資翻了一番。我也痛下決心,考取了項(xiàng)目管理的高級(jí)認(rèn)證,建立了項(xiàng)目管理制度。
范圍管理是影響軟件項(xiàng)目管理的核心要素之一。
翻看一下失敗軟件項(xiàng)目的案例,就會(huì)發(fā)現(xiàn)很多原因就是因?yàn)榉秶芾硎Э兀械纳踔潦峭耆珱](méi)有范圍管理。
我們常常想著盡可能獲取更多,豈不知這邊賺了便宜,那邊就有可能加倍的還回來(lái)。
世上并沒(méi)有免費(fèi)的午餐!