【IT168 管理文章】 "工欲善其事,必先利其器" ——《論語·魏靈公》 敏捷開發(fā)的潮流并不是由敏捷工具來推動(dòng)的,因?yàn)槟憧梢詢H使用命令行接口、單元測試工具和需求卡片來展開敏捷開發(fā)。但近年來,為了更好地支持敏捷開發(fā),敏捷工具也有了很大的發(fā)展。其中部分工具是直接面向新型項(xiàng)目管理方式的,特別是有些種類的工具已與敏捷開發(fā)密不可分。根據(jù)Forrester研究公司(Forrester Research)高級分析師Carey
Schwaber的研究結(jié)果,面向敏捷開發(fā)的項(xiàng)目管理工具、持續(xù)集成構(gòu)建工具和自動(dòng)測試工具已是敏捷開發(fā)不可或缺的工具。 Schwaber等人也指出,當(dāng)敏捷成為大型團(tuán)隊(duì)開發(fā)進(jìn)行大型項(xiàng)目的主流開發(fā)方式時(shí),這些自己臨時(shí)組織起來的技術(shù),如僅靠白板、電子表格和WIKI等將難以滿足需求。 Scrum作為當(dāng)前業(yè)界最流行的敏捷軟件開發(fā)方法之一,受到越來越多的關(guān)注。對于一個(gè)新的Scrum敏捷團(tuán)隊(duì)而言,選擇合適的Scrum工具是保證成功實(shí)施Scrum的關(guān)鍵一環(huán),然而了解市面上種類繁多的各種工具并做出選擇,是一件費(fèi)時(shí)費(fèi)力的事情。為幫助新團(tuán)隊(duì)更好地選擇和使用Scrum工具,筆者最終選定了一批國內(nèi)外用戶常用的Scrum工具,進(jìn)行了簡單比較,由于篇幅有限,不能詳盡,希望能對中國的敏捷開發(fā)者有所幫助。 基礎(chǔ)工具 白板 這是實(shí)施Scrum最簡單直接的方式,用于每天的跟蹤匯報(bào),還是非常不錯(cuò)的,但是對Product Backlog支持明顯不夠,也沒辦法保留歷史紀(jì)錄,而歷史紀(jì)錄對于回顧還是非常重要的,畢竟Scrum的核心理念之一就是通過短期回顧,達(dá)到持續(xù)不斷的改善。 Excel 我們最初也用過,有很多現(xiàn)成的模板可以用,曾經(jīng)寫過一個(gè)Script,自動(dòng)提取每天的Burndown Chart,自動(dòng)發(fā)給指定的郵件地址列表。主要問題是當(dāng)成員比較多的時(shí)候,同時(shí)修改一個(gè)共享Excel文件,會相互沖突,不好同步。如果需要模板,可以到"敏捷軟件開發(fā)隨筆"http://scrumxp. 下載。 免費(fèi)/開源工具 ScrumWiki 這個(gè)最初在一個(gè)項(xiàng)目上也用過,一開始感覺還不錯(cuò)。因?yàn)椴捎?/span>wiki模式,每個(gè)人都可以隨時(shí)編輯,更新任務(wù)狀態(tài),比較適合分布式開發(fā)。但當(dāng)你的需求變多變復(fù)雜時(shí),就不容易用了。后臺腳本是用Perl寫的,我們的一個(gè)外國同事還專門對它進(jìn)行了修改,增加了好多功能,這樣才好用起來。作為免費(fèi)開源的軟件,目前已經(jīng)沒有人支持和維護(hù),也不能支持中文。 XPlanner 最牛的祖父級的開源工具,完全免費(fèi),業(yè)界使用率排名第四,真的是窮人的項(xiàng)目管理工具!對于Scrum也有很好的支持。作為一個(gè)基于Web的XP團(tuán)隊(duì)計(jì)劃和跟蹤工具,只需要 Apace Tomcat即可。 XP獨(dú)特的開發(fā)概念如iteration、user
stories等,XPlanner都提供了相對應(yīng)的的管理工具,XPlanner支持XP開發(fā)流程,并解決利用XP思想來開發(fā)項(xiàng)目所碰到的問題。 XPlanner特點(diǎn)包括:簡單的模型規(guī)劃,虛擬筆記卡(Virtual note cards),iterations、user stories與工作記錄的追蹤,未完成stories將自動(dòng)迭代,工作時(shí)間追蹤,生成團(tuán)隊(duì)效率,個(gè)人工時(shí)報(bào)表,SOAP界面支持。 XPWeb 另一個(gè)基于Web的分布式方案。 使用PHP+MySql,可運(yùn)行于Linux、Windows或Mac。但其提供的在線演示在IE7下工作不怎么樣,沒法詳細(xì)測試。 Scarab Java Server平臺,對于統(tǒng)計(jì)查詢、報(bào)表、自動(dòng)郵件通知、評論協(xié)作、依賴關(guān)系跟蹤等都有很好的支持,可以靈活定制,支持多種語言,包括中文。 Double Chocco Latte 基于PHP,支持Apache或IIS、MySQL或SQL Server、Web客戶端,雖然也有人用于Scrum,但對Scrum的支持并不好,缺乏最基本的Burndown Chart。 GNATS GNATS 傳統(tǒng)來講,屬于缺陷跟蹤工具, 但根據(jù)Jeff Sutherland講,已經(jīng)支持 Scrum,沒有仔細(xì)研究。 廠商工具 VersionOne 最早的商業(yè)化產(chǎn)品,基于ASP.NET、IIS和SQL。沒什么好說的,業(yè)界使用率排名第一。 從功能上看,的確非常新穎,貫徹了敏捷中的User Story為先的原則和VSTS類似,將Issues、Defect、Task合并概念成為Task(在VSTS中更加優(yōu)雅,叫做WorkItem), 并且必須掛在UserStory下,這個(gè)工具值得看看,有試用版可以下載,或者可以使用他們在線提供的試驗(yàn)平臺。 團(tuán)隊(duì)可以使用“V1:敏捷團(tuán)隊(duì)”來管理產(chǎn)品和sprint
backlog,通過交互式的“任務(wù)板(taskboards)”和“測試板(testboards)”進(jìn)行每日開發(fā)活動(dòng),藉由報(bào)表和燃燒圖查看進(jìn)度,以及其他活動(dòng)。 通過這些功能,“V1:敏捷團(tuán)隊(duì)”的用戶可以做到: ·從電子表格中快速導(dǎo)入故事與缺陷,管理合并后的產(chǎn)品backlog。 ·利用簡單的多條目拖放操作,方便地完成計(jì)劃制定、對故事劃分優(yōu)先級。 ·使用電子白板界面同時(shí)制定多個(gè)版本的發(fā)布計(jì)劃,提高效率。 ·通過交互式的任務(wù)板(Taskboard)、測試板(Testboard)、每日Scrum dashboard來對版本和sprint進(jìn)行可視化追蹤。 ·針對版本和sprints的關(guān)鍵敏捷度量數(shù)據(jù)生成圖表,如Burndown、Velocity、Estimate
trends、Cumulative Flow Reports。 唯一的問題就是提供的選擇過多,對于尋求簡單明了工具的人,并不是一個(gè)好產(chǎn)品. Rally 業(yè)界使用率排名第二位!支持用戶需求的篩選、擴(kuò)展的篩選標(biāo)準(zhǔn)、改進(jìn)版本剩余時(shí)間表、新的通知規(guī)則(notification rules),以及用于Eclipse和CruiseControl.NET的連接器。 如果想了解更多,可以參考免費(fèi)在線試用體驗(yàn)版本。
ScrumWorks 個(gè)人認(rèn)為是對Scrum各個(gè)方面支持最好的商業(yè)產(chǎn)品,業(yè)界使用率排名第三位??芍С植煌膱F(tuán)隊(duì)工作于不同的項(xiàng)目上,非常靈活。既有簡單的web客戶端,也有強(qiáng)大的java客戶端。 有免費(fèi)使用版,且無時(shí)間限制,我們一直在用。 商業(yè)版ScrumWorks
Pro支持對Bugzilla和Jira的集成,帶有主題過濾功能的burndown圖表,以及其他輔助了解項(xiàng)目狀況和走勢的功能,還有眾多別的特性。 ScrumWorks Pro與Bugzilla和Jira的集成,體現(xiàn)在它可以導(dǎo)入兩者中的條目作為backlog條目,并且可以像對其他backlog條目一樣,對這些條目進(jìn)行操作??梢允褂盟阉鱽磉x擇感興趣的條目,并進(jìn)行單獨(dú)或多項(xiàng)導(dǎo)入操作。 Burndown圖表現(xiàn)在可以按照主題進(jìn)行分組。將backlog按照主題進(jìn)行組織后(類似于web 2.0中使用標(biāo)簽),你可以高亮或是過濾這些backlog,并且能夠使用同樣的主題針對burndown圖進(jìn)行過濾。 Mingle Mingle在ThoughtWorks官方站點(diǎn)可以免費(fèi)下載,且5個(gè)用戶以下的可以永久免費(fèi)使用。Mingle是用純Ruby打造的且運(yùn)行在JRuby上的一個(gè)產(chǎn)品,由于ruby是一門腳本語言,所以其移植性就很好,用其編寫的程序安裝起來也甚是容易,在Windows、Mac和Unix多種主流平臺上跑都是沒有問題的;但也正是由于采用ruby編寫,Mingle對硬件的要求也甚高,在我這臺512M內(nèi)存的機(jī)器上跑是超慢的、讓人鬧心的,建議還是放到性能好的、單獨(dú)的服務(wù)器上,內(nèi)存容量官方建議是2G。在試用時(shí),還遇到了好幾次IE錯(cuò)誤,只好放棄了。 Mingle后臺存儲采用數(shù)據(jù)庫方式,目前僅支持mysql和Postgres兩種數(shù)據(jù)庫版本,不能支持其它大型數(shù)據(jù)庫,這點(diǎn)比較遺憾。 簡單用了一下,發(fā)現(xiàn)如下很好的功能: - 支持建立"個(gè)性化"項(xiàng)目模板,便于復(fù)用; - 附帶項(xiàng)目wiki,便于"項(xiàng)目知識積累和管理"; - 豐富的card
properties,使需求驅(qū)動(dòng)的管理流程更加清晰; - 支持card和源代碼之間的link。 Select Scope Manager 商業(yè)化產(chǎn)品,有試用版可下載。定制性比較差. XP Plan-it 僅僅支持把你的數(shù)據(jù)放在他的Server上,你通過下載的客戶端更新和查看數(shù)據(jù)。好像對大多數(shù)人來講意義不大。 ProjectCards ProjectCards 維持項(xiàng)目管理的索引卡片,精確的具體內(nèi)容,一個(gè)項(xiàng)目控制盤,搜尋和過濾能力和拖放反復(fù)計(jì)劃。六十日免費(fèi)的試用。 基于Client/Server結(jié)構(gòu),支持plug-in for Eclipse。 TargetProcess 是一個(gè)敏捷項(xiàng)目管理與Bug跟蹤系統(tǒng)。企業(yè)版提供很多定制的功能。 這個(gè)工具挺適合小項(xiàng)目團(tuán)隊(duì)的。 ExtremePlanner 一個(gè)基于web的工具,它的功能幾乎與ProjectCards完全一樣,但是它添加了在任務(wù)級別進(jìn)行評估的功能,這一改進(jìn)非常棒。由于是基于web的, 所以它的界面可能不夠漂亮,但是由于基于瀏覽器,它獲得了一些靈活性(例如,當(dāng)項(xiàng)目成員想在線查看狀態(tài)報(bào)告時(shí),如果是使用ExtremePlanner,就無需安裝任何東西。) 我還在進(jìn)一步考察這個(gè)工具,但是它看起來相當(dāng)不錯(cuò)。 TRICHORD 這個(gè)名為“TRICHORD”的敏捷項(xiàng)目管理工具,是基于精益思想的,對Scrum也適用。TRI指的是三種視角(時(shí)間、任務(wù)和團(tuán)隊(duì)),CHORD則是和諧的意思。 它作為全團(tuán)隊(duì)分享項(xiàng)目狀態(tài)的一個(gè)工作空間來運(yùn)作,里面提供三種層次的看板圖--特性看板(發(fā)布-特性)、故事看板(故事-迭代)和任務(wù)看板(工作日-任務(wù))。特性看板用停車場圖來歸納,故事和任務(wù)看板用延燒圖來歸納。 后記 每一個(gè)Scrum工具,都有自己的特點(diǎn),都有自己的過人之處,進(jìn)行選擇時(shí),需要謹(jǐn)記這樣一條基本原則:“適合自己的,才是最好的”。畢竟每個(gè)團(tuán)隊(duì)、每個(gè)項(xiàng)目、每個(gè)產(chǎn)品,以及在不同的時(shí)間段,都會展示出不同的需求。一般而言,可以從如下幾個(gè)方面進(jìn)行考慮: 1.可利用的功能 作為一個(gè)Scrum工具,一定要考慮是否支持Scrum框架所必需的基本元素,如Product Backlog、Sprint Backlog、Burndown
chart等?是否支持多個(gè)用戶? 2.安裝要求 這里主要考慮運(yùn)行該工具軟件對計(jì)算機(jī)硬件和軟件的要求:存儲器、硬盤空間容量、處理速度和能力、圖形顯示類型、打印設(shè)置以及操作系統(tǒng)等。 3.經(jīng)濟(jì)性 這個(gè)無需多言,畢竟,貴的并不一定就是最好的。 4.操作簡易性 主要應(yīng)考慮系統(tǒng)的"觀看"和"感覺"效果、菜單結(jié)構(gòu)、可用的快捷鍵、彩色顯示、每次顯示的信息容量、數(shù)據(jù)輸入的簡易性、現(xiàn)在數(shù)據(jù)修改的簡易性、報(bào)表繪制的簡易性、打印輸出的質(zhì)量、屏幕顯示的一致性,以及熟悉系統(tǒng)操作的難易程度。 5.可維護(hù)性 作為一個(gè)敏捷開發(fā)支持工具,一定要維護(hù)簡單,有備份功能。此外,還要看是否有人繼續(xù)支持,做后續(xù)產(chǎn)品新功能的不斷開發(fā)及Bug修復(fù)。 6.安全性能 有些公司可能認(rèn)為安全問題很重要,那么就要特別注意對工具軟 、每個(gè)項(xiàng)目文件及每個(gè)文件數(shù)據(jù)資料的限制訪問方式。 目前,由于Scrum工具的使用越來越容易和有趣,再加上提供的大量很有吸引力的特性,可能使得項(xiàng)管理人員過分依賴于工具。其實(shí),任何軟件僅僅是幫助你更有效率、有效果地工作的一個(gè)工具,工具自己并不能管理項(xiàng)目。你進(jìn)行項(xiàng)目管理,一定要依靠你自己的技能,依靠你的團(tuán)隊(duì)的技能。如果沒有掌握Scrum敏捷項(xiàng)目管理的基本概念,對敏捷缺乏基本知識,只知道使用工具,但卻不知道工具的真正用途,工具就沒有什么意義了。 此文首次發(fā)表在《程序員》2008年第11期雜志。 |
|