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