8

我们的小型开发工作室正在寻求将我们的项目从 VSS 迁移到 TFS,并且我们正在评估 TFS 与其他项目(还没有扣动扳机)。我们软件商店的性质是,我们在 VSS 中有 100 多个项目,从小型的单人展示项目到大型企业范围的应用程序。

我们正在尝试确定如何在过渡期间构建我们的项目,并且在大多数情况下,决定将所有内容放入一个项目站点/系统中,每个项目都有一个根目录下的子文件夹。

使用这种类型的设置,我们担心我们将失去 TFS 提供的许多功能(错误跟踪、scrum 燃尽、报告、文档存储等),因为所有项目都将位于同一个门户/项目空间中,而且它将很难分离出单个项目票/项目。

有人对此有经验吗?你的解决方案是什么?你坚持使用 TFS 吗?

4

6 回答 6

6

这个问题的答案需要您进行一些规划:您打算如何使用 TFS,以及这些功能中的哪些在产品中具有固有的限制。我将我的建议总结为:

  1. 每个流程模板需要 [至少] 1 个团队项目。也就是说,如果两个团队想要采用/定制不同的流程,他们将需要分开。

  2. 一旦满足条件 #1,您可能不需要像您想的那样多的单独团队项目。90% 的 TFS 功能和设置本质上是分层的,允许您根据每个项目的需要将它们的范围扩大或缩小。

有关完整的详细信息,请参阅:

于 2009-06-25T20:04:52.497 回答
2

确实,要获得 TFS 的所有好处,最好使用单独的项目,但是应该权衡这些好处与管理许多项目相关的管理开销。多年前,我使用 Visual Source Safe……离开 Microsoft 后,我​​切换到了 Subversion。回到微软后,我正在使用 TFS,到目前为止我对它非常满意。

流程指导、报告、集成的错误跟踪和紧密的 IDE 集成完美地满足了我的需求。另外,TFS SDK 允许一些有趣的可扩展性场景。

于 2008-12-30T15:20:30.877 回答
2

我采取的方法是为程序集的每个逻辑分组创建一个 TFS 项目——所以我们有一个框架项目,其中包含所有应用程序共有的程序集,然后我们有一个单独的项目用于我们的报价系统,另一个用于成本核算系统等。虽然工作区映射有点“有趣”,但它确实允许针对不同项目和不同时间尺度的不同设计方法——因此一个团队可能同时完成了一个冲刺(大多数项目使用Scrum for Team System)另一个时间才刚刚开始……

于 2009-01-01T21:36:46.903 回答
1

我已经使用了几个 SCC 提供程序,并且我们已经选择了 TFS,因为它具有其他人没有的所有功能。Bug 关联、CI 和自动化测试无疑是最重要的好处。

至于是否使用多个项目,我想说这取决于项目是否共享任何公共代码。我们倾向于对所有“相关”代码资产使用 TFS 项目,因此如果我们有几个不同的解决方案来做类似的事情并共享大量代码,我们会使用单个 TFS 项目。如果它们没有共同点,那么它们就会成为单独的项目。

于 2008-12-30T15:24:38.497 回答
0

我不确定这是否在 2008 年得到修复,但在 2005 年,当您构建一个作为根项目的子文件夹的项目时,MSBuild 将提取根项目的整个源代码树——甚至是不属于您的子文件夹的文件。

根据您管理的源数量,这可能会大大增加您的构建时间。

于 2008-12-30T15:32:32.037 回答
0

我意识到这篇文章已经过时了,但是 TFS 2010 现在支持一个很棒的功能,称为团队项目集合,它只是项目之上的另一个级别的间接或分组。

这使得创建团队项目变得更加容易,而不会阻塞您的命名空间并鼓励更好的组织!

伟大的链接谈论更多关于收藏

http://blogs.msdn.com/b/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx

我不是 sharepoint 用户,但我听说它与 Sharepoint 集合非常相似的概念 :)

于 2012-06-07T23:31:51.193 回答