人生充满了错误。
无论计划多么周密,无论设计投入多少时间,任何项目在实施阶段实际应用时都将遇到无法预见的问题。但这没关系。衡量任何组织弹性的最佳标准或许不是在一切按计划运行时他们如何处理事情,而是在遇到挫折时他们如何应对。
问题跟踪器是任何项目管理工作流程(尤其是在软件开发领域)的关键工具。基本功能很简单:允许以协作方式打开、跟踪和解决错误,同时使其易于跟踪进度。除了基本功能之外,还有许多专注于满足特定需求、功能和用例的选项,包括软件开发及其他领域。您可能熟悉这些工具的托管版本,如 JIRA、GitHub Issues 或 Launchpad,其中一些工具本身与开源社区有关联。
因此,让我们来看看管理错误和问题的四个绝佳选择,它们都是开源的,并且都易于下载和自行托管。需要明确的是,我们不可能在此处列出所有问题跟踪工具;相反,这些是我们最喜欢的四个工具,基于功能丰富性和项目背后的社区规模。当然还有其他工具,如果您认为您最喜欢的工具未在此处列出,请务必在下面的评论中告诉我们您最喜欢的工具是什么以及它的突出之处。
Redmine
Redmine 是一款流行的基于 Ruby on Rails 构建的问题跟踪工具,其历史可以追溯到 2006 年。Redmine 在许多方面与我们最喜欢的另一个工具 Trac 相似,能够管理多个项目并与多个版本控制系统集成。除了基本的问题跟踪之外,Redmine 还提供论坛、wiki、时间跟踪工具以及生成甘特图和日历以跟踪进度的能力。
Redmine 的设置相当灵活,支持众多数据库后端和数十种语言,并且也是可定制的,具有向问题、用户、项目等添加自定义字段的能力。它还可以通过许多社区创建的插件和主题进一步定制。
如果您想试用,可以访问 在线演示。Redmine 根据 GPL 版本 2 许可作为开源软件发布;源代码可以在项目的 subversion 存储库 中找到,也可以在 GitHub 上镜像。
Bugzilla
Bugzilla 是另一款流行的开发工具,具有问题跟踪功能。顾名思义,Bugzilla 最初由 Mozilla 基金会 创建,用于跟踪当时名为 Netscape Communicator 套件的开发中的错误。Bugzilla 从最初的 Tcl 路由移植到 Perl 以获得更好的可访问性,它是历史更悠久、应用更广泛的问题跟踪系统之一,因为它被许多著名的开源项目使用,如 GNOME、KDE 和 Linux 内核本身。
Bugzilla 拥有许多高级工具,从通知到重复错误检测再到共享搜索,无疑是一个功能更丰富的选择。Bugzilla 具有高级搜索系统以及全面的报告工具,能够生成图表和自动计划报告。与 Redmine 一样,Bugzilla 是可扩展和可定制的,无论是在字段本身还是在为错误创建自定义工作流程的能力方面。它还支持许多数据库后端,并且开箱即用地支持许多不同的语言。
Bugzilla 根据 Mozilla 公共许可证 许可,您可以在官方网站上阅读他们的 未来路线图 并试用 演示服务器。
Trac
Trac 将自己描述为对基于 Web 的软件项目管理采取简约方法,但不要将简约与缺少功能混淆。
Trac 用 Python 编写,将其错误跟踪功能与其 wiki 系统和您选择的版本控制系统紧密集成。它具有项目管理功能,如生成里程碑和路线图、可定制的报告系统、时间线、对多个存储库的支持、内置垃圾邮件过滤,并且提供多种常用语言版本。与我们研究过的其他错误跟踪器一样,它也有许多插件可用于进一步扩展其基本功能集。
Trac 根据修改后的 BSD 许可证 开源发布,尽管旧版本是根据 GPL 发布的。您可以在 自托管存储库 中查看 Trac 的源代码,或查看他们的 路线图 以了解未来的计划。
Mantis
Mantis 是我们将在本合集中介绍的最后一个工具,它是一款基于 PHP 的错误跟踪器,拥有 16 年的历史。Mantis 是另一款支持许多不同版本控制系统和事件驱动通知系统的错误跟踪器,其功能集与其他工具类似。虽然它本身不包含 wiki,但它与许多流行的 wiki 平台集成,并本地化为多种语言。
Mantis 根据 GPL 版本 2 许可作为开源软件发布;您可以在 GitHub 上浏览其源代码,或查看自托管的 路线图 以了解未来的计划。有关演示,您可以查看他们自己的内部 错误跟踪器。
正如我们所指出的,这四个工具并不是唯一的选择。想探索其他工具吗?Apache Bloodhound、Fossil、The Bug Genie 以及许多替代方案都有专门的追随者,每个工具都有不同的优势和劣势。此外,我们的 项目管理综述 中的一些工具也具有问题跟踪功能。那么,您首选的错误跟踪和消除工具是什么?
19 条评论