TFS代码变更和工作项关联,为系统变更提供完美的跟踪轨迹

TFS是微软的应用软件生命周期管理(ALM)的解决方案产品,相比我们常见的一些ALM产品,例如HP ALM, IBM Rational, Atlanssian Jira等,其最大的区别在于TFS将软件研发的详细过程和交付物都集中收集在同一个平台中,实现了软件研发资产的集中管控。同时将软件研发过程中的各种角色, 例如需求分析师、开发人员、测试人员、运维实施人员等集中在一个平台中办公,实现数据的充分共享和互通,大幅提高了企业中不同部门之间的沟通效率。

而在软件研发过程中最重要和最受关注的,非开发人和源代码莫属!在一个软件研发团队中,可以没有需求管理工具(有人用Word或者电子邮件管理),可以没有Bug管理工具(有人用Excel),也可以没有测试用例工具,但是不可以没有源代码管理工具。没有源代码管理工具的团队,其开发效率和质量和因此带来的版本管理混乱的问题,是可以预见的。因此在大部分软件研发团队中,都会使用各自习惯的代码管理工具,例如SVN, CVS, Git, VSS等。代码管理工具对于软件代码的备份、隔离、分支和版本管理等,起到了至关重要的作用。

但是仅有代码管理工具,我们很难追踪代码变更的的缘由,特别是时间一长,或者是开发人员因为工作原因离开了研发团队,新接手的开发人员很难快速介入到代码的开发工作中。更严重的情况是,新的团队接手一个软件系统的开发,经常发现需要耗费大量的时间去整理现有代码结构和变更的原因,由于系统复杂,很多人不愿意在这里花费时间,于是采取重写全部功能的极端方式,完全放弃了之前的代码。之所以造成这种现象,很大一部分原因是由于代码变更没有与对应的需求、任务、bug关联,无法查找到代码变更的来龙去脉,新的开发人员不敢在现有系统中做任何改动,担心动一发而牵全身,造成无法预见的问题。

为了加强代码变更和需求之间的关联,微软TFS在代码与工作项之间创建了强大的关联关系,可以通过需求,实现基于代码行级别的需求跟踪,精确分析代码和需求之间的互动关系。

下图是TFS系统中工作项和代码直接的关联关系图,通过下图可以看到代码变更(变更集)与需求关联在一起,而变更集则包含了每次变更的文件和代码变化信息。

 

Figure 1 - TFS工作项和变更集关系图

基于上述关系,开发人员在签入代码时,可以选择本次签入的关联工作项,可以是需求、任务或Bug等任何一种工作项类型,如下图:

Figure 2 - 签入代码时,关联工作项

当开发团队按照上面的思路和操作方法签入代码时,TFS则在系统中存储了代码和相关工作的关联关系,为研发团队后续分析问题,修复Bug等提供了数据记录。通过这种数据关系,也可以很方便的基于需求或者Bug抽取受影响的文件,为发布版本创建增量包提供基础数据。例如,我们可以使用一个流行的免费工具(Sidekicks http://www.attrice.info/downloads/index.htm),抽取一条需求受影响的全部文件,如下图:

Figure 3 – 在Sidekicks中,通过工作项查询获取所需的工作项

Figure 4 - 将收影响的文档列表导出成Excel(CVS)文件

Figure 5 - 在Excel中展示需求受影响的代码文件

 

http://www.cnblogs.com/danzhang/  ALM MVP 张洪君

时间: 2024-10-02 02:16:28

TFS代码变更和工作项关联,为系统变更提供完美的跟踪轨迹的相关文章

TFS API : 四、工作项查询

TFS API : 四.工作项查询 本节将讲述如何查询工作项,将用户统计数据. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from workitems where [工作项类型]='任务' and [指派给] = 'administrator' order by [标题] 我们通过多个步骤来学习, 一.基本查询 //取出团队集合URI下的项目名称,如果团队集合为空则取默认集合下项目 Uri tfsUri = new Ur

签入代码(新建分支,新建推拉请求)关联工作项,却找不到自己需要的工作项

问题描述 TFS 2017在用户体验方面,相比之前的版本已经做了非常大的提升.由于变化大,使用手册和文档(特别是中文)的更新不及时,在使用过程中用户往往存在许多困惑. 昨天我在页面中签入代码,同时需要关联工作项,缺无论如何也找不到我需要的工作项,如图1.但是我通过工作项查询,却可以查到我需要的工作项,如图2. 这种情况,当用户在新建分支.新建推拉请求过程中,都出现通用的现象. 图1 - 签入代码过程中关联工作项 图2 - 在工作项查询中按照标题查询工作项 解决方案 最初怀疑是由于我使用的中文过程

TFS(Team Foundation Server)敏捷使用教程(四):工作项跟踪(1)

工作项跟踪(1) 可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性.曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司TFS里的工作项是怎样的,网上这方面的资料很少.我就以三年前的三维管线项目为例,说一说我们的工作项跟踪,欢迎大家批评指正. 1 需求 敏捷宣言认为:"响应变化 重于 遵循计划",需求的变化,尤其是在中国,经常是无休无止.我们要做的就是要在TFS上做好需求管理, 从而达到响应变化的目的. 1.

TFS实现需求工作项自动级联保存

目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出.评审.设计以及实现的流程.基于这套流程,在许多的流程细节中,需要平台尽可能化的实现规则的自动化,把流程目标的支撑元数据落实到平台自动过程中的各类中间数据中.让平台按业务规则产生各类的在没有平台支持过程中很难产生的研发过程数据,同时提高研发全周期中各项工作过程及成果的量化和可视化,及早发现周期过程中存在的问题.偏离和风险,并进行规划和设计

在TFS 2013的迭代视图中修改工作项数目限制

当TFS迭代中的工作项数目超过500时,在TFS的网页(Web Access)显示中就会出现红色警告提示"积压工作(backlog)中的项数超出配置的限制500.当前总数为529-."(如下图). TFS在迭代视图中默认显示500条需求/任务等工作项,超出以后将出现警告信息(如你的截图):但不影响迭代视图,也不影响查询得出的结果. 可以通过重新配置TFS的流程配置文件修改限制数目,操作步骤如下: 1. 打开命令行窗口,并定位到Viusal Studio 2013的安装位置 我的计算机是

TFS API:二、TFS 代码查询工作项

TFS API:二.TFS  代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS API服务类.他们的区别如下: 服务 TfsConfigurationServer (服务器级别) TfsTeamProjectCollection (集合级别) ITeamFoundationRegistry  √  √ IIdentityManagement

TFS支持移动设备,微软已经走出了第一步(手机上更新、查询工作项)

TFS支持移动设备,微软已经走出了第一步! 从现在开始,你可以在手机浏览器上打开自己的VSTS团队项目,会看大手机版的工作项界面,你可以在手机设备上更新.查询工作项. 这是原生自带的,这些移动功能马上就会应用到后续发布的tfs版本中.按照微软产品组的开发计划,还会持续发布查询.代码.推拉请求和敏捷支持等移动功能. (微软ALM MVP 张洪君 http://www.cnblogs.com/zhanghongjun) 下面是一些手机截图:

如何修改TFS 2013中工作项附件大小限制

默认情况下,TFS工作项的附件大小限制为4MB.我们可以通过调用TFS提供的Web Service将这个限制调整最高到2GB. 调整这个设置的必备条件是你需要拥有TFS应用层管理员的权限.下面来看看如何查询目前的设置,并修改默认设置. 1. 使用管理员账户登录TFS应用层服务器,打开这个登陆地址:http://localhost:8080/tfs/defaultcollection/WorkItemTracking/v1.0/ConfigurationSettingsService.asmx 2

如何自定义TFS中工作项的字段20141010

如何自定义TFS中工作项的字段 我们以VS2013为例,TFS也是2013版本的: 1. 安装小插件 需要安装Visual Studio Team Foundation Server 2013 Power Tools这个插件 2. 打开VS2013 3.点击[工具]--[Work Item Type]--[Process Editor] 4.选择TFS服务器和团队项目集合 5.选择项目下要自定字段的工作项类型 6. 7. 8.我们可以给字段设置规则,比如是下拉值,默认值,是否必填等 9. 10.