[转载]基于TFS实践敏捷-工作项跟踪

工作项跟踪(1)

可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性。曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司TFS里的工作项是怎样的,网上这方面的资料很少。我就以三年前的三维管线项目为例,说一说我们的工作项跟踪,欢迎大家批评指正。

1 需求

敏捷宣言认为:"响应变化 重于 遵循计划",需求的变化,尤其是在中国,经常是无休无止。我们要做的就是要在TFS上做好需求管理, 从而达到响应变化的目的。

1.1 需求管理

我们先新建一个用户情景,标题写上"爆管分析",然后指定区域,迭代,堆栈级别,需求说明写到详细信息里。情景点是跟工作量相关的,我们没有估算工作量,也没有安排时间进度。

用户情景是需求管理的基本单元,跟文档化需求管理有很大的不同,我们没有强调需求基线评审,也没有正式的需求变更审批。需求发生变化时,只管更新到用户情景的详细信息。需求往往会经过反反复复的修改,历史记录里会保存着更改的时间,人,内容。这比跟踪需求规格说明书这样的大文档的版本历史要容易的多。

1.2 用户故事

用户故事是需求建模的一种方式,也是敏捷开发的重要实践。功能点的建模我推荐采用用户故事,可以比可视化建模表达详细的信息。转到上图里的"实现",这时我们看到当前的子项为空,接下来新建一个子任务"编写爆管分析用户故事",经过反反复复的修改最终结果如下:

1 启动爆管分析命令,系统显示爆管分析界面;

2 指定一条管段,三维窗口里显示这条管段的选中状态;

3 输入缓冲区半径后执行分析,系统显示出阀门井列表;

4 双击列表中的一条记录,三维窗口定位到当前的阀门;

5 点击[导出]按钮,列表里的数据导出到excel里了;

(用户故事完成后合并到用户情景的详细信息里,跟需求规格并列)

2 设计

软件的设计涉及到方方面面,同时还有各种各样的设计方法。我认为实际的工作中我们应该只做必要的设计,敏捷宣言认为:"工作的软件 重于 详尽的文档"。工作的软件就是可以运行的程序,和运行所必须的数据。基于代码和数据一样可以作出好的设计,在没有必要写文档时,尽量不要长篇大论。

2.1 爆管分析输出设计

转到用户情景的"实现",创建一个新的子任务,写上标题"爆管分析输出设计",并链接"编写爆管分析用户故事"作为前置任务。

接下来我们看看这个任务的结果,变更集的注释是"爆管分析输出设计.fly",下载打开发现是用skyline软件制作的三维数据,如图所示。

2.2 爆管分析用户界面视觉设计

再创建一个子任务,写上标题"爆管分析用户界面视觉设计",指派给界面设计师,转到"所有链接",链接类型选择"已进行版本管理的项",指定项"$\Pipe2012A1\Documents\设计\输出设计\爆管分析\爆管分析输出设计1.png",写上注释"工作输入"。即"爆管分析输出设计"任务的工作输出是这个任务的工作输入。

工作完成后,我们打开变更集5702,并查看其中的图片"$\Pipe2012A1\Documents\设计\界面设计\爆管分析\爆管分析界面设计1.png"

2.3 爆管分析面向对象设计

再创建一个子任务,写上标题"爆管分析面向对象设计",并链接"编写爆管分析用户故事"作为前置任务。这里的"面向对象设计"已经是详细设计了,我们的做法是直接到代码,需要设计类名,输入数据,输出数据,方法,命名空间等。"代码是最精确的文档",不要在文档上绕来绕去,没有程序员有兴趣看那些华而不实的设计文档。

我们打开"变更集5143",查看"BoomPipeCommand.cs"。

3 构建

构建最主要的活动是编码,由于敏捷开发反对过度的详细设计,所以这里的编码所涉及到不仅仅是实现,还包括:算法设计,设计模式,代码重构,代码调整等等。用代码承载那些精妙的设计,而不是笨重的文档。

3.1 爆管分析编码

再创建一个子任务,写上标题"爆管分析面向对象设计",并链接"爆管分析用户界面视觉设计"和"爆管分析面向对象设计"作为前置任务。这样就不用给该任务链接工作输入了,执行任务的程序员可以直接找到前置任务的工作输出(即变更集)。

任务完成后,我们看到"变更集5115"的链接注释"BoomPipeCommand.cs","变更集5160"的链接注释"BoomPipeControl.cs"。代码大家都很熟悉了,这里就不再详述。

4 测试

TFS的测试涉及非常多的内容,本文我只谈测试用例和Bug。

4.1 测试用例

转到用户情景的"测试用例",创建一个新的测试用例,标题写上"手工输入管段ID进行碰撞分析",然后使用Microsoft测试管理器进行编辑,在步骤里写上:

操作

预期结果

点击[爆管分析]按钮

左边栏显示爆管分析界面窗口

从文本框输入"J-A229",回车

三维窗口高亮显示ID为"J-A229"的管段,并闪烁爆管的图标。

输入缓冲区半径200,点击[开始分析]按钮

阀门井列表显示2条记录

双击列表中的第一条记录

三维窗口定位到控制阀门"FA-331"并闪烁

点击[导出]按钮,选择路径"d:\1.xls"

系统提示导出成功。

在excel里打开"d:\1.xls"

显示2条记录,ID分别是"FA-331","FA-334",

测试用例完成后结果如下:

4.2 Bug

测试工程师在测试中发现了Bug,这时候应该转到用户情景的"所有链接",新建一个Bug,标题写上"Bug:阀门记录与操作有误",严重级别为"中",然后写上说明,指派给某个程序员。程序员调试Bug之后,会把状态改为"已解决",原因改为"已修复"。指派给测试工程师,测试工程师验证后,如果没有问题就将状态改为"已关闭"。

5 小结

现在让我们回到用户情景的"所有链接",我们将看到如下图所示:

在TFS上,需求管理,项目管理,测试管理,缺陷跟踪等融为一体。无论是从需求到设计,编码,测试,Bug的正向跟踪,还是从Bug向编码,设计,需求的逆向回溯,都不成问题。取得了可跟踪的能力,响应变化也就不再是一句空话了。

  • TFS(Team Foundation Server)敏捷使用教程(一):引言
  • TFS(Team Foundation Server)敏捷使用教程(二):源代码管理
  • TFS(Team Foundation Server)敏捷使用教程(三):定制敏捷过程模板
  • TFS(Team Foundation Server)敏捷使用教程(四):工作项跟踪(1)

博客转自:《TFS(Team Foundation Server)敏捷使用教程(四):工作项跟踪(1)》

本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/SanMaoSpace/p/5120341.html,如需转载请自行联系原作者

[转载]基于TFS实践敏捷-工作项跟踪相关推荐

  1. [转载]基于TFS实践敏捷-修复Bug和执行代码评审

    本主题阐释了这些功能,以继续这一关注虚拟敏捷团队成员的一天的教程. Peter 忙于编写一些代码以完成积压工作 (backlog) 项任务.但是,他的同事发现了一个阻碍他们工作的 Bug,他想立即修复 ...

  2. 基于TFS实践敏捷-可视化管理

    TFS是基于微软平台一套不错的系统,支持源码管理+运行调试+持续集成+自动化测试+Bug管理+代码评审+任务项管理+文档管理+沟通管理. 基于TFS 2015实践看板管理,让团队的数据可视化,让大家更 ...

  3. TFS中的工作项(六)

    TFS中的工作项 在VS中打开团队资源管理器 工作项有功能,产品积压工作项,任务,测试用例,Bug,障碍,它们之间的关系是:一个产品或应用,有一系列功能,功能最大,可以把一个功能分解成多个产品积压工作 ...

  4. 工作项跟踪管理系统数据库结构图

    该图为今天下午画的ERWin模型逻辑部分(绝大多数部分借鉴了微软TeamFoudationServer中的数据模型) 理解TFS的数据模型很困难,有时候为了理解其数据模型不得不通过一些数据来更深入其设 ...

  5. TFS 2015 敏捷开发实践 – 看板的使用

    看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理.因为看板拥有简单的管理方法,直观的显示方式,所以很多软件开发团队选择使用看板进行软件开发管理.本文不在 ...

  6. VS 中 TFS 的工作项查询功能详解

    在团队开发中,一般都要使用一些工具来追踪项目开发进度.在 VS 中可以使用 TFS 的工作项来追踪项目开发进度.下面介绍一下使用 TFS 如何进行工作项的查询. 环境: VS 2017 + TFS 2 ...

  7. TFS导出工作项、bug,形成excel文件

    TFS如何将工作项.BUG等内容导出到excel中呢? 可以通过VS进行操作导出: 打开VS,找到"团队资源管理" 找到"工作项",点击后,再找到"新 ...

  8. 农行基于TFS工具的敏捷转型实践

    " "春天工程"项目组是应用开发二部最早采用敏捷模式的项目组,项目组在项目推进过程中使用Scrum框架,结合"看板+站会"形式,积极探索项目推进新措施 ...

  9. TFS的Web门户工作项(七)

    在TFS的web门户中有更丰富和更全面的设置和数据展示. Web门户如图有A,B,C,D四部分组成.A部分为团队项目和项目切换,登录人员和登录人员切换.B部分是Web门户主要功能的菜单,C部分是当前团 ...

最新文章

  1. 计算机视觉常用图像数据集标记平台
  2. SQL的不合理有效性
  3. 转存储过程实现分页1
  4. 【译】Googler如何解决编程问题
  5. 61.新的开始(最小生成树)
  6. MIT6.830 lab1 SimpleDb 实验报告
  7. 排序算法(三) —— 直接插入排序
  8. 人力资源管理系统如何助力提升HR工作效率
  9. 车票预订系统 搭建服务器,火车票网上订票系统的设计与实现.doc
  10. SOLIDWORKS Composer生成BOM表属性不显示的解决办法
  11. Shell常用命令cat用法详解
  12. 魔窗7式之微信一键唤起App内页
  13. outlook qr码在哪里_使用python自动发邮件-163、QQ、outlook邮箱
  14. poi获取excel打印标题行与表头,itext生成pdf设置打印标题行与表头
  15. 2020年中国数字经济区域发展竞争格局报告
  16. 51nod大鱼吃小鱼问题
  17. 负载均衡技术 (3)
  18. 51单片机手把手教学(二)—— 点亮 LED 灯(GPIO 操作)
  19. Phonetic symbol 单元音 - 短元音 ɒ(新)/ ɔ(旧) 与 ʊ/u (机打)
  20. Excel---条件格式与公式

热门文章

  1. python客户端与服务器端_Python实现的FTP通信客户端与服务器端功能示例
  2. android socket第三方库,OkSocket 一个Android轻量级Socket通讯框架
  3. 七乐彩中奖规则表_双色球第2020118期开奖结果出炉!你中奖了吗?
  4. mysql的读写分离技术_mysql 读写分离方法
  5. 登陆模板_曝北京国安克星将登陆中超,3年进84球,可成中超新政引援模板
  6. import pandas as pd什么意思_【医学名词】多发性骨髓瘤MR、SD、PD分别是什么意思?...
  7. 计算机原理考研题库,2022考研853计算机专业基础综合《计算机组成原理》复习笔记及考研真题题库.pdf...
  8. 网关转发其他微服务后头信息拿不到_微服务之基于Zuul自研服务网关
  9. linux中docker容器与宿主系统之间文件拷贝
  10. mysql临时表如何分页_sql server 与 mysql 分页查询以及创建临时表的区别