问题 我们是否错误地使用TFS 2010?


我们的团队是TFS2010的新手。从历史上看,我们使用了自己的业务需求矩阵(可追溯性矩阵)Excel电子表格。它有典型的列,如:

要求ID |项目|规则组|业务规则|键入...等

我们的业务规则列如下所示:

  • “该系统应提供一种方法,允许行为者搜索研究。”
  • “系统应提供一种方法,允许演员搜索项目。”
  • “系统应为入站包生成一个移动活动。”
  • “要导入Barcoded清单,系统应该在每个样本占位符中包含一个代码,说明样本已由条形码清单创建。”

由于我们行业在文档,审计等方面的严谨性,我们选择了MSF for CMMI而不是MSF for Agile作为我们的流程模板选择。

我们已经就如何将“我们的工作方式”实施到TFS 2010世界中的最佳方式进行了大量讨论。我们问题的症结似乎归结为以下几点:

  • 看起来我们应该遵循Implementation选项卡中Requirement - > Task之间的“父/子”关系。但是,这意味着我们有一项任务 一切 要求(似乎多余且过于细化)。
  • 我们喜欢将Task视为不太精细的东西(即“开发出站控制台屏幕”。)
  • 我们希望开发人员能够查看分配给他们的任务,并轻松查看哪些需求(功能和非功能)与这些任务相关联。
  • 可追溯性是一个高优先级,但是,我们不一定非常需要它(直到实际的代码行)。正如我们所看到的那样,这样做会使发展变得非常乏味和适得其反。我们希望在这方面有一个合理的平衡。

我们的方法真的是圆形钉到方孔吗?或者,我们只是误解/遗漏了什么?我们觉得我们对各种工作项类型有充分的了解。

为了增加更多的上下文,我们的理解是“功能”类型的需求是更细粒度要求的“父”,例如功能,非功能,QoS。我们知道场景的需求类型类似于用例。

因此,我们认为TFS 2010遵循以下层次结构:

  • 要求(特征)
    • 要求(功能)
      • 任务

显然,我们面临的问题是,虽然我们希望在某些方面需要/任务之间的父/子关系......我们几乎同时看到需要一个任务作为需求的父。

我们相信我们可以跳过Implementation选项卡(以及它强制执行的父/子关系)......并且只需使用All Links选项卡。这使我们能够更灵活地通过其他链接类型(例如“相关”或“影响/受影响”)来关联需求和任务......但是,最重要的是它打破了内置的TFS 2010报告(特别是关于跟踪要求进度/小时)。

任何见解都表示赞赏。


5996
2018-04-13 13:45


起源

我认为你的WI用法有些不妥之处。您可以查看本指南以获取更多信息 msdn.microsoft.com/en-us/library/dd997574.aspx 要么 msdn.microsoft.com/en-us/library/ee332491.aspx - bahadir arslan
我已经读过这些并意识到我们想要做的事情可能被认为是非典型的。但是,TFS被提升为可扩展的,可以满足任何开发需求。我不明白开发人员如何在当前模型中实际工作,其任务本质上是如此精细。在我看到的CMMI和敏捷(用户故事)示例中,“要求”似乎过于宽泛。 - Clay


答案:


听起来您需要自定义TFS附带的开箱即用的流程模板。

说实话,我认为每个人都应该定制模板,以确保他们获得适合他们流程的工具,而不是改变他们的流程以适应工具。

我不确定你是否了解一些可用的自定义选项,所以我只想提一些我为公司定制TFS时使用过的选项。

您可以 编辑 流程模板中开箱即用的任何工作项类型。 您可以执行许多自定义,例如,在我的公司中,我们只希望测试组中的人员能够关闭错误,因此我们将该约束放在关闭状态的所有转换上。

您可以根据需要添加转换,状态,字段,选项卡等。

如果您想要一个新的工作项,您可以从现有工作项类型的空白或基础创建一个新工作项,从现有类型创建一个新工作项, 出口 在工作项类型中,编辑xml以将名称更改为新类型,然后导入它。

您应该通过创建自定义来解决您对不同工作项类型之间关系的担忧 链接类型 然后将它们包含在你的新版本中 模板

您似乎对所要遵循的流程有一个很好的认识,我认为您需要自定义TFS以匹配该流程。

执行这么多自定义的一个缺点是标准报告不会为您提供有用的信息。这将要求您的团队撰写一些新报告。你也可以做一些不错的报道 高强 如果那样可以满足你的需求。

HTH


6
2018-04-21 08:31



谢谢,这有助于确认我们在团队中得出的结论。我做了一些定制。例如,我想要区域和迭代都是必需的......非常有趣的迂回方式来实现这一点(在StackOverlow中发现)但是效果很好。我不介意进一步定制,创建我们自己的流程模板等...但是失去关于时间跟踪的内置报告是这种方法的真正阻碍。不过,这确实有所帮助,谢谢! - Clay


我认为你必须在这里采用定制方法。选择对您来说重要的报告和指标作为您对TFS的要求。从那里,以一种可以获取报告和指标的方式设计工作项之间的链接。此外,您可能已经知道这一点,但是任务WI确实有一个学科领域,允许它不仅仅用于开发。祝你好运!


2
2018-04-14 14:38





首先,欢迎来到TFS世界。 :)

你希望如何工作没有错。您概述的层次结构很好,TFS将支持您需要它们的任何工作项类型(WIT)和关系(链接)。该 履行 选项卡,以及显示与其他WIT关系的所有其他选项卡仅仅是与您的类型相关的WIT列表的过滤器(即需求的 履行 选项卡显示所有类型的工作项 需求 要么 任务,并有一个 父/子 关系)。

接下来,您应该考虑您的流程需要哪些工件(WIT),以及它们应如何协同工作,以及如何根据需要自定义流程模板。

这样做比较简单,尤其是当您使用属于的过程编辑器时 Team Foundation电动工具。如果你想修改链接页面,那就完成了 布局 部分工作项类型。

关于需求与任务之间关系的问题:我总是将需求视为定义 什么 用户/客户需求。要求应该更加面向外部,描述需求,目标和期望的效果(和副作用)。任务更加内向,应该告诉开发人员 怎么样 他(或她)应该实现上述目标。

考虑到这一点,我总是希望开发人员只能工作 任务。此外,任务应始终来自需求(或错误,或更改请求等)。由于需求而未出现的任务可能表明工作不必要或计划不当。

希望这可以帮助, 阿萨夫。


2
2018-04-21 11:47



感谢Assaf,这也有助于直接听取另一位TFS用户对他们对事物的看法。 - Clay