知道要做的是什么,能按時(shí)準(zhǔn)確的完成嗎?如果每人都按自己想象中的職責(zé)去工作,那么有多少工作沖突、多少遺漏,誰能給出正確的估計(jì)?沒有明確的職責(zé)定義人力資源的安排可能合理嗎?結(jié)果可能是找了個(gè)資格較老的程序員做了項(xiàng)目經(jīng)理,找了個(gè)沒有理會(huì)對象概念的人去做面向?qū)ο蟮南到y(tǒng)分析,找個(gè)不顧網(wǎng)絡(luò)安全、網(wǎng)絡(luò)流量、事務(wù)特性、運(yùn)行費(fèi)用的人去設(shè)計(jì)一個(gè)分布式系統(tǒng)。有才華的人也許只能跺在被窩里激呼懷才不遇或許能做個(gè)美夢安慰自己。
三、營造高效軟件開發(fā)團(tuán)隊(duì)的關(guān)鍵因素
如果做到了高效軟件開發(fā)團(tuán)隊(duì)的特征,那么這個(gè)團(tuán)隊(duì)肯定是高效的團(tuán)隊(duì),可是如何才能營造這樣的一個(gè)團(tuán)隊(duì)呢?上面分析了國內(nèi)軟件開發(fā)團(tuán)隊(duì)容易出現(xiàn)的一些問題,解決這些問題及避免這些問題的出現(xiàn)是營造高效軟件開發(fā)團(tuán)隊(duì)的出發(fā)點(diǎn),但一些問題產(chǎn)生的原因是其它問題的存在,關(guān)鍵是解決問題的根源,所以營造高效軟件開發(fā)團(tuán)隊(duì)的因素是以下幾點(diǎn):
1、選拔或培養(yǎng)適合角色職責(zé)的人才軟件項(xiàng)目是由不同角色的人共同協(xié)作完成的,每種角色都必須有明確的職責(zé)定義,因此選拔和培養(yǎng)適合角色職責(zé)的人才是首要的因素,如:選拔軟件項(xiàng)目開發(fā)經(jīng)理一定要注意,這人要熟悉各種設(shè)計(jì)方法,愿意聽取其他人的意見并且客觀上和邏輯上把自己的思想與其它人意見相比,掌握激發(fā)團(tuán)隊(duì)成員的積極性的方法等;選拔系統(tǒng)分析員,一定要注意,這人要熟悉需要的設(shè)計(jì)方法,掌握系統(tǒng)分析和設(shè)計(jì)的原則,擁有完成職責(zé)所需技能和豐富經(jīng)驗(yàn)等。選拔或培養(yǎng)適合角色職責(zé)的人才,特別是合適的軟件開發(fā)經(jīng)理是營造高效軟件開發(fā)團(tuán)隊(duì)的最重要的因素。
2、建立共同的工作框架、規(guī)范和紀(jì)律約束
軟件項(xiàng)目的開發(fā)是創(chuàng)造性的工作,但要有必要開發(fā)紀(jì)律。建立共同的工作框架使團(tuán)隊(duì)成員知道如何達(dá)到目標(biāo),知道應(yīng)該做到什么及對開發(fā)過程達(dá)成共識(shí);建立規(guī)范使各項(xiàng)工作有標(biāo)準(zhǔn)可以遵循,使成員知道團(tuán)隊(duì)的風(fēng)格是怎樣的;建立一定的紀(jì)律約束保證計(jì)劃的正常執(zhí)行。
3、自我管理作為團(tuán)隊(duì)的成員,應(yīng)該以開發(fā)經(jīng)理為首堅(jiān)持管理自我,對工作負(fù)責(zé),與同事友好合作,遵守工作紀(jì)律、自我技能培訓(xùn)等。
4、學(xué)習(xí)國外成功經(jīng)驗(yàn)學(xué)習(xí)國外的一些成功開發(fā)過程、分析方法、設(shè)計(jì)思想、體系結(jié)構(gòu)、設(shè)計(jì)模式等,如學(xué)習(xí)合理統(tǒng)一開發(fā)過程(RUP)的一些實(shí)踐,歸納適合自己的合理開發(fā)過程;學(xué)習(xí)先進(jìn)的系統(tǒng)分析、設(shè)計(jì)的思想力求完成更高質(zhì)量要求的軟件項(xiàng)目;學(xué)習(xí)各種體系結(jié)構(gòu)優(yōu)缺點(diǎn)及適應(yīng)情況,設(shè)計(jì)出滿足系統(tǒng)需求的軟件體系結(jié)構(gòu);學(xué)習(xí)國外成功設(shè)計(jì)模式,使代碼的編寫滿足更高質(zhì)量的需求。