本周我参加了 2008 TFS 的演示。目前我们正在使用 Jira 和 Svn(也许还有 Bamboo)。您更喜欢哪种解决方案?
9 回答
如果您只是使用 TFS 进行源代码控制而不使用其他任何东西(顺便说一句,这与租用喷气式飞机去拿快餐一样的方式太过分了),那么您最好使用仅进行源代码控制的较小解决方案(SVN 等)。TFS 是一个“应用程序生命周期管理”(ALM)工具,并包含大量附加功能:
- 错误跟踪
- 开发人员任务
- 外部问题提交
- 自动化构建
- 代码报告
- 项目状态更新/时间预测
- 还有很多
将它与仅执行源代码控制的工具进行比较并不公平——如果这样做,TFS 会显得笨重且昂贵。有一些工具可以用来做所有这些事情,在大多数情况下它们甚至可以很好地集成在一起,但特别是如果你的开发人员都使用 Visual Studio(并且总是有http://www.teamprise.com/如果有些不是)并且您在内部拥有一些 Sharepoint 知识,特别是如果您的开发人员拥有 MSDN 许可证(MSDN 包括 TFS 的 CAL,因此您只需要购买服务器许可证),TFS 无法被击败。
我是开源运动的大力支持者,我以微软的产品为生。在尝试让公司实施 TFS 时,我一直遇到的最大问题是成本。我的意思是让我们面对现实吧——免费、功能强大、有一大群人推出持续更新,而且大量易于集成的产品很难被击败。出于这个原因,我将 CruiseControl.net、CCTray、NAnt、NUnit、NCover、NDepend、NDoc、SVN、Tortoise 用于我的开发环境。他们只是开箱即用地一起工作。NAnt 对我来说非常灵活,我可以轻松地在 C# 中创建自定义 NAnt 任务并将它们直接插入。这允许在我的构建过程中更好地执行数据库自动化。NUnit、NCover、NDepend 和 NDoc 允许我对我的代码库进行深入分析和报告,每次构建都在每次签入时完成。每次构建时,此分析的结果都会发送给开发团队。通过成功的构建,我能够将我的更改向上游迁移到我的集中式开发环境中,让经理们可以看到团队的工作情况。让 CruiseControl 始终触摸和检查我的代码真是太棒了。使用它,我能够自动化所有环境之间的所有交互,从而允许我向上或向下推送代码。更重要的是,允许没有我这样技术的人向上或向下推送代码。使用它,我能够自动化所有环境之间的所有交互,从而允许我向上或向下推送代码。更重要的是,允许没有我这样技术的人向上或向下推送代码。使用它,我能够自动化所有环境之间的所有交互,从而允许我向上或向下推送代码。更重要的是,允许没有我这样技术的人向上或向下推送代码。
TFS 可以执行许多相同的任务。但是,它需要更多的配置,并且不能与几乎一样多的第三方工具一起使用。对我来说,缺乏灵活性是不可接受的(尽管我确信它会到达那里)。
相反的情况适用于某些人,因为我使用的所有工具都是第三方工具。每一个都是单独的下载、安装和配置。虽然我发现这很容易和无痛(因为它只是工作)这可能是一些人不想越过的停止标志......并且宁愿花钱购买 MS 支持的项目。
好吧,这只是另一个答案,只是因为该问题也包括 JIRA,而大多数答案都忽略了这一事实。我认为 JIRA 不仅仅是 SVN 一个问题。
这似乎是相当公平和有趣的比较。在过去的 4 年里,我一直是 SVN 和 Atlassian 工具的忠实粉丝,并且会继续这样做。最近我加入了另一家仍在制度化过程中的公司(正如他们在 CMMI 中所说的那样),因此我们就同一主题进行了激烈的辩论。除了我之外,团队中的大多数人已经对 SVN、CruiseControl、NANT 和 Atlassian 的想法深信不疑(是的,Atlassian 是必不可少的)。因此,正如该线程中的每个人都在说,真正的比较是针对应用程序生命周期管理而不仅仅是源代码控制,我们真正需要完整的应用程序生命周期管理(更少项目管理),这就是我的意思
- 源代码控制- 创建分支、标签、进行代码合并应该很容易,有时也应该在 http 上工作
- WIKI - 项目经理的天堂和开发者的圣经和笔记区
- 错误数据库- 应该在程序员、项目经理、质量检查人员和客户之间(是的,很广泛)这意味着很酷的用户界面、跟踪和与源代码控制的集成
- 源代码审阅者- 必须有,这就是 Atlassian 再次击中的地方(带坩埚的鱼眼)
- 自动化构建- 越令人担忧越好
如果您打算在企业内部使用 Visual Studio 工具集和生态系统,TFS 是一个可行的选择。它与 IDE 进行了更深入的集成,并且很好地完成了所有 5 件事。您可以获得每个项目的 SharePoint 网站。但是,如果您不打算使用 Visual Studio 工具集或项目将公开。Atlassian 工具免费托管在云端。他们应该是首选。
这实际上取决于您的项目和企业。它们都是不错的选择。
如果您使用 MS Visual Studio for Windows 进行编码,那么 TFS 将是您的选择。如果您使用 Java 开发,那么我不会选择任何 MS 产品,因为它们依赖于平台。用于 ALM 的 Atlassian 产品线很棒,JIRA&GreenHopper、Confluence、Fisheye&Crucible、Bamboo.. 都是不错的工具且易于使用,对于小型团队 (<10) 而言,价格是锤子。而且你不需要任何 8 小时的 MS 洗脑来理解 Atlassian 许可系统;-)
我们刚刚在一个测试项目中安装了“工具堆栈”,我们可以立即看到优势,我对看到的结果非常满意。与 SONAR 的完美集成,我更喜欢 Confluence Wiki 而不是 Sharepoint wiki,审查工具坩埚很昂贵,但非常有用。
我不知道 TFS 2010 会带来什么——在功能和成本方面——但是当我不得不处理它时,MS 许可证政策一直让我感到沮丧。
这是你得到你所支付的一种情况。如果您的开发人员使用 Visual Studio,那么 TFS 是值得的,集成显然会击败其他集成。
您还可以获得 Web 访问部分,客户/客户可以使用它在没有 Visual Studio 的情况下创建功能请求和记录错误。而且,您还可以连接到 SharePoint 2007 团队网站。TFS 不仅仅是开发人员的“源代码控制”。
我已经尝试过 MS 的一个“源代码控制”系统,我不太可能尝试另一个。
我对 SharePoint 的 wiki 不满意。
他们做的那个.net的东西还不错……
就我个人而言,我会担心 TFS 造成的供应商锁定。我认为在这个领域还有很多创新要做,像 Bamboo 和 TeamCity 这样的产品正在引领潮流。无论他们与 VS 的结合有多紧密,TFS 都会不断追赶。
为 100 名开发人员团队部署 TFS 需要多少成本?
作为比较,我认为全套 Atlassian 工具(JIRA、Confluence、FishEye、Crucible、Crowd、Bamboo)大约是 2 万美元,然后再投入几天的咨询和培训,你就接近了总额。
对于小型团队,我同意 10 位用户的 Atlassian 10 美元几乎是不可能被击败的。
披露:我的公司 Consulting Toolsmiths 是 Atlassian 的合作伙伴
也值得一看:
sTFS 2010 提供多平台支持,因此您可以从 unix/Linux/Mac 或 Windows 使用它。您必须尝试一下才能看到使用 TFS2010 获得的优势。它是一个完整的 ALM 解决方案,因此甚至无法将其与任何其他非 ALM 工具进行比较。关于 Teamcity 和 Bamboo,它们仅提供与 TFS 2010 相去甚远的构建相关功能。TFS 2010 使用 Windows Workflow 构建并在多平台机器上构建真是太棒了。我的意思是,您将测试自动化,从编码 UI 到简单的实验室管理(虚拟和物理),以及您可以生成的报告类型,这些报告可以帮助您做出关键业务决策并改善团队的绩效和流程,它是在 TFS 中简直太棒了。眼见为实。此外,如果软件质量、流程、支持和节省的资金对您的公司很重要,我强烈推荐使用 TFS。换句话说,如果投资回报 (ROI) 和业务价值是关键因素,请选择 TFS 2010。