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