我们正处于为我们公司选择完整 ALM 系统的研究阶段。我们考虑将 TFS 2012 和 JIRA 用于产品、项目管理、质量保证、支持和开发团队部门。要支持的东西是错误跟踪、工作流、项目图(例如错误计数、烧毁等)。有什么建议吗?价钱?据我所见,TFS 更适合使用 Visual Studio 的研发团队,而不适合 Eclipse。
6 回答
以下是 TFS 的优势:
- TFS 是一种应用程序生命周期管理 (ALM) 解决方案,但 Jira 只是一个问题跟踪器。Jira 不支持 TFS 的许多功能,例如源代码控制和自动构建,因此您应该使用其他解决方案,例如 Subversion 或 Bamboo。
- 所有 TFS 组件,即源代码控制、问题跟踪器、构建自动化都是完全集成的。其他解决方案无法达到这种集成水平。
- 它与 Visual Studio 完全集成。
以下是 Jira(和其他 Atlasian 解决方案)的优势:
我曾使用 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 的标准。
我们使用 JIRA 和 GreenHopper 来满足我们所有的开发任务、错误跟踪和产品管理需求。我们有一个由 46 名开发人员、测试人员和管理人员组成的团队。它与 Eclipse 完全集成。我强烈推荐它。
任务和工作流是完全可定制的,您可以添加字段、添加自动化(例如在任务更改状态时将任务分配给团队成员)、支持拖放附件等等。
JIRA 的价格刚刚下降到托管主机的显着水平。
嗯,这基本上是关于市场趋势的,如果你从事开源技术特别是 java 的工作,大多数 java 专业人士都熟悉 JIRA,JIRA 几乎有所有类型的项目管理插件,SDLC,代码审查和错误跟踪。但是,如果您的员工使用 .net 或 microsoft 技术,他们就会对 TFS 感到满意。
一般来说,如果您的项目是用 Java(或其他开源)构建的,请使用 JIRA。如果它是基于 .NET 技术构建的,请使用 TFS。
从理论上讲,您可以将其中一种与 Java 或 .NET 结合使用,但集成不会那么紧密,您必须使用插件才能使一切正常工作。
JIRA / Subversion / Bamboo 更加可配置,并与其他带有钩子和触发器的开源工具集成。TFS 不允许与任何东西集成。它不可扩展。您无法使用模块或插件或扩展来改进它。在我看来,TSF 相当乏味和乏味,也就是说,如果您认为源代码控制和变更管理是必要的邪恶,那么 TFS 适合您,但如果您从事配置管理或构建/发布工程师,JIRA 是一种方式去。