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, ...
随机推荐
- jQuery中的事件与动画 (你的明天Via Via)
众所周知,页面在加载时,会触发load事件:当用户单击某个按钮时,会触发该按钮的click事件. 这些事件就像日常生活中,人们按下开关,灯就亮了(或者灭了),往游戏机里投入游戏币就可以启动游戏一样, ...
- 使用 github + jekyll 搭建个人博客
github + jekyll 本地写markdown,然后push到github,就成了博客 其实我一早就知道这两者可以搭建个人博客,因为本人有个很好的习惯——每天都会去看看一些热门文章,了解行业最 ...
- 26款能够吸引用户的 iPhone App 界面设计
在这个移动互联网告诉的时代,众多的移动应用程序涌现出来.谁能抓住用户的注意力,谁就有可能成功.在下面这些移动 App 界面设计中,你可以看到不同创意类型的视觉效果,让你获得灵感. 您可能感兴趣的相关文 ...
- JavaScript——99乘法表
<!DOCTYPE html> <html> <head> <title>99乘法表</title> <style type=&quo ...
- 由Vue引发的getter和setter思考
公司的新项目决定使用Vue.js来做,当我打印出Vue实例下的data对象里的属性时,发现了一个有趣的事情: 它的每个属性都有两个相对应的get和set方法,我觉的这是多此一举的,于是去网上查了查Vu ...
- Microsoft SharePoint Server 2013 Service Pack 1 (sp1)终于出来了!!!
Microsoft SharePoint Server 2013 Service Pack 1 终于出来了!以下是下载地址如下,大小1.25G. http://www.microsoft.com/zh ...
- java使用动态代理来实现AOP(日志记录)
以下内容为原创,转载时请注明链接地址:http://www.cnblogs.com/tiantianbyconan/p/3336627.html AOP(面向方面)的思想,就是把项目共同的那部分功能分 ...
- VSS提示"Could not find the Visual SourceSafe Internet Web Service connection information for the specified database
转自:http://www.cnblogs.com/qqflying/archive/2007/12/18/1004051.html VSS连接错误提示: ====================== ...
- 访问其他程序的SheardPreferents
程序A: SharedPreferences preferences=getSharedPreferences("myPreferences", Context.MODE_WORL ...
- Android 手机卫士--自定义控件(获取焦点的TextView)
本文地址:http://www.cnblogs.com/wuyudong/p/5906735.html,转载请注明源地址. 本文将实现标题栏下面的textview中的文字跑马灯的效果,就是将一行文字水 ...