概述

在本实验中,您将了解Azure Boards提供的敏捷规划和项目组合管理工具和流程,以及它们如何帮助您快速规划,管理和跟踪整个团队的工作。您将探索产品backlog,sprint backlog和任务板,它们可用于跟踪迭代过程中的工作流程。我们还将了解此版本中的工具如何得到增强,以便扩展到更大的团队和组织。

先决条件

  • 本实验要求您从先决条件说明中完成任务1。

练习1:敏捷项目管理

任务1:使用团队,区域和迭代

  1. 导航到Azure DevOps上的Parts Unlimited项目。它将类似于https://dev.azure.com/YOURACCOUNT/Parts%20Unlimited

  2. 使用位于页面左下角的项目设置导航打开设置页面。

  3. 选择团队选项卡。这个项目中已经有一些团队,但你会为这个实验创建一个新团队。点击新团队

  4. 使用PUL-Web作为团队名称并单击创建团队

  5. 选择新创建的团队以查看其详细信息。

  6. 默认情况下,新团队只有您作为其成员。您可以使用此视图来管理团队人员,通知,仪表板等。但首先,您需要定义团队的时间表和范围。单击迭代和区域

  7. 选择迭代选项卡,然后单击选择迭代。该团队将使用与其他团队已有的相同的迭代计划,但如果这对您的组织更好,则可以采用不同的路线。

  8. 选择Parts Unlimited \ Sprint 1并单击保存并关闭。请注意,第一个sprint已经过去了。这是因为演示数据生成器旨在构建项目历史记录,以便此sprint在过去发生。

  9. 重复此过程以添加Sprint 2Sprint 3。第二个冲刺是我们当前的迭代,第三个冲刺是在不久的将来。

  10. 选择区域选项卡。默认情况下,有一个区域与团队名称相匹配。

  11. 从区域下拉列表中,选择包括子区域。所有团队的默认设置是排除子区域路径。我们将其更改为包含子区域,以便团队了解所有团队的所有工作项。可选地,管理团队还可以选择不包括子区域,从而一旦将工作项目分配给其中一个团队,就从其视图中删除工作项目。

任务2:使用工作项

工作项在Azure DevOps中起着重要作用。无论是描述要完成的工作,发布的障碍,测试定义还是其他关键项,工作项都是现代项目的主力。在此任务中,您将专注于使用各种工作项来设置计划,以扩展Parts Unlimited站点,增加产品培训的功能模块。虽然构建公司产品的这部分内容可能令人望而生畏,但Azure DevOps和Scrum流程使其易于管理。

此任务旨在说明您可以创建不同类型的工作项的各种方法,以及演示平台上可用功能的广度。因此,不应将这些步骤视为项目管理的说明性指导。这些功能旨在满足您的流程需求,因此您可以随时进行探索和实验。

  1. 选择Overview | 仪表板

  2. Parts Unlimited Team选择Overview仪表板。

  3. 有很多方法可以在Azure DevOps中创建工作项,我们将探讨其中的一些方法。在新工作项表单中,键入产品培训并选择Epic类型。单击创建

  4. 将新工作项分配给您自己,并将Area设置为Parts Unlimited \ PUL-Web。将Iteration设置为Parts Unlimited\Sprint 2并单击Save&Close。通常,您希望尽可能多地填写信息,但是为了本实验的目的,您可以在这里进行精简。

  5. 选择Board | 工作项目

  6. 找到刚刚创建的Epic,即产品培训并打开它。

  7. 工作项表单包含您可能想要了解的有关工作项的所有内容。这包括有关其分配对象的详细信息,其在多个参数中的状态以及自创建以来如何处理的所有相关信息和历史记录。您需要关注的一个关键区域是相关工作(Related Work)。为当前Epic工作项添加Feature的方法之一是选择添加链接(Add link)| 新项目(New item)

  8. 工作项类型设置为功能并将标题设置为培训仪表板。单击确定

  9. 分配(Assigned to)区域(Area)迭代(Iteration)应该已经设置为与Epic工作项相同,它会自动将Epic链接为它的父项目。单击保存并关闭

  10. 导航到Boards视图。

  11. 选择PUL-Web Board。这将打开该团队的board。

  12. 将board从显示积压项目(Backlog items)切换到显示功能(Features)。这样可以轻松地向features工作项添加任务和其他工作项。

  13. 培训仪表板下拉列表中,选择添加产品待办事项项目(Add Product Backlog Item)

  14. 设置第一个积压项目的标题为“作为客户,我想查看新教程”并按回车(Enter)进行保存。这将创建一个新的Product Backlog Item(PBI)工作项,新的工作项是该feature工作项的子项,并共享该feature的区域和迭代。

  15. 再添加两个PBI,旨在使客户能够查看他们最近查看过的教程并请求新的教程。

  16. 将任务板视图切换回Backlog items

  17. 积压项目具有不同的完成状态。虽然您可以使用表单打开和编辑工作项,但在板上拖动卡片更容易。将第一个工作项拖动到Approved

  18. 您还可以展开工作项卡片以获得更详细的信息。

  19. 将刚刚移动过的PBI分配给您自己。

  20. 请注意累积流图(CFD)已更新,以反映团队工作的变化。

  21. 将第二个工作项拖到Committed阶段。

  22. 累积流图将再次更新以反映这种状态变化。

  23. 将最终的PBI拖到Done阶段。

  24. 单击累积流图将其打开。

  25. 这个团队现在有三个不同阶段的工作项目。

  26. 任务板(Taskboard)是backlog的视图形式之一。单击View as Backlog查看表格形式。

  27. 单击展开按钮,该按钮允许您查看这些工作项下的嵌套任务。另一种创建工作项的简单方法是使用backlog上的添加按钮。单击它可将新任务(Task)添加到第一个backlog item中。

  28. 标题设置为添加最近教程的页面。将剩余工作设置为5,将活动设置为开发。单击保存并关闭

  29. 将另一个任务添加到优化最新教程的数据查询。将其剩余工作设为3,其活动设为设计。单击保存并关闭

任务3:管理冲刺(sprints)和容量(capacity)

您的团队在sprint计划会议期间构建sprint backlog,通常在sprint的第一天举行。每个sprint对应一个时间间隔,支持您的团队使用敏捷流程和工具的工作能力。在计划会议期间,您的产品所有者与您的团队合作,以识别要在sprint中完成的故事或积压项目。

计划会议通常由两部分组成。在第一部分中,团队和产品所有者(PO)根据之前冲刺的经验确定团队认为可以承诺在冲刺中完成的积压项目。这些项目被添加到sprint backlog中。在第二部分中,您的团队将确定如何开发和测试每个项目。然后,他们定义并估计完成每个项目所需的任务。最后,您的团队承诺根据这些估算值实施部分或全部项目。

  1. 您的sprint backlog应该包含您的团队在分配的时间内成功规划和完成工作所需的所有信息,而不必在最后匆忙。在开始规划sprint之前,您需要对backlog进行创建,确定优先级和估算,并定义您的sprint。导航到Sprints视图。

  2. 选择PUL-Web Sprint

  3. 查看选项下拉列表中,选择工作详细信息面板选项。

  4. 目前的冲刺范围非常有限。根据8小时的工作估计,有两个待办(To Do) 阶段的任务。此时,两个任务都没有分配。

  5. 添加页面任务分配给您自己。请注意,这会更新容量视图。

  6. 选择Capacity选项卡。通过此视图,您可以定义用户可以采取的活动以及容量级别。在这种情况下,将您的容量设置为每天开发 1小时。请注意,除了开发之外,您还可以为每个用户添加其他活动。

    但是,我们假设你要休假。在休息日下点击0天

  7. 在当前冲刺期间(未来几周内)将您的假期设置为五个工作日。单击确定

  8. 单击保存

  9. 返回任务板

  10. 请注意,容量视图已更新,以反映您的可用工时。这个确切的数字可能会有所不同,但对于此处的屏幕截图,该sprint容量为11小时(11个工作日内每天1小时)。

  11. board的一个便捷功能是您可以轻松地在线更新关键数据。定期更新剩余工作估算以反映每项任务的预期时间是一种很好的做法。假设您已经查看了添加页面任务的工作,发现它实际上需要的时间比原先预期的要长。将其设置为此sprint的总容量。

  12. 注意这是如何将开发和你的个人容量扩展到最大。由于它们足够处理分配的任务,因此它们保持绿色。但是,由于其他任务需要额外的3小时,因此超出了整体团队的容量。

  13. 解决此容量问题的一种方法是将任务移至未来的迭代。有几种方法可以做到这一点。首先,您可以在此处打开任务并在对话框中对其进行编辑。另一方面,Backlog视图提供了一个用于移动它的内联菜单选项。现在不要移动它。

  14. 返回Taskboard视图。

  15. 查看选项下拉列表中选择人员

  16. 这会调整您的视图,以便您可以按人而不是按积压项查看任务的进度。

  17. 还有很多可定制的定制。单击配置团队设置按钮。

  18. 样式选项卡上,单击添加样式规则并将名称设置为开发。选择绿色卡片颜色。如果满足下面设置的规则标准,这将为所有卡片着色为绿色。

  19. Activity = Development添加规则。这会将分配给Development活动的所有卡片设置为绿色。

  20. Backlogs选项卡允许您设置可用于导航的级别。默认情况下不包含Epics,但您可以在此处更改。

  21. 您还可以指定团队遵循的工作日。这适用于容量和燃尽计算。

  22. 使用错误选项卡允许您指定如何在板上显示错误。

  23. 单击保存并关闭以保存样式规则。

  24. Development相关的任务现在是绿色的,很容易识别。

任务4:自定义看板

为了最大限度地提高团队持续提供高质量软件的能力,看板强调了两个主要做法。首先,可视化工作流程,要求您按照您团队的工作流程来配置看板。第二,限制正在进行的工作量,要求您设置在制品(WIP)限制。然后,您就可以跟踪看板上的进度并监控关键指标,以缩短前置时间或周期。您的看板将您的待办事项转换为交互式信号版,提供可视化的工作流程。随着工作从构思到最终完成,您需要更新看板上的卡片。每列代表一个工作阶段,每张卡代表该工作阶段的用户故事(蓝卡)或错误(红卡)。但是,随着时间的推移,每个团队都会开发自己的流程,因此定制看板以匹配团队工作方式的能力至关重要。

  1. 导航到

  2. 单击配置团队设置(Configure team settings) 齿轮按钮。

  3. 团队很重视和数据相关的工作,因此特别关注涉及到数据访问或数据存储的任务。选择标记颜色选项卡。单击添加标签颜色输入data的标签。每当backlog item或bug的标记中有data时,该标记将高亮显示。

  4. 您还可以指定要在卡片上添加哪些注释,以便于阅读和导航。启用注释后,通过单击每张卡上的可视化,可以轻松访问该类型的子工作项。

  5. Tests选项卡允许您配置测试在卡片上的显示和行为方式。

  6. 单击保存并关闭

  7. 打开作为客户,我想查看新教程工作项。

  8. 为工作项添加dataux标签。单击保存并关闭

  9. 请注意,卡上现在可以看到两个标签,尽管data标签在配置时突出显示为黄色。

  10. 单击配置团队设置按钮。

  11. 选择Columns选项卡。本部分允许您向工作流添加新阶段。单击添加列并将名称设置为QA Approved。将WIP限制设置为1,这表示一次只能有一个工作项处于此阶段。您通常会将其设置得更高,但此处只有两个工作项可用于演示此功能。将列移动到CommittedDone之间。

  12. 单击保存并关闭

  13. 您现在将看到工作流程中的新阶段。

  14. 分别CommittedDone阶段中的工作项移动到QA Approved

  15. 现在QA Approved阶段中工作项的数量超过其WIP限制,作为警告,字体会显示为红色。

  16. 最近查看的积压项目移回Committed

  17. 单击配置团队设置按钮。

  18. 返回Columns选项卡并选择QA Approved。工作从移入列中到工作开始之间经常存在滞后。以克服这一滞后,并揭示工作的实际进展情况,您可以启用拆分列。拆分时,每列包含两个子列:DoingDone。拆分列让团队实现一个拉动模型。没有拆分列,团队就要推动工作向前,以表明他们已经完成了他们的工作。然而,将工作推到下一个阶段并不意味着团队成员立即开始该工作。勾选 Split column into doing and done ,为阶段创建两个单独的列。

  19. 当团队从一个阶段到另一个阶段时,会更新工作状态,这有助于对“完成”的含义达成一致。通过指定每个Kanban列的 Definition of Done (完成的定义),可以帮助工作项在移动到下一阶段前,共享其状态。使用markdown添加完成的定义,例如“Passes all tests”。单击保存并关闭

  20. 请注意,QA Approved阶段现在有DoingDone列。

  21. 您还可以单击列标题旁边的图标以阅读完成的定义

  22. 单击配置团队设置按钮。

  23. 您的看板支持将工作项从新建到完成的流动可视化。当您添加 swimlanes(泳道) 时,还可以支持不同服务级别类的工作状态可视化。可以创建一个泳道来代表需要跟踪的任何其他维度。从Swimlanes选项卡中,单击Add Swimlane并将Name设置为Expedite。点击保存

  24. Committed工作项拖放到QA Approved | Doing以便在QA可用时将其优先处理。

  25. 如果您想查看包含更多工作项的更复杂的看板,请从团队下拉列表中选择部件无限团队

  26. 该看板提供了一个用于试验和查看结果的界面。

任务5:定义仪表板

  1. 选择Overview | 仪表板

  2. 从仪表板下拉列表中,选择部件无限团队概览(PartsUnlimited Team Overview)。仪表板允许团队可视化状态并监控整个项目的进度。一目了然,您无需深入研究团队项目站点的其他部分即可做出明智的决策。通过“概览”页面,可以访问默认的团队仪表板,您可以通过添加,删除或重新排列切片来自定义。每个图块对应于提供对一个或多个特征或功能的访问的窗口小部件。

  3. 从仪表板下拉列表中,选择新仪表板

  4. Name设置为Product training并选择PUL-Web团队。单击创建

  5. Add Widget面板中,搜索sprint以查找专注于sprint的小部件。选择Sprint Overview并单击Add

  6. 许多小部件都有可以配置的选项。单击设置按钮。

  7. 设置的数量和深度因窗口小部件而异。单击关闭以关闭。

  8. 再次搜索小部件以获取sprint并添加Sprint Capacity小部件。

  9. 单击完成编辑

  10. 您现在可以在自定义仪表板上查看当前sprint的两个重要方面。

  11. 自定义仪表板的另一种方法是根据工作项查询生成图表,然后将其共享到仪表板。选择板| 查询

  12. 单击新查询

  13. 将第一项设置为工作项类型=任务,将第二项设置为Area Path = Parts Unlimited \ PUL-Web

  14. 单击保存查询

  15. Name设置为Web任务,将Folder设置为Shared Queries。单击确定

  16. 选择Charts选项卡,然后单击New chart

  17. 将图表的名称设置为Web任务 - 按分配Group by设置为Assigned To。单击确定以保存。

  18. 您现在可以将此图表添加到仪表板。

任务6:自定义团队流程

在Azure DevOps中,您可以通过流程模板定制工作项跟踪流程。流程定义了工作项跟踪系统的构建部分,以及您通过Azure DevOps访问的其他子系统。无论何时创建团队项目,都要选择项目所需的构建部分的流程。

Azure DevOps支持两种流程类型。第一,核心系统流程 - Scrum,Agile和CMMI系统流程 - 都是固定的。您无法自定义这些流程。第二种类型,继承的流程,从核心系统流程创建,也可以自定义这些流程。

此外,所有流程都是共享的。也就是说,一个或多个团队项目可以引用单个流程。您可以自定义流程,而不是自定义单个团队项目。对流程所做的更改会自动更新引用该流程的所有团队项目。

创建继承流程后,您可以对其进行自定义,基于此创建团队项目,并迁移现有团队项目以引用它。在将Git团队项目迁移到继承的流程之前,无法对其进行自定义。

在此任务中,我们将创建一个继承自Scrum的新流程。我们要做的一个改变是添加一个积压项目字段,用于跟踪专有的PartsUnlimited票证ID。

  1. 单击左上角的Azure DevOpslogo以导航到帐户根目录。

  2. 在左下角,单击组织设置

  3. 选择Board下的Process选项卡。

  4. Scrum下拉列表中,选择Create inherited process

  5. 将继承过程的名称设置为Customized Scrum并单击Create process

  6. 打开 定制Scrum。您可能需要刷新浏览器才能显示此信息。

  7. 选择产品待办事项项目(Product Backlog Item.)

  8. 单击新字段

  9. 将新字段的名称设置为PUL Ticket ID

  10. 布局选项卡上,将标签设置为Ticket ID。另外为PartsUnlimited创建一个新组。单击添加字段

  11. 使用面包屑导航栏返回到 所有流程 根页面。

  12. 在流程列表中找到Scrum的起始行,并定位到TemProjects列不为零的那一行,并点击数字,查看使用了该流程的团队列表。

  13. 选择Parts Unlimited团队那一行,并单击菜单选项,点击修改流程(Change process)

  14. 在弹出的对话框中选择我们之前创建的自定义流程Customized Scrum,并点击保存。

  15. 点击logo链接返回帐户信息中心。

  16. 打开Parts Unlimited门户。

  17. 选择Boards | Work items

  18. 打开第一个积压项目。

  19. 现在,您将看到在流程自定义期间定义的PartsUnlimited组下的Ticket ID字段。您可以像对待任何其他文本字段一样对待它。

  20. 保存工作项后,Azure DevOps将保存新的自定义信息,可以用于查询和Azure DevOps的其它部分。