???
隨著企業(yè)應(yīng)用開發(fā)競(jìng)爭(zhēng)日益激烈,需求變更的更加頻繁,而指導(dǎo)軟件開發(fā)的方法學(xué)和各種軟件過程也色彩紛呈,百花爭(zhēng)艷。除卻外部的激烈競(jìng)爭(zhēng)環(huán)境,軟件企業(yè)自身
也存在各種各樣需要面對(duì)的難題:開發(fā)效率低下,品質(zhì)問題突出。。。大家都在尋求能更好的方式解決這些問題提高企業(yè)的競(jìng)爭(zhēng)能力的方法。這些方法大概可以分為
三類:1)提高開發(fā)人員的素質(zhì) 2)規(guī)范開發(fā)過程和開發(fā)方法 3)尋找和利用工具;
??? 對(duì)于第一種方法是各個(gè)企業(yè)追求的終極目標(biāo),提高開發(fā)人員的素質(zhì)無外乎通過1)企業(yè)培訓(xùn)2)員工利用個(gè)人時(shí)間充電
3)高水平的項(xiàng)目鍛煉。這三種方法對(duì)于企業(yè)和個(gè)人的投入都有要求,是最難實(shí)施也是最慢見成效的一種方法,但不管怎么樣這是企業(yè)要獲得持續(xù)發(fā)展的必然途徑。
???
對(duì)于第二種方法是每個(gè)軟件企業(yè)都在實(shí)施的一種通用的方法,現(xiàn)在存在著很多開發(fā)過程和開發(fā)方法,重量級(jí)的如:RUP(統(tǒng)一軟件過程)、CMM、CMMI,輕
量級(jí)的如:自適應(yīng)、水晶、XP等。這些方法和過程自身就是相互學(xué)習(xí),互相融合,在企業(yè)實(shí)施過程中也都是結(jié)合各自的優(yōu)點(diǎn),形成自有的一套體系。企業(yè)在能夠形
成自己一套行之有效的體系前必須不斷經(jīng)歷嘗試,裁減再嘗試這樣一個(gè)痛苦的過程的,是不可能一蹴而就的。最好的方法是就是從已經(jīng)形成自有特色的企業(yè)處獲得指
導(dǎo)。
??? 第三種也是最為大家認(rèn)同的:使用工具,工具使得執(zhí)行開發(fā)過程變得簡(jiǎn)單。對(duì)于一些大家公認(rèn)的開發(fā)過程的步驟,比如:代碼規(guī)范:CODE STANDARD
# 測(cè)試驅(qū)動(dòng)開發(fā):TEST-DRIVEN DEVELOPMENT
# 日構(gòu)建:DAILY BUILDING
# 持續(xù)集成:CONTINUOUS INTEGRATION
# 小步發(fā)布:SMALL RELEASE
??
我們都能找到工具很好的進(jìn)行支持。這種方法除去學(xué)習(xí)工具所花去的時(shí)間,應(yīng)該是最容易看見成效的。而且充分利用工具能夠很快地幫助新手進(jìn)入角色,比如說:利
用代碼規(guī)范檢測(cè)工具checkstyle,我們很容易幫助新手規(guī)范代碼的編寫,而不用我們?nèi)藶榈剡M(jìn)行codereview檢察代碼規(guī)范。
??? 所以,我的觀點(diǎn)是盡可能地利用已有的工具遵循軟件企業(yè)既定的軟件開發(fā)過程來完善軟件的開發(fā),應(yīng)該善假于物。