敏捷模型(5)让每个人都保持联系

学习目标

完成这个单位后,你会知道:

  • 检查每日Scrum的最佳实践
  • 与分布式团队沟通
  • 处理大型项目
  • 使用CA Agile Vision中的虚拟墙

沟通是Scrum开发过程的核心。 Scrum实践是关于会议 – 每日Scrum会议,如何处理与分布式团队的会议,Scrum of Scrums详细介绍大型项目(有关Scrum of Scrums的更多信息,请参阅第3章)。本章有助于让每个人保持联系。

在本章的最后,我们将向您展示CA Agile Vision提供的一些工具,以便让每个人保持联系 – 特别是虚拟墙和报告。

作为一个团队进行沟通

沟通对任何Scrum团队都至关重要。团队成员应该与ScrumMaster保持联系。应该在Scrum团队中进行持续的与工作相关的对话。

内部和外部通信都在Scrum团队中进行。本节向您展示两者的活力。

内部沟通

团队成员之间的内部沟通是Scrum流程的核心部分。团队内部必须存在自由和轻松的沟通,因为团队通常由不习惯沟通的跨学科成员组成。这是ScrumMaster的工作,以确保团队成员相处融洽,但ScrumMaster只能做很多 – 沟通完全取决于团队成员。最终,不能很好地沟通的团队成员可能需要更换。

Scrum流程的结构有助于沟通。每日Scrum是一个站立式会议,所有与会者都站起来强调会议的简短性质(大约15分钟),而且都是关于沟通的。每个团队成员都要报告他们前一天所做的事情,他们今天将要做的工作,以及他们面临的障碍。

这里ScrumMaster的工作是确保团队成员充分参与会议,避免对这些问题做出简短的,两个对应的单词回答。理想情况下,每个团队成员必须明白他们的答案必须完整,好像他们的目标对象是需要知道但可能无法快速掌握其特定专长的人,例如产品负责人。

ScrumMaster还应该注意每个团队成员提到的障碍,并努力消除这些障碍;一些关于Scrum的评论员说,这是ScrumMaster所有工作中最重要的,如果团队运作良好,很可能就是这样。

外部沟通

外部沟通意味着团队与客户之间的沟通,这通过产品负责人进行。作为客户的代表,产品负责人必须知道完成项目所需的所有内容,并且始终可以访问 – 甚至可能与Scrum团队并置。

Scrum团队与团队所属的大型组织之间进行了额外的外部沟通。这种沟通主要关注项目资源和边界 – 访问所需的资源,如数据库服务器;边界包括预算问题和时间限制。

这种类型的外部通信几乎总是在需要时通过ScrumMaster进行。换句话说,ScrumMaster通常是Scrum团队与团队所属的大型组织之间的联络人。必须尽可能地允许团队完成其工作,而不必受到无关细节的困扰。

每日Scrum:最佳实践

每日Scrum或每日站立会议是Scrum开发的核心。这次会议就是沟通。请所有与会者在可能的情况下站起来强调会议应该简短。保持会议简短会做两件事:

  • 保持一个新的,专注的会议,不会拖延
  • 当团队成员的工作时间更好时,可以避免过度拖延

让每日Scrum保持新鲜特别重要 – 你可能会遇到永远喋喋不休的会议,浪费时间并向每个人强调会议主要是为了形式而举办,而不是为了功能。 每日Scrum的功能非常强大 – 这个名字很好地取自橄榄球,在开始行动之前,球队会暂时收集橄榄球。 另一个重要方面是所有团队成员都要准时,以确保没有人浪费别人的时间。

每日Scrum的重点在于沟通 – 它让每个团队成员都知道每个人在工作中的位置,他们下一步打算做什么,以及他们面临的障碍。 它为团队保持至少最小量的面对面互动,其成员可能只是消失在小隔间里。

每日Scrum的好处包括

  • 促进承诺
  • 向团队传达进展
  • 识别障碍,以便团队可以删除它们
  • 保持专注
  • 促进团队合作

预计所有Scrum项目都会持有每日Scrums – 这就是方法的名称来源。

每日scrum如何实际运作

每日scrums是在sprint期间发生的每日会议,从第二天到sprint结束(Sprint的第一天用于Sprint计划)。每日Scrums快速,专注,非常协作。 ScrumMaster为他们提供了便利,但每个团队成员都必须参与并发言。每个团队成员和ScrumMaster(以及产品负责人,如果适用)都有责任参加每日Scrum并准时出席。

每个团队成员和ScrumMaster的出席尤为重要,因为每日Scrum也可以作为识别问题的一种方式。一个团队成员面临的特殊挑战可能是另一个团队成员的特殊挑战,这个问题可以启动团队成员之间的正确联系,然后在每日站立后脱机谈话。每日Scrum还让每个团队成员了解每个其他团队成员正在做什么以及他们面临的障碍。

每日Scrums限制为15分钟,但如果一切顺利,它们可以短至5分钟。如果讨论可能会持续超过几分钟,那么它们应该推迟到Scrum结束,所以只有那些感兴趣的人才能在单独的会议中继续讨论。坚持这些会议的短时间框架对Scrum流程来说非常重要,以保持这些会议的新鲜感。

每日Scrum寻求实现许多目标:

  • 促进承诺:在每日Scrum期间,团队成员承诺每天都在做什么。作为一个团队每天做出相互承诺是每日Scrums最重要的目标之一。
  • 沟通进展:认识到团队成员应该对团队负责是很重要的。每日Scrum都会提升责任感 – 而不是向经理报告进度,每个团队成员向团队报告。
  • 识别障碍:当出现障碍时,面对问题的团队成员通常不应该单独奋斗。如果其他团队成员可以提供建议或解决方案,则不会延迟进度。这种协作是Scrum实践的全部。
  • 保持专注:在每日Scrum期间,ScrumMaster将注意力集中在Sprint积压上。 Scrum用于不断提醒团队该方向是什么,以便团队可以专注于这些任务。
  • 促进团队合作:通过定期沟通,协作和互相帮助,建立有效的团队。团队成员的联系越多,他们就越能相互依赖。

所以我们已经告诉过你关于会议以及会议的重要性,但你可能会想,“那些会议中发生了什么?”有趣的是你应该问。以下是每日Scrum的详细信息:

  • ScrumMaster每天在同一时间和地点发出定期会议通知。
  • 团队成员准时出现。
  • 每个团队成员回答以下问题:
    1. 昨天我完成了什么?
    2. 今天我会做什么?
    3. 阻碍我进步的障碍是什么?
  • ScrumMaster记录进度并更新sprint burndown图表。列表中添加了任何障碍,以确保它们得到缓解。
  • 任何较长的项目都可以跟那些有兴趣讨论这些项目的团队成员进行跟进。

在每日Scrum期间,团队成员可以查看Sprint积压,燃尽图,虚拟墙和障碍列表,以深入了解进度。

遵守游戏规则

当你年轻的时候,你可能已经知道生活是由一系列规则决定的。那么,作为一个成年人,在一个非常成功的公司工作也没有什么不同。每日Scrum的规则包括以下内容:

  • 每天的Scrum应该在每天的同一时间举行,以提供稳定感和所有权。有兴趣的人应该能够观察每日Scrum,以避免安排其他会议。
  • 团队成员不得强制延迟或更改每日Scrum的位置。
  • 一般而言,任何人都不应该能够更改时间表或地点。这应该是Sprint Planning或回顾期间的团队讨论。
  • 只有整个团队同意,才能修改时间表。
  • 每个人都应该参加。每日Scrum是为了团队的利益,所有Scrum成员都必须参加。
  • 如果有人迟到,会议不会被推迟(Scrum方法非常清楚,不是“奖励”后来者)。
  • 每个团队成员都应与整个团队交流。在会议期间,团队成员轮流发言,有时会通过令牌表示当前有意发言的人。
  • 如果团队成员不能参加Scrum,他应该向代理(例如另一个Scrum团队成员)提供他的信息。
  • 承诺。在每日Scrum中发言的所有人都必须是分配到该项目的Scrum团队成员和Sprint(有时在第3章中说明承诺的故事中称为“猪”)或者
  • 产品拥有者。其他人可能会参加,但不允许发言(这些人被称为“鸡”)。
  • 保持简短。每日站立的目标是简短的。确保它实现了这一目标。

捆绑松散的目标

在每日Scrum会议上发生的事情很多,我们可以在会议上写一整本书。你有一些挥之不去的问题吗?我们希望通过给你一些最后的记忆来回答本节中的一些内容。

如果团队落后会发生什么?

如果团队注意到它落后了,如燃烧图表所示,它应该将这个事实引入ScrumMaster的注意力而不是简单地希望它能够在没有任何纠正措施的情况下赶上。

一些加班时间可能会纠正这个问题,但不推荐长时间和极端加班 – 至少部分是因为它会影响团队速度的真实衡量标准(未来的项目可能期望加速速度相同)。可以在回顾中讨论进度和速度问题,并在下一个Sprint的下一个Sprint计划会话中进行调整。

如果某些加班时间不足以纠正问题,ScrumMaster应该调查添加临时团队成员的可能性。额外的临时团队成员应尽可能与项目结盟,项目目标应属于他们的专业领域。

如果团队确定了其他任务怎么办?

您的团队可能会识别Sprint计划中未出现的其他必要任务。如果您有这个问题,答案取决于新任务是否延迟项目或影响冲刺。如果新任务不会引入重大延迟,团队成员应该承诺并执行任务。

如果新任务在项目完成时引入延迟或影响sprint,则必须由ScrumMaster将其输入到Sprint backlog中,并将其视为任何其他任务。可以向产品负责人请求确认新任务。

每日Scrum不被视为解决问题的会话。每日Scrum是一个沟通会议 – 如果有需要更多关注的问题,有兴趣的各方应该在每日Scrum之外见面。

保持分布式团队的联系

传统上,Scrum团队在同一地点并置。它们共享相同的物理工作环境,包括列出Sprint积压任务的相同图表和电路板。这些项目可以放在共享的团队空间中,每个人都可以平等访问它们。

分布式团队实现统一要困难得多。在这种情况下,您没有共享的物理团队空间 – 没有并置,没有物理图表,也没有列出Sprint任务的板。相反,您需要建立一个在线协作空间,并使用CA Agile Vision等敏捷规划工具来共享信息和文档。

特别是,分布式Scrum团队面临两个重大挑战:

  • 缺乏有效的会议:对于其他地方的部分或大部分团队而言,举行高效,协调的会议是一项挑战。
  • 文档复制:如果每个团队网站都有自己的项目文档副本,例如燃尽图,积压工具等,那么这些文档很快就会变得不协调。

本节将详细介绍解决这两个问题。

创建高效的分布式会议

如果每天Scrum的一半发生在加利福尼亚州的圣地亚哥,另一半发生在印度孟买,那么你将面临一些沟通问题。

简单地将每日Scrum分成两个独立的会议是最不具吸引力的选择。这有效地减少了团队之间的沟通,这显然是不可取的。

幸运的是,有大量的网络工具可以提供帮助,以及其他一些要点:

  • 使用简短,专注的会议。短期会议比长会议更好。可以运行会议以仅包含关键信息。应在会议召开前至少24小时向所有团队成员提供会议支持文档。
  • 使用Web会议工具。微软LiveMeeting等工具非常适合为远程团队成员提供服务。分布式团队可以使用基于Web的会议软件的正确组合来体验并置的每日Scrums的体验。
  • 尽量缩短时间和地区差异。尽你所能选择最适合每个人的会议时间。团队应避免根据会议安排会议
  • 单一地点,并了解时间表中的地区差异,例如当地假期。
  • 记录所有内容:应使用基于Web的工具(如CA Agile Vision)来支持信息和详细信息。

协调文件虚拟

发展取决于与团队共享文档 – 产品积压,Sprint积压,燃尽图,发布计划积压。

当存在多个文档副本时,共享此类文档会变得更加困难。伊利诺伊州芝加哥市的燃烧图表存在与中国北京类似燃烧图表不同步的风险。如果它们是两个独立的图表,它们应该代表相同的进展,那么它们会慢慢地彼此不同步(可能)都不是真相。那时,你必须在sprint结束时调和。

该解决方案涉及在Web上托管共享文档,图表和计划。这些解决方案包括以下功能:

  • 积压管理:如果所有积压项目描述,优先级,验收标准和状态都保存在一个地方,那么对于要完成的工作范围和规模的错误沟通的可能性就会降低。
  • Sprint管理:此工具使用通用任务板,因此每个团队成员都知道其他团队成员正在做什么。
  • Sprint报告:Burndown图表和其他sprint报告指标可以让整个团队快速了解团队和团队成员的进度。
  • 时间跟踪:为了使图表和报告中的指标有意义,团队成员需要跟踪他们的时间。
  • 用于团队沟通的虚拟墙:团队成员可以随时在墙上张贴,当墙在世界各地立即共享时,该沟通可以保持团队的协调。

所有这些分布式Scrum团队成员之间的即时通信都可以通过CA Agile Vision等基于Web的工具立即实现。 CA Agile Vision为您提供了托管Scrum团队在线所需的所有共享文档的工具,以使每个人都能够处于循环中。

内部审视CA Agile Vision:将任务添加到虚拟墙

当团队首先使用Scrum时,他们会使用记事卡来捕获用户故事和任务。然后他们将它们放在墙上并在那里管理它们。使用CA Agile Vision,任务墙变得虚拟,可供各地团队使用 – 并且清洁人员不会意外地将卡刷掉。

CA Agile Vision专注于保持团队成员和其他人的联系。虚拟墙作为一个中心焦点,让人们了解冲刺的方式。虚拟墙使团队成员能够以图形方式管理任务。

虚拟墙遵循一个比喻,许多团队手动工作将遵循。这些团队在记录卡上创建用户故事和/或任务,并通过将它们附加到按状态划分的墙来跟踪其优先级和进度。

团队成员可以查看为sprint提交的所有用户故事和任务,并可以在页面中编辑任务并更新其状态。通过这种方式,团队中的每个人 – 以及产品负责人等其他感兴趣的团队 – 都可以一目了然地看到冲刺的方式。

您可以快速将任务添加到CA Agile Vision中的虚拟墙;只需按以下步骤操作:

  1. 单击“导航”菜单,从“计划”菜单中选择“Sprint详细信息”。
  2. .显示用户故事所属的sprint的详细信息,然后转到Virtual Wall。
  3. 单击要添加任务的用户素材的“新建任务”。
    用户素材中添加了一个新的任务窗口。
  4. 双击名称下方的任务窗口。
    任务窗口将重新显示您可以编辑的字段。
  5. 填写字段,其中包括以下内容:
    清除顶部字段并输入任务标题。
    在第二个字段中输入将分配给任务的团队成员的名称。
    在第三个字段中输入估计完成任务的小时数。
    如果任务已启动,请输入工作小时数。
    如果任务已启动,请单击向右箭头按钮将任务状态从“计划”更改为“正在进行”。
  6. 单击复选按钮以保存设置。
    您可以在图中的虚拟墙上看到示例任务。