一.軟件團(tuán)隊(duì)
自軟件危機(jī)爆發(fā)以來(lái),人們開(kāi)始用軟件工程來(lái)試圖解決這個(gè)問(wèn)題,提出了各種各樣的開(kāi)發(fā)理論, 開(kāi)發(fā)模式。軟件開(kāi)發(fā)的藝術(shù)性,和不可預(yù)知性,使得各種開(kāi)發(fā)理論,開(kāi)發(fā)模式,總是有其局限性,終始無(wú)法精確的用工程的手段來(lái)量化開(kāi)發(fā)過(guò)程。
軟件是科學(xué)與藝術(shù)的結(jié)合,理論與實(shí)踐的結(jié)合。作為一種智慧產(chǎn)品,軟件開(kāi)發(fā)基本上是一種智能的投入,是軟件開(kāi)發(fā)團(tuán)隊(duì)的智慧結(jié)晶。在軟件中凝結(jié)的智能愈高,軟件的價(jià)值就愈高,能被市場(chǎng)接受的價(jià)格就愈高。完全按工程組織來(lái)完成軟件開(kāi)發(fā),基本是不可能完成的任務(wù)。
在看似平靜的表面下面,軟件開(kāi)發(fā)其實(shí)是充滿著各種風(fēng)險(xiǎn),不可預(yù)知,和躁動(dòng)不安的。按開(kāi)發(fā)計(jì)劃完成軟件是世界上最困難的事情之一。雖然你有著那么多的開(kāi)發(fā)經(jīng)驗(yàn),技術(shù)資源,開(kāi)發(fā)模式,但是你不能完全的依賴它們,每一個(gè)軟件都有它的獨(dú)特性,都需要你特別的付出和關(guān)注。你不要指望事情就能按你預(yù)想的那樣一帆風(fēng)順的進(jìn)行。你需要關(guān)注,特別的關(guān)注,直到它的誕生。因此有人說(shuō):與其說(shuō)軟件的開(kāi)發(fā)是可依進(jìn)度或功能切割的項(xiàng)目,不如說(shuō)是一種第六感。有時(shí)候它的確是這樣。
也正因?yàn)檐浖Q生的艱辛,所以它的誕生也具有震撼性。一個(gè)偉大的軟件產(chǎn)品,總是震撼著市場(chǎng),震撼著心靈,將是人們?nèi)康慕裹c(diǎn)所在,顧客將帶著鈔票搶著購(gòu)買(mǎi)。公司也將因此成為行業(yè)中的個(gè)中翹楚。這就是軟件的魅力。一個(gè)高效率的開(kāi)發(fā)團(tuán)隊(duì)會(huì)將這一切變?yōu)榭赡堋?/P>
微軟的成功,促使人們更多的開(kāi)始關(guān)注小的開(kāi)發(fā)團(tuán)隊(duì)的使用。
軟件開(kāi)發(fā)團(tuán)隊(duì)是為一個(gè)軟件產(chǎn)品,或者一個(gè)項(xiàng)目的開(kāi)發(fā)而組合在一起的組織. 軟件開(kāi)發(fā)團(tuán)隊(duì)首先是為目標(biāo)的存在而存在的.
對(duì)一個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)首先要解決的問(wèn)題是: 應(yīng)該由那些角色來(lái)組成團(tuán)隊(duì).在傳統(tǒng)上組建一個(gè)開(kāi)發(fā)團(tuán)隊(duì)時(shí),習(xí)慣上是找一個(gè)主管,幾個(gè)主力程序員,加從其他部門(mén)調(diào)來(lái),或者現(xiàn)招幾個(gè)程序員,就算做是一個(gè)開(kāi)發(fā)團(tuán)隊(duì),就期望他們能按時(shí)按質(zhì)的拿出東西,運(yùn)氣好的話,他們可以搞定,大多數(shù)時(shí)候,項(xiàng)目不是嚴(yán)重超期,就是永無(wú)出頭之日,最后只有下馬的命運(yùn).
一個(gè)先天不足的團(tuán)隊(duì),很難期望他們能按時(shí)按質(zhì)的拿出產(chǎn)品。
參照微軟項(xiàng)目團(tuán)隊(duì)組成,一個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)?wèi)?yīng)該由如下角色組成:項(xiàng)目經(jīng)理,系統(tǒng)設(shè)計(jì)師,程序員,測(cè)試人員,用戶教育培訓(xùn)人員。項(xiàng)目經(jīng)理對(duì)整個(gè)項(xiàng)目的成敗負(fù)責(zé),需要關(guān)注項(xiàng)目的進(jìn)度,與客戶的溝通交流,理解客戶需求,項(xiàng)目經(jīng)理更多的是作為用戶和開(kāi)發(fā)人員之間溝通的橋梁.因此對(duì)項(xiàng)目經(jīng)理,不僅要求在技術(shù)上能夠解決項(xiàng)目中發(fā)生的各種問(wèn)題,也能預(yù)見(jiàn)到項(xiàng)目的各種潛在風(fēng)險(xiǎn),并規(guī)避風(fēng)險(xiǎn),更重要的是做為產(chǎn)品的代言人,能闡述清楚產(chǎn)品的用途,特色給潛在客戶,也能明白,清晰的理解客戶的需求描述,并和客戶在需求問(wèn)題上達(dá)成一致或折中.系統(tǒng)設(shè)計(jì)師和主力程序員一起對(duì)整個(gè)產(chǎn)品的架構(gòu),設(shè)計(jì)負(fù)責(zé),確認(rèn)開(kāi)發(fā)語(yǔ)言,制定開(kāi)發(fā)規(guī)范,預(yù)先架構(gòu)中的潛在問(wèn)題,解決開(kāi)發(fā)中遇到的技術(shù)問(wèn)題和測(cè)試問(wèn)題.程序員分為主力程序員和一般程序員,主力程序員將承擔(dān)更多的責(zé)任,協(xié)助系統(tǒng)設(shè)計(jì)師的設(shè)計(jì)工作,并具體指導(dǎo)一般程序員的開(kāi)發(fā)工作,主力程序員一般由有多年項(xiàng)目經(jīng)驗(yàn)的程序員擔(dān)任.測(cè)試人員負(fù)責(zé)產(chǎn)品的測(cè)試工作,從方案設(shè)計(jì)就開(kāi)始參與并撰寫(xiě)測(cè)試計(jì)劃,測(cè)試人員也應(yīng)包括幾種:能寫(xiě)測(cè)試代碼的,完全不懂計(jì)算機(jī),只做用戶測(cè)試的.其測(cè)試的側(cè)重點(diǎn)不同。
用戶教育培訓(xùn)人員撰寫(xiě)用戶使用文擋,產(chǎn)品說(shuō)明書(shū)等,用戶教育培訓(xùn)人員是一個(gè)項(xiàng)目很容易被忽視的角色,但事實(shí)上,在一個(gè)大項(xiàng)目中,他們的身影絕對(duì)重要,這部分工作,沒(méi)有專人來(lái)做,必然的分?jǐn)偟匠绦騿T身上.程序員很難有時(shí)間,有心情來(lái)完成這些東西,不但會(huì)影響程序員的專注,也使文擋的質(zhì)量很差.特別是在項(xiàng)目的后期,程序員的專