这组问题试图引出一个最佳实践的答案,关于如何使用Scrum 2在TFS 2012 Areas和Iterations中进行设置。
背景: 我们自TFS 2005以来一直在使用Team System,最初为每个产品创建了一个团队项目,然后使用了MSF 4.2过程模板。后来我们稍微调整了一下(仅为一些工作项类型添加了一些字段)。
现在我们运行TFS 2012和VS 2012。考虑到过去的经验和社区反馈,我们将转向单个团队项目和Scrum 2.1,然后使用区域来分离产品和团队。以下链接对于此方法是不错的阅读材料:
- http://blog.hinshelwood.com/when-should-i-use-areas-in-tfs-instead-of-team-projects-in-team-foundation-server-2010/
- TFS Areas, Optimal Definition and Configuration
- Team Foundation Server - Area / Iteration
我们计划为区域应用典型的布局如下:
-> Team Project (Area root)
|--> Client A (This is also out team boundary - ie. we have a TFS Team for Client A)
|---> Product A
| |---> Feature Area 1
| |---> Feature Area 2
| |---> Feature Area 3
|
|---> Product B
| |---> Feature Area 1
| |---> Feature Area 2
|
| (ETC)
|--> Client B (This is also out team boundary - ie. we have another TFS Team for Client B)
|---> Product C
| |---> Feature Area 1
| |---> Feature Area 2
|
| (ETC)
就逻辑而言,我们很满意上述团队的配置。 根据上述规定,我们将拥有以下团队: *“客户A团队” *“客户B团队”
问题1)我们认为,由于我们的团队规模不是很大,并且为了使管理更可管理,我们不想根据产品定义团队,因为我们实际上是按客户分组,他们监督该客户的所有产品。这是一个错误,还是可以接受的?
问题2)假设上述团队配置是可以接受的,那么我们是否正确地将上述每个区域映射到每个团队,例如对于“客户A团队”,将“客户A”区域(及其所有子区域)指定为该团队拥有的区域。默认区域怎么样?将“客户A”区域的根设置为团队的默认值是否可以接受?
至于迭代布局,我们计划采用类似以下的方式:
-> Team Project (iteration root)
|--> Client A (This is also out team boundary - ie. we have a TFS Team for Client A)
|---> Product A
| |---> Release 1
| | |---> Sprint 1
| | |---> Sprint 2
| | |---> Sprint 3
| |
| |---> Release 2
| | |---> Sprint 1
| | |---> Sprint 2
| | |---> Sprint 3
| |
| |---> Release 3
|
|---> Product B
| |---> Release 1
| | |---> Sprint 1
| | |---> Sprint 2
| |
| |---> Release 2
| | |---> Sprint 1
| | |---> Sprint 2
|
| (ETC)
|--> Client B (This is also out team boundary - ie. we have another TFS Team for Client B)
|---> Product C
| |---> Release 1
| | |---> Sprint 1
| | |---> Sprint 2
| |
| |---> Release 2
| | |---> Sprint 1
| | |---> Sprint 2
|
| (ETC)
问题4) 团队待办事项迭代选择-由于我们的概念是每个客户一个团队而不是每个产品一个团队,这可能会有问题,但也许我理解错了。在TFS区域设置中,您可以指定“团队的待办事项迭代”。我的问题是,我们的PBI(产品待办事项)将是特定于产品的,不希望将它们与来自其他产品的PBI混合在一起。因此,我还无法理解如果我们选择“客户端A”作为“团队的待办事项迭代”,而不是“产品B”,其影响将是什么。我想我在自己混淆 - 什么选择是明智的?
上述问题源于我对所选迭代、区域、团队待办事项迭代和默认区域对每个定义的TFS 2012团队的影响不理解。我在此设置中遇到的一些问题是TFS能否正确识别每个团队的产品待办事项和冲刺待办事项。
我不知道是否为产品有一个团队项目和多个区域(通常推荐)会使问题复杂化。
问题5) TFS Web Access网站- 对于“WORK | work items | Shared Queries”下的任何给定团队,都有一个名为“Current Sprint”的文件夹下的预定义查询(阻止任务;冲刺待办任务;等),但似乎这些查询针对“Root Project\Release 1\Sprint 1”进行硬编码-它们不应该自动发现指定迭代日期吗?如果不能,那么维护这些查询的最佳实践是什么?
您是否知道一些优质的TFS 2012和Scrum 2特定的培训/教程,可以帮助解决这些问题或为成功的Scrum 2 TFS设置提供一些指导?