TFS使用指南
上一篇文章已经简略介绍过TFS的安装与管理,本篇文章主要描述一下我个人在工作过程中使用TFS的一些指南与建议。本章内容预览:

1. 项目计划与跟踪
经常有很多朋友在日常聊天中抱怨做计划很无畏,因为计划永远赶不上变化。确实如此,计划是赶不上变化,但你不计划,你永远不知道自己应该要做什么,什么时候做,虽然发生了变化,但是你可以根据原有的计划定制事情变化的解决方案与变化的定位,而控制变化的演变。
1.1. 使用Project制定项目计划
新建一个Project文件,或者打开TFS团队资源管理器中对话框中的项目-文档-项目管理-开发项目计划.xlsx文件。此时打开的文件均为一个空的Project文件,可以在此文件中进行计划规划。
选择Project的团队选项卡,点击选择团队项目,如图:

然后再弹出的对话框中选择所需要发布的项目,确认后Project会默认加入TFS相关的标题字段以及功能选项。
现在要做的工作就是在Project中指定你的项目计划,操作与平常一样。大致如下:
Step1:制定迭代计划以及本次迭代的大方向工作计划。
Step2:列出本次迭代的所有工作内容,排列优先级以及依赖关系。
Step3:预估每个工作任务的内容、开始时间、结束时间、资源以及预计工期。
计划完成后则需要同步到TFS,以便其他小组成员或组长可以获取任务并进行更详细的分解。同步操作十分简单,只需要点击团队选项卡下的发布按钮即可。
注意:若填写的项目计划在同步中出现异常或者不符合要求,则会自动弹出错误的项以及建议修改的说明。如图:

发布完成后,可以通知各小组组长对计划进行更详尽的划分。
为了可以成员更快速定位到自己的任务,这里需要制定一个团队查询,本操作一般由TFS配置管理员进行。操作如下:进入团队管理器,选择项目-团队查询,右键添加,操作如图:

弹出对话框后,配置成如图所示的条件:

设置完成后,点击保存,输入任意一个名称即可(建议“我的工作项”)。
下一步,各小组组长登录到团队资源管理器,点击工作项-团队查询,选择刚刚创建的查询,VS会列出属于本人的所有工作项内容。
如果接受在VS中做计划的,可以直接使用VS提供的各种操作进行计划,但如果希望能在导出到Project中做计划再导入就好了,这样也没问题,操作很简单。
在查询出结果后,点击如图按钮:

这里可以看到可以导出成Excel、Project,我们就选择比较常用的project,选择后会自动创建project文件并刷新数据到文件中。
注意:这里编辑的Project与平常我们多个人共同修改一个Project文件是完全不同的概念。
大功告成,剩下的工作就在Project中指定计划,然后使用发布功能发布到TFS中即可。
任务细化工作完成后,就是到各组员根据分派的任务进行工作。
1.2. 信息关联
好了,开始工作了,大家都把任务状态激活(这个过程可以自行定义,这只是作为一种情况描述),然后开始实现任务的要求,当完成后又回到TFS把任务状态修改为“已解决”,然后又到下一个任务,如此反复。
不过这里提出一点,向上面的使用方式其实不是十分好,TFS提供的任务记录不单单只是记录任务的完成状态,还可以关联很多信息在内,看看新任务的创建对话框:

详细信息可以把该任务是如何做的,遇到什么问题进行记录;
所有链接是可以把源代码的迁入集进行关联,知道任务对哪些代码进行了修改;
附件可以上传一些有关本次任务的截图、文件等其他内容。
我个人建议还是能养成好习惯,尽可能多的把信息关联到任务项中,这样对你、对项目成员、对项目经理都有好处,项目经理能减少沟通成本通过任务项了解到任务的难度以及完成情况,项目组员也能通过任务项了解到项目的一些情况。
1.3. 项目跟踪
有了以上的操作以及数据的积累,对于项目的整体跟踪不再是一件困难是的事情,轻松打开TFS的查询,选择未完成状态的项目,或已经完成的项目,又或者是其他维度,均可以定位当前项目的情况。
当然TFS还提供了很多报表从不同的角度进行分析,提供给项目经理分析项目状况,这些报表与查询均可以自行定制。
2.
源代码管理
很多人使用TFS其实都是只是使用了TFS的源代码管理功能,这里简单介绍一下源代码管理我认为挺有用的功能以及如何使用。
2.1. Checkin策略
所谓checkin策略就是在你每次进行checkin操作时,都会根据定义的策略检查一下你的请求是否符合要求,最常用的有必须与工作项关联的策略以及checkin必须填写注释等等。
这里可以根据团队项目的特性自行定制或者使用默认提供的策略。
操作如下:选择项目右键选择源代码管理,如图

在弹出窗口中选择迁入策略,选择添加则可以看到目前默认提供的策略:

对于自定义策略的导入与使用,由于篇幅较长,不在本文讨论,详细可查阅微软MSDN。
2.2. 多点Checkout与合并修改
TFS的源代码管理器运行多人共同Checkout一个文件,修改完Checkin的时候会自动帮你合并文件,当出现冲突的时候提供一个编辑器给你选择如何修改,个人感觉比较好用。由于没有checkin冲突代码,暂时无法提供截图说明。
这里简单说明一下:当同一个文件由2个人分别签出时,若2个人修改的同一个文件不同的位置,则代码管理器自动帮你合并;若同时修改同一个地方则会出现冲突编辑器让你选择使用哪个人的版本。
2.3. 打标签
打标签就是为当前的源代码状态做一个标识,以方便日后可以调出此版本的源代码。一般应用场景:发布版本。
操作:右键选择源代码管理器的目录,弹出菜单后选择应用标签,如图:

3.
文档管理
团队资源管理器中的项目下的文档目录,可以提供文档的相关管理功能,一般我们的项目中的文档可以上传到此,作为文档共享和文档版本管理的途径。
本人使用windows2008R2的时候发现无法直接打开word文档然后点击编辑进行签出,必须每次下载整个文件,修改完成后整个文件重新上传,google搜索了相关内容好像貌似是一个bug。
4.
生成
若要使用生成服务,必须到服务器进行一些配置。
打开TFS管理控制台,选择生成配置,这里需要新建一个控制器与代理即可,我创建的时候基本是使用默认的属性。

TFS的生成本人一直使用得不太好,没成功过多少次,可能主要与项目的结构或配置有关。新建生成的方法如图:

这部分我一直希望能够修改生成过程模板,让TFS生成好后可以启动VM的虚拟机还原某个状态快照,然后自动部署,然后可以运行自动测试最后提交报告。(尚在研究中)
正常情况下,定义生成的内容有触发器和工作区,其他保留默认基本上没有问题,TFS会根据你指定的工作区进行编译生成以及做单元测试。
5.
使用过程模板
5.1. 工作流程

5.2. 使用敏捷模板
使用默认的敏捷模板提供的工作项如图:

其过程如下:首先定义迭代计划,定义当前迭代的用户情景描述,然后划分实现用户情景的各个子任务,以及设计测试用例,每个任务完成后进行测试反馈BUG。在敏捷的站立会议中,提出来的问题可以由问题工作项记录。
5.3. 模板定制建议
TFS默认提供的工作项模板可以作以下修改:
开始时间与结束时间从默认的选项卡中移到第一项,方便我们做计划的时候输入或者查看任务的时候第一视觉看到。对于开始时间与结束时间由于默认的配置
是不从TFS刷新数据到Project,我觉得为了保持TFS与Project的一致性,建议做映射的时候把publishonly=true去掉。同
理,结束时间也存在此问题。
我们习惯做计划都会有计划时间与实际时间,我觉得TFS的开始与结束时间当成是计划的时间,而激活时间、解决时间是本任务的实际开始与结束时间,这
样比较稳妥。但如果这样做,必须规范大家的操作习惯,每次开始任务时则去激活任务,而不是在最后完成任务后再来补TFS的操作。
最后,不要把工具作为工作的负担,我们是应该选择好的工具去提升工作效率和工作方法。不要为了工具而工具,工作中的态度与方法才是最重要的。
TFS使用指南的更多相关文章
- [转载]TFS入门指南
[原文发表地址] Tutorial: Getting Started with TFS in VS2010 [原文发表时间] Wednesday, October 21, 2009 1:00 PM 本 ...
- 教程:VS2010 之TFS入门指南(转载)
[原文发表地址] Tutorial: Getting Started with TFS in VS2010 [原文发表时间] Wednesday, October 21, 2009 1:00 PM 本 ...
- 使用 Visual Studio Online 进行协同开发
Visual Studio Online(原来的 Team Foundation Service),是项目数据在云中的主页.在我们的云基础架构中只需数分钟便可启动并运行,无需安装或配置任何服务器.设置 ...
- TFS Java SDK使用指南
[2018.3.6 更新] 最新版本的TFS Java SDK(14.123.1)支持Java SDK 1.6版本,可以从Oracle的官方网站(http://www.oracle.com/techn ...
- 如何在 TFS 中使用 Git
对 Charley Blog 的代码进行版本控制的想法由来已久,在代码建立之初其实已经使用过 TFS 进行控制,只是后期没能好好用起来,加之后来系统环境的变化导致TFS连接丢失,便算是正式放弃了版本控 ...
- TFS(Taobao File System)安装方法
文章目录: 一.TFS(Taobao File System)安装方法 二.TFS(Taobao File System)配置dataServer.分区.挂载数据盘 三.TFS(Taobao File ...
- TFS2010升级至TFS2013完全指南
一.背景: 公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式.迭代式转向敏捷开发.为了更好的支持产品研发,决定将tfs ...
- 如何备份和恢复你的TFS服务器(一)
备份和恢复一个TFS(Team Foundation Server)服务器常常令人心生畏惧.因为这会涉及到很多服务和步骤.TFS(Team Foundation Server)2010一发布,我就知道 ...
- TFS2010升级至TFS2013完全指南(更换服务器)
一.背景: 公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式.迭代式转向敏捷开发.为了更好的支持产品研发,决定将tfs ...
随机推荐
- hadoop fs管理文件权限
sudo addgroup Hadoop#添加一个hadoop组sudo usermod -a -G hadoop larry#将当前用户加入到hadoop组 修改hadoop目录的权限sudo ch ...
- phpDoc使用说明
技术文档可以使人们更好得使用他人的代码库,然而,作为开发人员,编写文档确是一件让人头疼的事情.PHPDoc是PHP文档注释的一个标准,它可以实现为代码生成API文档. PHPDoc注释规范: 块注释的 ...
- sql实现分页
IF EXISTS(SELECT * FROM sysobjects WHERE name='usp_getPage') DROP PROC usp_getPage GO CREATE PROC us ...
- CSS3之选择器
总结了下CSS3新增的一些选择器. CSS3的选择器有基本选择器.属性选择器.伪类选择器几类. CSS3选择器 选择器 举例 例子描述 element1~element2 p~a 选择前面有 < ...
- JS产生四位随机数的方法
<script>var charactors="1234567890"; var value='',i; for(j=1;j<=4;j++){ i = parse ...
- CSS3 伪类选择器 :nth-child()
:nth-child()可以选择某个的一个或多个特定的子元素,你可以按这种方式进行选择: :nth-child(length);/*参数是具体数字*/ :nth-child(n);/*参数是n,n从0 ...
- Android WebRTC 音视频开发总结(四)-- webrtc传输模块
在介绍WebRTC通讯之前我们先来看一个P2P视频聊天包括的主要过程,转载请说明出处(博客园RTC.Blacker): 音视频数据采集->编码->发送->接收->解码-> ...
- VS软件对应编号
VC6VC7(2003)VC8(2005)VC9(2008)VC10(2010)VC11(2012)VC12(2013)
- 开发iOS应用程序需要的工具和编程技术
似乎每个iOS应用开发学习者都是从这篇文章开始写博客的,我也不例外,也从这里写吧,内容雷同,但绝对是原创.因为一直相信,通过自己的理解写出来,是掌握技术一个很好的途径. Xcode苹果最为优秀的集成开 ...
- ASP.NET MVC5 入门
参考资料<ASP.NET MVC5 高级编程>第5版 第1章 入门 1.1 ASP.NET MVC 简介 ASP.NET MVC是一种构建Web 应用程序的框架,它将一般的MVC(Mode ...