我们的小型开发商正在寻求将我们的项目从VSS迁移到TFS,我们正在评估TFS与其他项目(还没有完全触发)。我们软件商店的性质使我们在VSS中有100多个项目,从小型单人展示项目到大规模企业级应用程序。
我们正在尝试确定如何在转换中构建我们的项目,并且在大多数情况下决定将所有项目放入一个项目站点/系统,每个项目都有一个不在根目录下的子文件夹。
通过这种类型的设置,我们担心我们将失去TFS提供的许多功能(错误跟踪,scrum burndowns,报告,文档存储等),因为所有项目都将在同一个门户/项目中空间,很难将单个项目门票/物品分开。
有没有人有这方面的经验?你的解决方案是什么?你坚持使用TFS吗?
答案 0 :(得分:6)
这个问题的答案需要您做出一些规划:您打算如何使用TFS,以及哪些功能在产品中具有固有的局限性。我总结一下我的建议:
每个流程模板需要[至少] 1个团队项目。也就是说,如果两个团队想要采用/定制不同的流程,则需要将它们分开。
一旦满足条件#1,您可能不需要像您想象的那样多的单独的团队项目。 90%的TFS功能和设置本质上是分层的,允许您按照每个项目的要求对其进行广泛或狭窄的范围。
有关完整的详细信息,请参阅:
答案 1 :(得分:2)
确实,要获得TFS的所有好处,最好使用单独的项目,但这些好处应与管理许多项目相关的管理开销进行权衡。几年前,我使用Visual Source Safe ...在我离开微软之后,我转向Subversion。回到微软后,我正在使用TFS,到目前为止我对此非常满意。
流程指南,报告,集成的错误跟踪以及紧密的IDE集成完美地满足了我的需求。此外,TFS SDK允许一些有趣的可扩展场景。
答案 2 :(得分:2)
我采用的方法是为每个组件的逻辑分组创建一个TFS项目 - 所以我们有一个框架项目,其中包含我们所有应用程序通用的程序集,然后我们为我们的报价系统设置了一个单独的项目,另一个用于成本计算系统等等。虽然工作空间映射有点“有趣”,但它确实允许不同项目的不同设计方法,并且在不同的时间尺度 - 因此一个团队可能在冲刺的一半(大多数项目使用Scrum for Team System),在同一时间刚刚开始......
答案 3 :(得分:1)
我已经使用了几个SCC提供商,我们已经确定了TFS的所有功能,而其他功能则没有。错误关联,CI和自动化测试无疑是最重要的好处。
至于你是否使用多个项目,我会说这取决于项目是否共享任何公共代码。我们倾向于将TFS项目用于所有“相关”代码资产,因此如果我们有几个不同的解决方案做类似的事情并共享大量代码,我们使用单个TFS项目。如果他们没有任何共同点,那么他们就会成为独立的项目。
答案 4 :(得分:0)
我不确定这是否在2008年得到修复,但在2005年,当你构建了一个项目是根项目的子文件夹时,MSBuild将拉出根项目的整个源代码树 - 甚至是不属于你的文件的文件子目录。
根据您管理的源数量,这可以大大增加您的构建时间。
答案 5 :(得分:0)
我意识到这篇文章已经过时了,但是TFS 2010现在支持一个很棒的功能调用团队项目集合,它只是项目之上的另一个间接或分组级别。
这样可以更轻松地创建团队项目而不会堵塞命名空间并鼓励更好的组织!
Great Link更多关于收藏品的讨论
http://blogs.msdn.com/b/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx
我不是一个sharepoint用户,但我听说它与Sharepoint集合的概念非常相似:)