再談Jazz與敏捷:全球性的分布式開發(fā)
作為一種以人為核心、強調(diào)迭代與循序漸進(jìn)的開發(fā)方法,敏捷開發(fā)(Agile development)正在被越來越多的公司所采用并對提高軟件生產(chǎn)效率、降低軟件開發(fā)成本等方面產(chǎn)生了積極的影響。
敏捷開發(fā)本質(zhì)上是一種開發(fā)理念與開發(fā)方式,它對開發(fā)工具沒有任何強制性的要求。簡單的命令行工具與單元測試也可以實現(xiàn)敏捷開發(fā),只要我們自己足夠“敏捷”。但工欲善其事,必先利其器,好的開發(fā)工具對于敏捷開發(fā)會起到事半功倍的效果。近年來涌現(xiàn)出了一些能夠很好支持敏捷開發(fā)的工具,而Jazz以及基于Jazz平臺的一些列工具就是這其中之翹楚。
在Tom DeMacro與Timothy Lister的軟件開發(fā)巨著《人件》一書中,兩位大師提到“人與人之間的交互是復(fù)雜的,并且其效果從來都是難以預(yù)期的,但卻是工作中最重要的方面”。溝通與交互向來是軟件開發(fā)的重點與難點,同時也是敏捷開發(fā)最為關(guān)鍵的原則之一。因為,在敏捷開發(fā)看來“個體和交互勝過過程和工具”。
作為Agile開發(fā)的利器,提升開發(fā)團(tuán)隊的溝通與協(xié)作水平是Jazz首要目的。Jazz繼承與發(fā)揚了Eclipse平臺可擴(kuò)展性的特點,它提供了軟件開發(fā)周期各個階段以及不同開發(fā)人員所需要的各種不同功能,這其中包括需求管理、進(jìn)度管理、開發(fā)平臺、缺陷管理、代碼版本管理、測試自動化以及即時通信等工具。這使得項目經(jīng)理、架構(gòu)師、開發(fā)人員、測試人員以及維護(hù)人員都可以工作在同一個平臺上,這就大大的降低了溝通與協(xié)作的代價并提高了溝通與協(xié)作的效率。
Jazz擴(kuò)展性還在于,它本身提供了需求管理、進(jìn)度管理、開發(fā)平臺、缺陷管理、代碼版本管理、測試自動化以及即時通信等功能的同時,并沒有限制集成何種軟件來實現(xiàn)該功能。比如,可以使用開源的Apache Derby作為存儲數(shù)據(jù)庫,也能使用IBM DB2這種商業(yè)數(shù)據(jù)庫。只要符合Jazz規(guī)范,任何一種工具都可以無縫的繼承到Jazz平臺中。
對Agile的支持還體現(xiàn)在Jazz能夠很好的支持全球性的分布式開發(fā)。對分布式開發(fā)團(tuán)隊的支持是Jazz的另一個重點。基于之前在Eclipse平臺上的開發(fā)經(jīng)驗與教訓(xùn),Jazz內(nèi)置了名為EclipseWay的一種開發(fā)流程,它對分布式開發(fā)有很好的支持。不僅如此,Jazz的流程具有可定制的特點,開發(fā)團(tuán)隊可以按照自己的需求訂制。
此外,Jazz具有強大的報表功能。Jazz可以根據(jù)項目的進(jìn)展?fàn)顩r生產(chǎn)各種報表。報表不僅可以使得項目負(fù)責(zé)人從整個項目的管理和風(fēng)險控制的角度查看項目的當(dāng)前的狀態(tài),而且對Agile開發(fā)也有現(xiàn)實意義。比如在scrum方式中,報表對于任務(wù)優(yōu)先級別評估與分配具有參考意義。
總之,Jazz及基于Jazz的協(xié)作平臺在很好的支持了Agile開發(fā)思想的同時,其高效的團(tuán)隊協(xié)作與溝通方式、集成統(tǒng)一的工作環(huán)境及方便的擴(kuò)展與報表能力必然能大幅提高軟件開發(fā)的效率,設(shè)計開發(fā)出符合市場需求的好的軟件產(chǎn)品。
【編輯推薦】