>
學(xué)校機(jī)構(gòu) >
廣西南寧達(dá)內(nèi)軟件科技有限公司 >
學(xué)習(xí)資訊>
一個(gè)典型項(xiàng)目開(kāi)發(fā)的故事
一個(gè)典型項(xiàng)目開(kāi)發(fā)的故事
66 2017-04-14
南寧達(dá)內(nèi):一個(gè)典型項(xiàng)目開(kāi)發(fā)的故事
2ACME公司的Widgets系統(tǒng)出了點(diǎn)問(wèn)題。這個(gè)系統(tǒng)被他們用來(lái)管理器材的庫(kù)存,當(dāng)初設(shè)計(jì)時(shí)沒(méi)考慮到如今這樣大量的數(shù)據(jù)的增長(zhǎng)。他們的員工因?yàn)檫@個(gè)問(wèn)題備受折磨。很顯然,需要想辦法解決這個(gè)問(wèn)題,讓系統(tǒng)恢復(fù)正常。經(jīng)過(guò)對(duì)...
ACME公司的Widgets系統(tǒng)出了點(diǎn)問(wèn)題。這個(gè)系統(tǒng)被他們用來(lái)管理器材的庫(kù)存,當(dāng)初設(shè)計(jì)時(shí)沒(méi)考慮到如今這樣大量的數(shù)據(jù)的增長(zhǎng)。他們的員工因?yàn)檫@個(gè)問(wèn)題備受折磨。很顯然,需要想辦法解決這個(gè)問(wèn)題,讓系統(tǒng)恢復(fù)正常。
經(jīng)過(guò)對(duì)本地軟件公司的一番篩選,ACME聯(lián)系到了Hamster軟件公司,看看他們能否解決這個(gè)庫(kù)存系統(tǒng)中的問(wèn)題。他們很喜歡Hamster軟件公司的網(wǎng)站,他們沒(méi)有任何軟件開(kāi)發(fā)的經(jīng)驗(yàn),但根據(jù)網(wǎng)站的外觀,他們估計(jì)這個(gè)軟件公司能解決他們的問(wèn)題。這件事上他們并沒(méi)有做錯(cuò),但也不是很對(duì)。
于是,ACME公司和Hamster軟件公司開(kāi)始討論如何解決他們庫(kù)存系統(tǒng)中的問(wèn)題。私底下,Hamster軟件公司的開(kāi)發(fā)團(tuán)隊(duì)知道以前從未處理過(guò)類似這樣的問(wèn)題,然而,他們有一群很能干的小伙,他們相信一定能把這個(gè)問(wèn)題解決掉。
基于一個(gè)不符合實(shí)際情況的預(yù)估,ACME公司和Hamster公司達(dá)成協(xié)議一起努力來(lái)解決問(wèn)題。這是他們犯的第一個(gè)錯(cuò)誤。Hamster公司的開(kāi)發(fā)團(tuán)隊(duì)認(rèn)為,對(duì)現(xiàn)有的軟件進(jìn)行簡(jiǎn)單的修改就能滿足他們的需求,并在此假設(shè)上制定出了工程估算。
起初,按照ACME公司認(rèn)可的設(shè)計(jì)方案,Hamster公司的開(kāi)發(fā)進(jìn)展神速。不久之后,事情看起來(lái),他們的確是有可能按照最初的設(shè)計(jì)預(yù)算來(lái)完成任務(wù)。
除了有一些bug需要解決。
起初的bug都很小,就Hamster公司設(shè)定這種一日千里的開(kāi)發(fā)速度而言,ACME公司理解,開(kāi)發(fā)進(jìn)行中的軟件不可能做到十全十美。他們很高興能開(kāi)始使用改造中的系統(tǒng),對(duì)于出現(xiàn)的問(wèn)題,開(kāi)發(fā)團(tuán)隊(duì)已經(jīng)有了更好的方案,所以,看起來(lái),邊改造邊使用是沒(méi)有問(wèn)題的——盡管有些bug存在。
但是,Hamster軟件公司的小伙都很能干。沒(méi)有人希望bug的出現(xiàn),但因?yàn)殚_(kāi)發(fā)團(tuán)隊(duì)專注于解決擴(kuò)容問(wèn)題、寫代碼來(lái)升級(jí)系統(tǒng),所以,有時(shí)候,很容易會(huì)發(fā)生一些意想不到的事情(bug)。隨著開(kāi)發(fā)的進(jìn)行,項(xiàng)目規(guī)模的擴(kuò)大,記住代碼中各種編寫策略的背后原因變得越來(lái)越困難,但是,他們是群能干的小伙,沒(méi)有他們處理不了的問(wèn)題。
RichardHammond——Hamster公司的創(chuàng)始人之一,是一個(gè)優(yōu)秀的程序員,他對(duì)這個(gè)項(xiàng)目做出了巨大的貢獻(xiàn)。一天,Richard收到了來(lái)自FifthSpeed公司的聘請(qǐng),F(xiàn)ifthSpeed公司是一家非常出名的軟件公司,Richard無(wú)法拒絕。Hamster公司的開(kāi)發(fā)團(tuán)隊(duì)很沮喪,但對(duì)于這種事情,他們無(wú)能為力,只好頂著壓力繼續(xù)開(kāi)發(fā)。
如果這些bug之前一些麻煩,而Richard的離去相當(dāng)于火上澆油。他的腦袋里裝有大量的關(guān)于每個(gè)東西為應(yīng)該如何運(yùn)作的知識(shí),而現(xiàn)在,軟件只能在沒(méi)有他的情況下獨(dú)自完成工作。各種征兆開(kāi)始顯露,Hamster公司開(kāi)發(fā)的軟件里有些東西并沒(méi)有按要求運(yùn)行。
Bug成倍增加。每一次新的版本的發(fā)布看起來(lái)都會(huì)導(dǎo)致越來(lái)越多之前已經(jīng)完成的功能不能用。
作為解釋軟件應(yīng)該做成什么樣的唯一參考來(lái)源的規(guī)格說(shuō)明書,如今已經(jīng)增長(zhǎng)到?jīng)]有哪個(gè)人能單獨(dú)掌握。
ACME公司距離他們解決庫(kù)存系統(tǒng)問(wèn)題的目標(biāo)看起來(lái)是越來(lái)越遙遠(yuǎn)。每一次新版本的發(fā)布都是一次前進(jìn),但也是一次后退。他們用這個(gè)系統(tǒng)來(lái)提升他們的業(yè)務(wù),但bug不僅影響了員工的使用,而且影響到了客戶。
公司實(shí)際業(yè)務(wù)上的損失有這些bug的很大功勞。沒(méi)錯(cuò),ACME公司庫(kù)存系統(tǒng)原始問(wèn)題已經(jīng)解決了,但卻引入了其它問(wèn)題,算起來(lái)得不償失。這個(gè)龐大的系統(tǒng)本以為能解決ACME公司所有的問(wèn)題,但現(xiàn)在看起來(lái)更像是一個(gè)負(fù)擔(dān),而不是資產(chǎn)。它每月還在不斷的吞噬巨大的財(cái)力用于維護(hù),遠(yuǎn)看不到盡頭。
可不幸的是,這是如今大多數(shù)軟件項(xiàng)目的現(xiàn)狀。糟糕的計(jì)劃,沒(méi)譜的預(yù)算,無(wú)休無(wú)止的“維護(hù)”,使得我們軟件開(kāi)發(fā)世界對(duì)真正的軟件項(xiàng)目失去信心。
只有我們共同努力,以整個(gè)行業(yè)之力,才能改進(jìn)軟件項(xiàng)目中估算和不切實(shí)際的期望等相關(guān)問(wèn)題。
在試圖解決問(wèn)題前,一定要盡量理解問(wèn)題。
測(cè)試你的代碼,即使不為自己,也是為下一個(gè)接手你工作的人。
。
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號(hào)
獵學(xué)網(wǎng)服務(wù)號(hào)