37

我们正处于为我们公司选择完整 ALM 系统的研究阶段。我们考虑将 TFS 2012 和 JIRA 用于产品、项目管理、质量保证、支持和开发团队部门。要支持的东西是错误跟踪、工作流、项目图(例如错误计数、烧毁等)。有什么建议吗?价钱?据我所见,TFS 更适合使用 Visual Studio 的研发团队,而不适合 Eclipse。

4

6 回答 6

38

以下是 TFS 的优势:

  1. TFS 是一种应用程序生命周期管理 (ALM) 解决方案,但 Jira 只是一个问题跟踪器。Jira 不支持 TFS 的许多功能,例如源代码控制和自动构建,因此您应该使用其他解决方案,例如 Subversion 或 Bamboo。
  2. 所有 TFS 组件,即源代码控制、问题跟踪器、构建自动化都是完全集成的。其他解决方案无法达到这种集成水平。
  3. 它与 Visual Studio 完全集成。

以下是 Jira(和其他 Atlasian 解决方案)的优势:

  1. 它已用于许多开源项目,例如JBossSpring等。
  2. 要启动 TFS,您需要高端服务器、MS SQL 等。但 Jira 可以安装在普通 PC 上的开放 DBMS 上,例如我的 SQL。
  3. 如果您使用 Java 技术,许多 Java IDE,例如 IntelliJ、Eclipse 和 Netbeans 都完全支持 Jira。我还没有看到对 TFS 的这么好的支持。
  4. Jira 有很多可用的插件。您可以在这里查看它们。
  5. 如果您的团队很小,Jira 只需 10 美元。它真的很便宜。
  6. Atlasian 解决方案对 java 技术(Ant、Maven、junit 等)有更好的支持
于 2012-10-17T17:48:12.243 回答
16

我曾使用 JIRA / Subversion,现在使用 TFS 2010,我认为 JIRA / Subversion 是更好的工具。

我喜欢在一个集成包中拥有源代码控制、工作项控制、构建控制、测试控制的想法,但不知何故,TFS 只是低于平均水平的所有实现(门控签入除外,因为这很酷)。

TFS 版本控制使用与 VSS 一样的绑定,因此对同一版本进行多次检出需要额外的努力。使用 TFS 搁置集暂停/恢复工作的能力是能够进行并发工作的官方解决方法。

TFS 有时会因为其 SQL 表锁而失控,因此它已重新启动。SQL 索引也随机损坏,因此突然显示文件夹历史记录需要几分钟时间。VS2010 中的 TFS 需要一直在线才能进行任何源代码编辑,尽管这在 VS2012 中已得到修复。但是 VS2012/VS2013 GUI 与 TFS 集成得如此紧密,所以如果 TFS-server 出现问题,那么 VS 中的一切都会变得迟缓。这在新的 VS2015 CodeLens 中非常明显,应该禁用所有 TFS WorkItem Lookup,否则 VS2015 会比平时更频繁地卡住。

Visual Studio 在一个工作周内会出现一两次无法获取最新源的情况(有时是静默)。如果您尝试再次获取最新版本,那么它会说您已经拥有最新版本。当您执行构建时,它当然会失败。解决方法是通过强制覆盖执行获取特定版本。

要为文档创建 wiki,则需要 SharePoint,而 2010 版是一个非常糟糕的 wiki 工具。

由于某些非常奇怪的原因,Microsoft System Center(非常昂贵)完全脱离了 TFS 解决方案,并且像老妇人一样徘徊。使事件与 TFS 工作项同步变得非常困难,并使用 System Center 部署 TFS 构建。VS2013 Update 4 现在包括几乎免费的 InCycles 发布管理,这应该可以使持续集成更好地工作(IIS 应用程序可以使用Web Deploy)。

如果您使用诸如发布分支之类的高级内容,那么您会惊讶于生成发布说明文档是多么困难(阅读需要不受支持的 3rd 方工具)。合并到发布分支时,工作项不会自动关联。如果你突然想要发布一个新的构建,那么创建一个发布报告,列出自上次发布的构建以来包含的更改/工作项将无济于事。

JIRA/Subversion 在 Visual Studio (VisualSVN) 中的集成要好得多(ankhsvn 是 VisualSVN 的替代开源版本)。仍然不明白为什么 Tfs-annotate 不能像 Svn-blame 那样跳转到下一个以前的版本。

我不知道设置 TFS 2010/2012 的难度,但是 JIRA / Subversion / CruiseControl.NET 非常简单且便宜(猜想现在有人会使用也支持Gated Checkin的 Git 和Jenkins)。

VS2012 还包括对整个用户界面的重新设计,其中包括一个新的“改进的”TFS 团队资源管理器,作为开发人员使用它真的很痛苦(与 VS2010 相比)。微软已经宣布Team Explorer 已在 VS2013 中修复,但事实并非如此。执行签入和关联 tfs-workitems 是鼠标单击地狱。

Visual Studio 2012 现在包括一个虚拟看板,但我会惊讶于这个功能没有添加到 JIRA。

当 Visual Studio 团队宣布他们将在 Visual Studio 2012 中实现 GIT 支持时感到非常惊讶。猜想这比尝试将 TFS 重写为分布式版本控制系统更容易。希望新的 GIT 集成能够达到 VisaulSVN 的标准。

于 2012-10-18T15:06:56.343 回答
3

我们使用 JIRA 和 GreenHopper 来满足我们所有的开发任务、错误跟踪和产品管理需求。我们有一个由 46 名开发人员、测试人员和管理人员组成的团队。它与 Eclipse 完全集成。我强烈推荐它。

任务和工作流是完全可定制的,您可以添加字段、添加自动化(例如在任务更改状态时将任务分配给团队成员)、支持拖放附件等等。

JIRA 的价格刚刚下降到托管主机的显着水平。

于 2012-10-17T14:57:11.247 回答
2

嗯,这基本上是关于市场趋势的,如果你从事开源技术特别是 java 的工作,大多数 java 专业人士都熟悉 JIRA,JIRA 几乎有所有类型的项目管理插件,SDLC,代码审查和错误跟踪。但是,如果您的员工使用 .net 或 microsoft 技术,他们就会对 TFS 感到满意。

于 2012-10-17T15:04:50.557 回答
2

一般来说,如果您的项目是用 Java(或其他开源)构建的,请使用 JIRA。如果它是基于 .NET 技术构建的,请使用 TFS。

从理论上讲,您可以将其中一种与 Java 或 .NET 结合使用,但集成不会那么紧密,您必须使用插件才能使一切正常工作。

于 2012-10-17T15:48:21.490 回答
-10

JIRA / Subversion / Bamboo 更加可配置,并与其他带有钩子和触发器的开源工具集成。TFS 不允许与任何东西集成。它不可扩展。您无法使用模块或插件或扩展来改进它。在我看来,TSF 相当乏味和乏味,也就是说,如果您认为源代码控制和变更管理是必要的邪恶,那么 TFS 适合您,但如果您从事配置管理或构建/发布工程师,JIRA 是一种方式去。

于 2012-11-01T22:18:01.617 回答