协作对于一个团队来说至关重要,尤其是产品开发的团队,项目化的管理方式已经深入人心,MS Project 所有做过项目管理的人都应该了解,但是每天面对一张静态的甘特图来分配资源、调整进度的做法已经不合时宜了,在 Web 服务盛行的时代,以沟通为核心概念的小型团队项目管理服务 Basecamp 取得了成功,同时还捧红了 Ruby on Rails 框架。
沟通与共享是现代项目管理的核心,这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容 来推动项目的进度,同时系统利用时间线索(Timeline)和各种动态的报表(Report)形式来自动给成员汇报项目进度。
在技术开发领域,Bug 追踪、Wiki 和 版本控制的集成对于项目管理系统来说必不可少,当然能够实现这些功能的系统也有很多,例如:
- Trac:基于 Python 的开源程序,应该是最早将 Ticket 与项目结合起来的开发管理系统,支持 Wiki、Timeline、Report 和项目模块分级与里程碑定义,还能够绑定查看SVN内容,简单易用,但是团队开发速度太慢,很多功能确实,无法进行权限分配、多项目管理,配置不够灵活,实在有些遗憾
- Jira + Confluence:基于 Java 的 Bug 追踪和企业 Wiki 系统,需要购买,而且很贵,Jira 的 Bug 和事务流管理能力很强大,Confluence 应该是目前最好的企业 Wiki 系统,扩展性强,但是某些操作和体验显得有些跟不上时代
- ActiveCollab:基于 PHP 的 Web 项目管理程序,曾经是开源版本的,后来给商业化了,需要购买,Trac 与 Basecamp 的模仿者,安装和使用简单
- 还有许多 SaaS 方式的在线项目管理服务,例如:Comindwork、LiquidPlanner 、MyQuire、ProjectSpaces、Huddle、PlanHQ、Goplan 等,不过介于中国的出口带宽情况和用户心态问题,将重要的项目数据放在遥远的第三方目前来说还是有些不现实的…
啰嗦了很多,下面介绍主角 Redmine,一个 Trac + Basecamp 的混合体,吸取了两个系统的有点,基于 Ruby on Rails 框架开发,开放源代码,可以跨平台部署,indigo 觉得它应该是小型开发团队项目管理的首选系统。
- 多项目和子项目支持
- 可配置的用户角色控制
- 可配置的问题追踪系统
- 自动日历和甘特图绘制
- 支持 Blog 形式的新闻发布、Wiki 形式的文档撰写和文件管理
- RSS 输出和邮件通知
- 每个项目可以配置独立的 Wiki 和论坛模块
- 简单的任务时间跟踪机制
- 用户、项目、问题支持自定义属性
- 支持多种版本控制系统的绑定(SVN、CVS、Git、Mercurial 和 Darcs)
- 支持多 LDAP 用户认证
- 支持用户自注册和用户激活
- 多语言支持(已经内置了zh简体中文)
- 多数据库支持(MySQL、SQLite、PostgreSQL)
- 外观模版化定制(可以使用 Basecamp 的主题,感觉上就像是自己架设的 Basecamp 服务)
Redmine 的官方网站:http://www.redmine.org/
Redmine 的官方 demo 站点:http://demo.redmine.org/
更详细的功能说明请看官方网站的特性列表,如果还有哪些不能满足你的需求,可以在这里提出功能请求
Redmine 的部署比较简单,没有 Trac 那么多的依赖项,indigo 在 Mac OSX 10.5 下面安装好 ROR 2.1.2 的框架,配置 Redmine 到它的 demo 环境,使用 SQLite3 数据库连接,利用 Ruby 自带的 WEBrick 服务器就可以运行了。当然这只是简单的测试运营,要在真实环境中使用,还需要找一台服务器(推荐 Ubuntu) 并且使用 MySQL 作为数据库。
安装参考:在 Ubuntu 8.10 中安装 Redmine 系统 - by indigo