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