JIRA vs TFS 2012 作为完整的 ALM 系统 [关闭]

Posted

技术标签:

【中文标题】JIRA vs TFS 2012 作为完整的 ALM 系统 [关闭]【英文标题】:JIRA vs TFS 2012 as full ALM system [closed] 【发布时间】:2012-09-22 15:33:32 【问题描述】:

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

【问题讨论】:

Eclipse 和 Java 开发人员使用 Team Explorer Everywhere 2012 插件与 TFS 进行了很好的集成。您甚至可以使用 TFS 创建基于 Java ANT 或 Maven 的自动构建:tfspreview.com/en-us/learn/build/setup-ci-build-in-eclipse 或许值得一读:***.com/questions/990067/tfs-vs-jira-bamboo-svn 您是否希望使用 TFS 进行工作项跟踪和项目管理?还是您想真正使用完整的 ALM 功能,例如版本控制以及构建和测试集成? 【参考方案1】:

以下是 TFS 的优势:

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

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

    它已被用于许多开源项目,例如JBoss、Spring等。 要启动 TFS,您需要高端服务器、MS SQL 等。但 Jira 可以安装在普通 PC 上的开放 DBMS 上,例如我的 SQL。 如果您使用 Java 技术,许多 Java IDE,例如IntelliJ、Eclipse 和 Netbeans 完全支持 Jira。我还没有看到对 TFS 的这么好的支持。 有许多可用于 Jira 的插件。你可以看看他们here。 如果您的团队规模较小,Jira 只需 10 美元。它真的很便宜。 Atlasian 解决方案对 Java 技术(Ant、Maven、junit 等)有更好的支持

【讨论】:

澄清两点:不需要高端服务器,TFS Express 在低端机器上运行良好,使用轻量级 SQL Express。 Java IDE 方面,微软免费发布了 Eclipse 的 TFS 插件,其他 IDE 也开发了自己的 TFS IDE 集成。 当然,公平地说,“高端”和“低端”是主观的,我怀疑TFS的系统要求比Jira的要高一点,因为附加的功能。但我仍然不会说它的要求是“高端的”。 @EdwardThomson:同意 Java IDE 的观点,但不适用于服务器案例。去年,我为 50 名开发人员在普通 PC 上安装了 TFS(即 Core i5 处理器和 4GB RAM & SQL Server 2008)。但是我的开发人员遇到了很多服务器性能低下的问题。最后,我没有办法购买一台惠普服务器并在其上启动 TFS。 很遗憾听到这个消息 - 大多数从事 TFS 工作的开发人员在(资源相当低的)虚拟机中运行服务器,因此占用空间小对我们来说很重要。我们尽量保持小,但我们的开发环境并不总是复制生产。感谢您的回复。 我认为,虽然 JIRA 确实只是一个问题跟踪器,但 JIRA + Confluence + Bamboo + Bitbucket 基本上捕获了 TFS 的大部分常用功能,并且完全集成。【参考方案2】:

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

我喜欢在一个集成包中包含源代码控制、工作项控制、构建控制、测试控制的想法,但不知何故,TFS 只是所有东西的below average implementation(Gated Checkin 除外,因为这很酷)。

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)。

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

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

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

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

Visual Studio 2012 现在包含一个虚拟看板,但我会感到惊讶的是,JIRA 没有添加此功能。

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

【讨论】:

JIRA 通过其 Grasshopper 插件包含看板。 @alphadogg 它是 Greenhopper(现为 JIRA Agile) TFS 2013 是目前​​最好的版本,我怀疑 Jira 能否与 TFS 的完整 ALM 功能竞争 使用 TFS 2013 并且我还没有看到任何重大改进,但使用 VS Ultimate 时可能会发生更好的事情?也许使用几乎免费的 Visual Studio 发布管理? atlassian 工具集成得非常好,支持所有生命周期重要的事情:需求和知识管理/共享 (confluence)、敏捷计划和跟踪 (jira + jira 敏捷)、源代码控制和审查 ( stash)和构建/发布/测试自动化(bamboo)。是的,它们都是独立但非常集成的软件。【参考方案3】:

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

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

JIRA 的价格刚刚大幅下降到managed hosting。

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

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

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

【讨论】:

JIRA 还与 Visual Studio 集成,据说 IDE 对问题跟踪的支持在我的重要性列表中并不高。我建议使用在您的项目中效果更好的产品,而不是因为它基于他们最喜欢的语言或平台。根据我多年来使用这两种产品的经验,TFS 在问题跟踪方面无法比 JIRA 更好。【参考方案6】:

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

【讨论】:

这是一个有偏见和误导性的答案。 TFS 是 SCM、Work Item Tracking、Build 和 Alerting 的一个令人难以置信的可扩展平台。在制作这样的 cmets 之前,请确保您已对该主题进行了充分的教育,而不是试图将您的偏见观念强加给其他试图学习的人。 这可能是我在 SO 上看到的最错误的答案。

以上是关于JIRA vs TFS 2012 作为完整的 ALM 系统 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

VS2012 & TFS2012 单元测试主要问题

带有Jira的TFS-有任何工具吗?

TFS2012 vs Jetbrains TeamCity+YouTrack [关闭]

VS2012 TFS 解决计算机改名无法连接TFS的问题

VS2012 连接TFS 报错TF31002

使用TFS 2010在Visual Studio 2012中进行代码审查