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 张洪君
TFS代码变更和工作项关联,为系统变更提供完美的跟踪轨迹的更多相关文章
- TFS API : 四、工作项查询
TFS API : 四.工作项查询 本节将讲述如何查询工作项,将用户统计数据. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] f ...
- [转载]基于TFS实践敏捷-工作项跟踪
工作项跟踪(1) 可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性.曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司T ...
- TFS(Team Foundation Server)敏捷使用教程(四):工作项跟踪(1)
工作项跟踪(1) 可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性.曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司T ...
- TFS实现需求工作项自动级联保存
目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出.评审.设计以及实现的流程.基于这套流程 ...
- 在TFS 2013的迭代视图中修改工作项数目限制
当TFS迭代中的工作项数目超过500时,在TFS的网页(Web Access)显示中就会出现红色警告提示"积压工作(backlog)中的项数超出配置的限制500.当前总数为529-.&quo ...
- Azure DevOps Server (TFS) 修改工作项附件大小限制
1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation ...
- TFS签入代码时,自动修改工作项的状态为“已解决”
Visual Studio中有一个很酷的功能,就是签入代码到TFS库时,可以关联相应的工作项,实现代码与工作项(需求.任务.Bug等)的关联,从而实现代码的跟踪. 在关联工作项的过程中,如果工作项具备 ...
- tfs如何为工作项添加变更集
今天工作中遇到的,可惜之前没怎么用过TFS. 我这是最后一次签入的时候关联了工作项.目的是要把先前签入的绑定到该任务上. 团队自愿管理器->查找历史记录->双击最后一次绑定工作项的变更集- ...
- TFS API:二、TFS 代码查询工作项
TFS API:二.TFS 代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection, ...
随机推荐
- java内存模型-volatile
volatile 的特性 当我们声明共享变量为 volatile 后,对这个变量的读/写将会很特别.理解 volatile 特性的一个好方法是:把对 volatile 变量的单个读/写,看成是使用同一 ...
- Hello.js – Web 服务授权的 JavaScript SDK
Hello.js 是一个客户端的 Javascript SDK,用于实现 OAuth2 认证(或者基于 OAuth 代理实现的 OAuth1)的 Web 服务和查询 REST API. HelloJS ...
- JS Nice – JavaScript 代码美化和格式化工具
JS Nice 是一款让经过混淆处理的 JavaScript 代码可读更好的工具.它使用一种新型的用于 JavaScript 代码美化的去混淆和去压缩引擎.JSNice 采用先进的机器学习和程序分析技 ...
- Hybrid框架UI重构之路:二、事出有因
上文回顾:Hybird框架UI重构之路:一.师其长技以自强 一切的重构都是有原因的,或许为了更快速度.更好体验.更快捷开发等,于是就有了自己的开发目标,简单看看未重构前UI("中国移动式&q ...
- JavaScript 左右上下自动晃动,自动移动。
最近做了一个项目,本来用css3动画做的,不兼容ie,用js做了个,分享给大家. 代码修改了下,上下左右四个模块,顺时针转动. <!DOCTYPE html> <html> & ...
- Mongodb的备份,恢复,导入与导出(cmd命令行实现)
要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下命令均在cmd ...
- VS无法启动 IISExpress web 服务器
VS无法启动 IISExpress web 服务器 今天把原来的VS卸载重装了,重装之后启动一个web项目时发现启动不起来,提示如下: 在网上查找资料之后发现是由于WebMatrix也 ...
- sharepoint多个NLB的web前段如何进行文件同步?
大家都知道,sharepoint2010服务器场可能有2个或2个以上的web服务器做NLB,有个时候牵涉到上传文件到文件夹(说到这里,有人会说全部以二进制文件保存到文档库啊,但是有些情况不允许的,比如 ...
- 将PostGIS转化为GeoJSON
#!/usr/bin/env python # -*- coding: utf-8 -*- import psycopg2 import json from geojson import loads, ...
- 解决方案:带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载可能出现 COM 组件的80040154错误
建议大家在微软的组件出现问题时,在GOOGLE上搜索解决方案,一般来说,总有结果: 带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载,可能出现 COM 组件的80 ...