Trac 经验谈之(1)杂谈篇
最后更新于:2022-04-01 11:31:10
[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))
### 杂谈
### 简介
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_5721b3823ee33.png)
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...