我曾多次面对一个团队想要构建自己的缺陷跟踪系统,这不是作为产品,而是作为内部工具。
我听到的支持意见通常是:
- 希望通过一些内部构建的Web框架来“吃自己的狗粮”
- 需要一些高度专业的报告或以某种所谓独特的方式调整某些功能
- 认为构建缺陷跟踪系统并不困难
如果要支持购买现有的缺陷跟踪系统,你可能会使用哪些论点?特别是,哪些功能听起来很容易但实际上很难实现,或者很难并且很重要但常常被忽视?
我曾多次面对一个团队想要构建自己的缺陷跟踪系统,这不是作为产品,而是作为内部工具。
我听到的支持意见通常是:
如果要支持购买现有的缺陷跟踪系统,你可能会使用哪些论点?特别是,哪些功能听起来很容易但实际上很难实现,或者很难并且很重要但常常被忽视?
我认为人们编写自己的错误跟踪系统(根据我的经验)的原因有:
对我来说,大多数错误跟踪器失败的最大原因是它们没有提供最佳用户体验,当你使用一个未经优化的系统时,这可能会非常痛苦。
我认为另一个原因与我们中几乎每个人(程序员)在某个时候都建立自己的定制CMS或CMS框架的原因相同(有罪)。只是因为你可以!
因为这不是计费时间,除非你打算出售它,否则它甚至没有什么用处。
有一些完全可以胜任的缺陷跟踪系统可供使用,例如FogBugz。
我曾在一家创业公司工作了几年,在那里我们起初使用了一个名为 GNATS 的开源工具,并在其基础上建立了自己的复杂缺陷跟踪系统。我们认为这样可以避免花费大量资金购买商业系统,并且能够得到完全适合我们需求的缺陷跟踪系统。
当然,情况远比预期的要困难得多,这也让开发人员分心——他们不得不除了编写代码外,还要维护缺陷跟踪系统。这是导致我们公司瓦解的因素之一。
直接使用一些开源软件。 当然,这些软件中可能存在着一些漏洞,你可能需要一些还未被修复的功能或者等待修复的漏洞。这种情况经常发生。 :)
如果你对开源软件进行扩展/定制,那么你必须自己维护它。现在,原本应该帮助你测试赚钱应用程序的应用程序将成为你支持的负担。
我自己搭建了一个Bug跟踪系统。最初我也以为:“有多难呢,只是个Bug跟踪系统而已” 错 - 错误* - 花了六个月的时间来编码。
我自己搭建的主要原因是为了让它完全符合我的想法。另一个原因是作为一个爱好项目。
我认为唯一正当的时候是当它作为一个爱好项目时才可以自己搭建。任何公司都不应该浪费时间去做这个。
顺便说一下,我的软件叫做Bugweb。