[Trac 經驗談之(1)雜談篇](http://blog.csdn.net/lanphaday/article/details/6609256)
[Trac 經驗談之(2)雜談篇補遺](http://blog.csdn.net/lanphaday/article/details/6658032)
[Trac 經驗談之(3)工作流篇](http://blog.csdn.net/lanphaday/article/details/6620098)
[Trac 經驗談之(4)報表篇](http://blog.csdn.net/lanphaday/article/details/6641391)
[Trac 經驗談之(5)插件篇](http://blog.csdn.net/lanphaday/article/details/6654027)
[Trac 經驗談之(6 完)插件篇補遺](http://blog.csdn.net/lanphaday/article/details/7100118)
=================
# Trac 經驗談之(1)雜談篇
賴勇浩([http://laiyonghao.com](http://laiyonghao.com))
### 雜談
### 簡介

Trac是一個基于Web的,輕量級的項目管理工具,它使用python語言編寫,官網:[http://trac.edgewall.org/](http://trac.edgewall.org/)。它集成了增強的Wiki功能和版本控制功能,并可通過插件擴展其功能。
Trac 的用戶大大的有!像 NASA 這樣的機構都有團隊(或項目)使用 Trac。像開源的項目如 JQuery、Django、C++ Boost 自然不在話下。但信不信由你,其實連 Virtual Box 這樣的項目,都是用 Trac 的噢!國內也有不少企業使用 Trac,比如豆瓣、金山,特別是金山,總結了很多 Trac 方面的經驗,他們的過程改進經理 ZoomQuiet 還編寫一了份幻燈《金山在如何使用Trac》(見:[http://zoomquiet.org/res/s5/100123-KTRACintro/](http://zoomquiet.org/res/s5/100123-KTRACintro/)),是一份極具價值的參考資料。
### 安裝
Trac 的安裝是很容易的,如果是在 linux 上安裝,只要 Follow 官方的 guides 一路走下去就行;不過 windows 下的話,就有點操蛋,不過你可以參考一下官方的《Trac On Windows》(適用于 0.9/0.10/0.11 版本,見:[http://trac.edgewall.org/wiki/TracOnWindows](http://trac.edgewall.org/wiki/TracOnWindows)),或者我在 2010 年 3 月寫的《在 windows 下安裝和簡單配置 trac 0.12》(見:[http://blog.csdn.net/lanphaday/article/details/5374066](http://blog.csdn.net/lanphaday/article/details/5374066))。
我用的版本是 0.13dev-r10734,直接從 svn co 源代碼安裝的,過程跟我前面提到的文章差距不大,所以基本上也適用于 0.13dev。
### 推廣
在推廣方面,我的看法是非常艱難的。我曾經在三個團隊推廣 Trac,只有一個成功了。第一個是在一個新建的小團隊里,我作為技術顧問,推廣 Trac,團隊里有個很有激情和鉆研精神的同學,把 Trac 調整得很好,但后來還是失敗了。因為剛開始,產品、策劃人員不習慣在 Trac 里通過 wiki 語法寫文檔,所以里面的 tickets 數量很少;等產品進入測試階段的時候,那個同學已經離職了,產品人員也沒有養成使用 Trac 進行缺陷跟蹤的習慣和意識,所以就廢了。
第二個是在某華南的網游大廠旗下的工作室里,我在那邊的角色是一名普通的開發人員。我說服了技術管理者共同推廣 Trac,并擠時間寫了教程,做了培訓。但是產品人員表面上同意使用 Trac,實際則從不向里面提交 ticket,于是退化成程序組內部的 wiki。在這個項目呆了 16 個月后,我因為覺得這個項目組缺乏規劃和管理,再多一年時間游戲也上不上市,所以離開了。后來聽留在項目組的同事講之前我安裝、配置的 Trac 早已經人走茶涼,不知覓處了。
第三個就是在我現在這個團隊。我們的整個團隊也是從零開始組建的,邊組建邊進行開發,到現在有差不多 40 個人進一個橫版過關動作類 webgame 項目的開發,一年時間,項目已經上線了。到目前為止,我們已經建立起依托于 Trac 的工作流程,做到了較快速、較靈活的響應。在這個團隊成功推廣 Trac,我覺得利益于兩點:
- 一是來自行政權力的保障,公司老總雖然之前從未用過 Trac,但他試用、評估之后,看出了 Trac 的潛力,給了我大力的支持;而我的技術負責人角色,也可以制定規則,并有力地保障執行;
- 二是我們及早地引入了測試人員,這一點利益于我在前文提到的網游大廠的工作經歷,通過測試人員,我們把很多問題細節擺上 Trac,再通過測試人員的推動,先由程序、策劃部門養成了使用 Trac 的習慣,再慢慢地影響到整個團隊。
宗上述經驗,我總結出如果沒有行政權力,想靠自覺來在一個多角色的部門推廣 Trac 無異于癡人說夢,而且 Trac 需要有比較熟悉的人可以隨時提供手把手的一對一教學服務才能夠讓策劃、美術等人用起來。最后給出一些推廣可用的資料:
1. 《金山在如何使用Trac》[http://zoomquiet.org/res/s5/100123-KTRACintro/](http://zoomquiet.org/res/s5/100123-KTRACintro/)
1. 《trac 推廣 ppt 分享》[http://blog.csdn.net/lanphaday/article/details/5436403](http://blog.csdn.net/lanphaday/article/details/5436403)
另外,送給有志于推廣 Trac 的朋友幾句話(From ZoomQuiet):
- 想用,就用起來了!
- 要和具體流程結合,就結合了!
- 不想用,怎么也不會用的(wiki 太難用;界面太難看;好復雜,學不會;)……
### 替代品
使用 Trac 這么久了,很多優點、缺點都看到了,優點我覺得沒什么好說的,仁者見仁;但 Trac 的缺點不少,我在這里數一下:
1. 不支持多項目,
1. 需求和缺陷沒有分離,
1. 用 wiki 來替代 Word 等工具編寫文檔對于產品策劃來說門檻太高了,
1. 中文化不完整,美術人員接觸起來困難重重,
1. 不顯示中文名,本地化做得很差,
1. 核心功能很少,不安裝插件基本上沒法用。
所以雖然現在這個團隊已經習慣了使用 Trac,但日后如果有新的項目,我還是想轉到一個更好的項目管理系統上來。目前我比較看好的就是禪道([http://www.zentao.net/](http://www.zentao.net/)),從它的官網拷來介紹如下:
禪道項目管理軟件(ZenTaoPMS)是一款國產的,基于LGPL協議,開源免費的項目管理軟件,它集產品管理、項目管理、測試管理于一體,同時還包含了事務管理、組織管理等諸多功能,是中小型企業項目管理的首選。禪道項目管理軟件使用PHP + MySQL開發,基于自主的PHP開發框架──ZenTaoPHP而成。第三方開發者或者企業可以非常方便的開發插件或者進行定制。
作為中國人開發的開源項目,基本上完全解決了上面的幾個問題。除此之外,禪道自身也有自己的 host 無憂在線項目管理([http://www.5upm.com/](http://www.5upm.com/)),可以在上面免費托管自己的項目。最近推出的新版本甚至支持架設到 Sina App Engine 上去,這樣可以幾乎無成本地獲得一個外網可訪問的、穩定的禪道系統,吸引力非常大。
不知不覺寫得太多了,接下來談一下 Trac 工作流及其定制,to be continued...