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