Issue Tracking System (ITS)是供软件开发所使用的系统,允许在软件开发中和追踪每个问题进程,直到问题最终被解决。在ITS中,一个"问题",可能是Bug,可能是一个功能,也可能是一个测试。这些都可以被 ITS 管理,拥有者或者其它的什么管理单元所跟踪。  

  ITS 通常给用户提供了一条报告"问题"的通径,并且跟踪它的解决过程,了解造成"问题"的原因。它还允许系统管理者定制跟踪程序,避免问题解决部分的一些多余的文件造成时间的延误。许多行业的企业都使用ITS软件,包括软件开发商、生产商、IT帮助桌面和其它的服务提供者。

  严格的讲,ITS 是 SCM 中的变更控制和过程控制理论的实现者,再加上 VCS,可以构成管理一个软件生产过程的基本模型。

  现在大多数 ITS 都提供与 VCS 集成的功能,可以很方便的了解到一个"问题"所经历的源代码变化,并对此进行数据统计,改进工作计划或协调任务。

  由于软件是无形的存在,人们在很大程度上难以掌握和估计,因此经常会发生对于低估某个项目的开发周期,最终造成项目的延迟甚至流产;而由于 ITS  的 Timeline 能在很大程序上直观的了解到项目的进度,以某个里程碑为推进目标;无论是开发者的士气还是管理者的焦虑,都能得到够好的效果。

  并且,由于 ITS 几乎全盘接管项目的开发过程,因此只需要很少的文档,新成员或者项目维护者就能够了解到整个项目的历史、功能以及未决问题,从宏观上来说,非常有利。

  此外,对于需求变化,使用 ITS 也能够做到较为迅速的反应和记录;我可以毫不顾忌的说,ITS、VCS 是实施敏捷所必需的工具,缺少任何一项,都不能称之为完整的敏捷。无论是快速迭代开发或者稳健的 TDD,ITS 都将是不可或缺的成员。

  真正实施 ITS 需要的是团队成员的配合,如果仅仅是拿来做摆设,或者作为一种事后补充,几乎上述所有优点将丧失殆尽,ITS 的实施也就毫无意义。

  最后介绍一些著名的 ITS :

Bugzilla

  作为一个老牌到牙都不掉的 ITS,无论是功能、社区支持还是与第三方工具协作方面,Bugzilla 都是极为稳定和高效的。

  由 Mozilla 出品,Free。

FogBugz

  有 Joel on Software 开发,具体不太了解,不过作为一个获得 JOLT 大奖的产品,想来不会太差。付费产品。

JIRA

  由 Australian atlassian 公司的出品的 JIRA 是一个基于 J2EE 成熟的 ITS,曾经荣获 JOLT 大奖。全球很多大型公司和组织都在使用 JIRA 管理企业的项目;JIRA 是一个商业程序。

Microsoft TFS

  Microsft 在 Visual Studio 2005 提供对应 TFS(Team Foundition System) 同样也是一个 ITS,并且集成源代码管理功能,不过由于 TFS 配置管理及硬件需求过高,维护起来也颇为麻烦,在实际中少见使用。也许这是一个遵循微软三版定律的软件。

Edgewall Trac

  Trac 是一个基于 Web 的轻量级 ITS,个人以为它比较适合精英类型的团队使用,人数考量应在 3-6 人之间,由于使用 SQLite 及 PostageSQL 作为数据后端,Trac 无法承载更大型的项目管理工作。Trac 是一个开源的产品,有稳定持续的维护者和开发计划。

本文遵循 CC创作共享许可协议,所有内容仅代表个人观点,但不包括第三方内容。

posted on 2008-01-22 22:57  Zealic  阅读(3077)  评论(4编辑  收藏  举报