Lab version:15.4
Last updated:12/5/2017
概述
在这个实验中,你将学习使用Team Foundation Server 2018提供的关于敏捷计划,项目流程管理来帮助你快速的制定团队计划,管理和追踪相关工作进度。你将学习如何使用积压工作列表,迭代看板和任务版来跟踪迭代中的工作流。我们还将了解这些工具是如何在这个版本中得到增强的,以针对更大的团队和组织。
登陆培训环境
-
打开实验室环境 。
-
点击右上角的登陆链接。
-
使用微信登陆,扫描二维码。
-
选择环境列表。
-
选择TFS Labs。
-
找到已购环境,点击进入。
- 点击 远程连接 中的图标,连接到远程实验环境。
> **Note:** 实验环境默认登陆用户为系统账户**azureuser**, 实验中需要使用环境预制账户如:**Sachin Raj (Sachin)**。
- 如果实验中需要切换用户,可以点击远程连接页面下拉菜单中的用户切换,输入用户名以及密码,点击连接,就可以实现切换实验环境远程登陆账号。
- 如果实验中需要复制粘贴文档中的相关内容到虚机中可以使用labs自带的复制粘贴版进行操作
-
按照当前时间修改项目迭代时间,适应实验场景。
-
点击 work
-
点击 Iterations
-
修改Iteration 3的Start date 为系统当前时间,End date为下一周相同时间,Save and close
-
同样修改Iteration 4的时间周期为Iteration 3下一周时间,以此类推 Save and close
关于 Fabrikam Fiber
这组实验使用了一个虚构的公司Fabrikam Fiber作为学习的背景。Fabrikam Fiber 公司为美国提供有线电视和相关服务。公司正在迅速成长,并已经使用了Windows Azure为用户网站提供快速扩容服务,以便满足用户的自助化服务请求和对技术人员工作的跟踪。他们也使用一个本地部署的ASP.NET MVC应用为客户服务代表管理客户订单。
练习 1: 灵活的敏捷工具
在前面的练习中,你已经学习如何使用Team Foundation Server来满足大型团队的工作中的需求。要达到这个目标需要这个团队中的成员加入到同一个团队项目,使用同一套定义了工作项和工作流的过程模板。了解了这一点,微软已经允许各个团队针对他们的工作自定义模板的一些方面而不需要在过程模板中统一修改。
在这个练习中,你将学习看板知识,他有助于灵活的使用敏捷工具,你还将学习使用工作项的标记。这两个特性都可以由不同的团队独立的使用和定制,不需要模板统一定制。
任务 1: 看板介绍
-
使用切换用户功能,切换登陆用户为 Sachin Raj (Sachin). 所有密码都是 P2ssw0rd。
-
Kanban board 在Team Foundation Server 2012 Update 1中第一次被介绍。看板是一种过程改进工具,他不限制于你当前的软件开发方法。它可以帮助你追踪和把控你的工作,并且它可以向项目组成员展示当前项目随时间交付的价值。每个backlog都有自己的看板,每个团队都可以有自己的看板
-
导航到 Fabrikam Fiber Devices Team ,注意,如果团队最近没用被访问过,你需要点击 Browse
-
导航到这个团队的Board
-
看板显示了当前迭代下,每个状态的积压工作项,并且允许你在状态间进行拖拽以及对每个状态的最大工作项数进行限制。对看板进行工作项数量限制的主要原因是帮助你发现开发过程中的瓶颈以及减少你拆分特性工作项的时间。假如我们说一个团队不能快速的交付价值,我们应该怀疑潜在问题是每个冲刺的任务分配的太多。如果我们谨慎的分配任务数量,也许我们可以更好的集中精力
-
首先,点击 Enable Live Updates ,这将确保其他用户的任何更改都能及时更新到这个看板上。在这种场景下,我们只有一个窗口,但是在大型团队中很有效
-
然后,让我们减少 Committed 状态 Work in Progress 的数量,看看同时有多个工作时这边的显示
-
点击 Configuration ,然后打开 Configure settings
-
选择 Columns ,点击 Committed ,设置 WIP Limit 为”3”然后点击 Save
-
在看板上,该列的列头位置会提供一个区域显示当前进行中的工作已经超出限额
注意: 配置进行中工作的限额可以在适当的时候提供给你反馈,但是它们不能阻止团队超负荷工作。你需要主动查看看板,以便及时发现超额的情况。
-
你也可以配置看板显示或者隐藏bug,单机gear图标返回设置对话框
-
导航到 Working with bugs ,选择 Bugs are managed with requirements ,点击 Save
-
点击 New Item 按钮 然后选择 Bug
-
添加一个新的bug,标题 “Rendering artifacts on iPhone” 然后按 Enter 保存
-
你可以在看版上重新调整积压工作的优先级,在Committed 列上拖动底部的卡片到顶部
-
过滤功能是看板上又一个重要的特性,点击Filter按钮,然后输入”technician“查询
-
查找到 Technician can see…Windows Phone 工作项,点击 3/4标志,说明一共四个任务中有三个已经完成。现在,你可以更加方便的查看手边的任务
-
清空过滤器,然后隐藏过滤器
-
有时候你在卡片上可能看不到这些部分, 点击 Configure settings 然后打开配置对话框
-
选择 Annotations 然后取消 Tasks选择框,点击 Save
-
现在Task在卡片上不可见
-
假如一个设备团队希望将他们已经测试过的工作添加到看板列上,来方便追踪它的状态,这可以很方便的实现
-
点击 Configure settings ,你可以新增,删除,移动列来更好的适配你的团队工作流。
-
选择 Columns,然后点击 + Column,在 Done 前添加一列名叫 “Device Tested”
-
你也可以修改每个看板列的定义,这将帮助团队在同一个界面移动工作项状态的操作。向下滚动到对话框底部,用纯文本或者Markdown的格式填写描述信息 “Has been tested on Android, Windows Phone, and iPhone” ,点击Save
-
你可以点击helper图标来查看 Definition of Done
-
看板还提供一个累积流图表(Cumulative Flow Diagram),点击打开它
-
累积流图(CFD)显示了选定的团队在不同状态下的工作量。横轴显示的是时间,纵轴显示不同状态下工作的数量。
注意: CFD显示的不一定是一个团队产出的理想场景,更多的情况下,你会看到处于work in progress 或者Lead time 的颜色带随着时间的推移在增加,如下图
-
按Esc 关闭CFD
-
看板上有很多的可配置选项,以适应您团队的工作方式。重新打开前面使用的 Configure settings 对话框。
-
导航到 Fields 标签,在这里你可以配置每个工作项显示ID, Assigned to,Effort, Tags,或者其他区域,这些选项帮助每个团队更灵活的管理自己的工作流。你也许需要下拉到底部选择 Show ID 和 Show empty fields
-
切换到 Bug 标签选择相同的配置,点击 Save
-
现在每个工作项显示了它的ID,这对团队讨论或者从代码和文档中引用这些内容很有帮助
-
另外,空白字段现在“显示”在卡片中,它允许您以内联方式初始化它们,找到前面创建的项并将其分配给Deniz Ercoskun
-
在管理工作时,泳道是团队的一个关键特性。这些水平的通道可以被添加到看板以进一步分类工作,重新打开前面使用的 Configure settings 对话框,使用它来创建一个“expedite”泳道,用于高优先级的工作,以便于跳过正常的工作流
-
看板在默认情况下只有一条泳道,你可以添加任意多的泳道。例如,您可以使用它们根据严重性(expedite、normal)、部门、层等来对项目进行分类。导航到 Swimlanes 选项卡并添加一个名为“Expedite”的新泳道
-
重新命名一个泳道 “Normal” ,点击 Save
-
拖拽一个工作项来提高它的优先级
-
除了定制看板上使用者的行为,卡片自己也很好定制,点击 Configure settings 来打开配置会话框
-
选择 Styles ,点击 Styling rule,设置 Name 为 “High severity”,这个规则将让bug工作项更加醒目
-
向下滚动,将 Card color 改为深红色,并将第一个子句设置为 “Severity = 1 - Critical”
-
选择 Tag colors 设置更好识别的标签颜色 “Windows Phone” ,点击 Save
-
在看板上,你可以看到 “Windows Phone” 标签的颜色十分醒目
-
找到之前创建的bug并单击打开它。
-
修改 Severity 为 1 - Critical 然后点击 Save & Close
-
注意Bug卡片现在是深红色以突显严重性
任务 2: 看板优先级
-
当卡片在看板中重新排序时,会按照优先级排序,可以看到 “Technician can see service tickets…“工作项优先于”Technician can report busy/late…”
-
返回到 Board 选项卡,找到工作项 #216,拖拽到#211上面,注意卡片可能会滑到底部,但是它仍然被重新排序
-
返回到Backlog选项卡,并注意到工作项已经被重新排序,以反映它们执行的顺序。还要注意, “Customer should see weather-related outages…” 在backlog中有最高的优先级
-
返回到 Board 选项卡,拖拽 “Customer should see weather-related outages…” 从 Approved 列到 Committed 列,可以看到在你拖拽时,已有的卡片允许你在任意位置摆放,将卡片重新拖拽到 Approved 列不会造成任何修改
-
虽然这适用于某些团队,但也有些团队喜欢在列之间拖拽的时候使用积压工作项的优先级,否则在阶段转换时很难了解工作项的优先级,点击 Configure settings 打开配置对话框
-
选择 Cardreordering 第二个选项,它将基于卡片优先级强制摆放到对应位置,注意,这两个选项都有示例动画,单击Save
-
将卡片从 Approved 列拖到 Committed的列,将它放在提交的列上的任何位置,并注意它会自动流向顶部,因为它具有该列中工作项的最高优先级
-
需要注意的是,设置卡片重新排序之后,你仍然可以在列中重新对卡片进行排序,有关使用看板的更多信息,请参见“看板基础”(https://msdn.microsoft.com/Library/vs/alm/Work/kanban/kanban-basics)”.
-
除了通过积压工作项查看,您还可以查看看板的特性工作项。单击 Features 并且切换到看板模式。然后,您可以点击 Backlog Item 工作项的卡片扩展字段来查看积压工作项列表
任务 3: 工作项标签
-
Work item tagging 帮助你轻松地对工作项进行分类、查询和筛选
-
导航到 Fabrikam Fiber Leadership Team
-
导航到Backlog Items 界面
-
假设有一个跨团队的项目,需要筛选出给客户看的高优先级的工作项,还可以想象工作项的backlog相当大,以至于通过所有的标题进行搜索,并将它们分配给sprint和团队已经变得非常耗时。解决这个问题的一种方法是创建工作项标记,然后通过标记过滤工作项列表
-
注意,许多工作项标记已经添加
-
双击 工作项 “Customer should see weather-related outages on portal”
-
点击 Add tag 来添加一个标记
-
输入 “Customer” 然后点击 Save & Close
-
重复标记任何看起来是面向客户的工作项,您应该得到以下截图,但是没有必要完全匹配它。注意:您可以创建包含标记的工作项查询
注意: 您可以创建包含标记的工作项查询
-
标记好后,单击backlog列表右上角的 Filter 按钮
-
选择Customer
-
通过这种过滤后的界面,团队将会更轻松地找到他们应该首先关注的工作项。请注意,此筛选也禁用了添加积压工作项、禁用堆栈排序和预测趋势的能力
注意: 通过选择另一个标记(如果在这个筛选的子集中有任何标记)可以完成额外的过滤。要删除过滤器,只需再次单击filter按钮。
练习 2: 工作项图表
在这个练习中,我们将演示Team Foundation Server的工作项图表能力。工作项图表允许您通过创建工作项查询并以图标方式展示 这可以用来帮助更好地理解项目的状态。
任务 1: 创建和共享工作项查询
-
假设 Fabrikam Fiber management team 想要更好地了解任务是如何被分配的。导航到web门户的 Work | Queries
-
由于这些图表是基于工作项的,所以我们首先需要定义一个查询来返回我们感兴趣的数据。单击New并选择 New Query选项
-
默认查询是将当前项目的任何状态中选择所有工作项。我们要选择的只是任务,所以要修改 Work Item Type的值为 Task
-
点击 Save Query As
注意: 工作项图标需要关联查询
-
命名查询 “All Tasks”,选择文件夹 “Shared Queries“,然后单击OK
-
选择 Charts 点击 New chart
-
标题为 “Tasks by User” 分组依据 Assigned To 字段 然后点击 OK
-
让我们创建一个图表来显示每个团队成员的任务进度,点击 New Chart
-
选择 Stacked Bar。注意,这个图表类型要求您为行和列指定两个不同的字段
-
标题为 “Task State by User“,选择e Assigned To字段为 Rows,选择 State字段为 Columns, 最后点击 OK
-
通过修改工作项查询和添加额外的显示列,可以将这些列添加到可用的分组选项中。选择 Editor 选项卡
-
点击 Column Options.
-
选择 Work Item Type为 Task
-
双击 Area Path
-
点击 OK.
-
点击 Save
-
选择 Charts 链接返回到图表视图,创建一个由 Area Path 字段分组的饼图,标题“团队任务”
-
这些轻量级图表也可以固定在仪表板上。点击Tasks by Team 右边的按钮,并选择 Add to dashboard | Overview
-
导航到 Overview
-
点击 Home 链接返回到 leadership 团队的主页,查看固定图表。
任务 2: 自定义仪表盘
-
您还可以通过单击右下角的Edit按钮来定制仪表盘。这将把仪表板转换为编辑模式。您需要处于 edit mode,以便重新排列仪表板或进行配置更改,这将消除在正常使用期间意外编辑的风险
-
使用删除按钮来清理仪表板
-
您还可以通过单击add Widget按钮轻松地向仪表板添加新项
-
搜索Markdown小部件并单击Add.这个小部件允许您在仪表板上的存储库中显示任何Markdown文件。或者,您可以手动提供markdown,点击Close
-
在仪表板上找到Markdown小部件并单击其编辑按钮
-
这将为您提供对关键设置的访问,例如小部件的大小,以及显示的Markdown的源代码。按Esc取消
-
点击视图的右上角的 Manage Dashboards 按钮
-
这个对话框为管理仪表板(包括它的创建)提供了访问功能。注意,每个仪表板都有Auto-refresh的选项,这对于公共团队区域显示信息的场景非常有用
-
当配置完毕,点击Close Edit Mode按钮来保存所有更改
-
您还可以创建额外的仪表盘,以便在项目中提供不同的视图。单击 Add a new Dashboard 按钮,创建一个新的仪表板
-
输入 “Quality” 点击 OK
-
现在,您有了多个仪表盘,并且可以使用之前的相同流程编辑和自定义它们