CODING 告诉你如何建立一个 Scrum 团队

苹果软件工作室 2019-09-08

原文地址:https://www.atlassian.com/agi...
翻译君:CODING 敏杰小王子

Scrum 当中有三个角色:PO(product owner),敏捷教练(scrum master)和开发团队。虽然这看起来很清晰,但如何处理现有职位的问题可能会让人感到困惑。许多团队询问在采用 scrum 时是否需要更改岗位名称?最简洁的答案是“不”。在本文中,我们将讨论 scrum 的角色定义以及如何将它们融进你的组织中,而你无需打印新的岗位名片。

Scrum 角色 VS 岗位职称

这三个 scrum 角色描述了 scrum 团队成员的主要责任,他们并不是岗位职称。这意味着任何职称,即使是现有职位,也可以承担其中一个角色。因为 scrum 的本质是经验主义、自我组织和持续改进,所以这三个角色给出了责任的最小定义,以允许团队有效地工作。这使得团队可以对他们的自我组织和持续改进负责。
参考阅读:https://scrumguides.org/scrum...

建立一个 Scrum 团队

Scrum 是一个团队构建运作流程的框架。它提供了定期会议和谁做什么的基本结构。
它不为团队提供一个适合所有人的模型。例如,如果团队正在开发 Web 保险应用程序,他们需要了解技术、后端系统和业务领域的人员。另一方面,如果团队正在研究下一代大金刚,那么所需的技能将会大不相同。他们需要平面设计师,音响工程师和图形开发人员。由于问题不同,所需的团队结构和技能也不同。

团队试图解决的问题越复杂,团队运作就变得越来越困难。正如那句老话:“你不知道你不知道什么,直到你知道你不知道”。团队可能不知道预先需要的技能或工作量,并且需要具备一定的灵活性,一旦他们了解更多后就可以轻松地改变学习方向。

为了给这个复杂、不断变化且经常令人讨厌的世界提供一些结构,scrum 提供了轻量级团队结构,包括开发团队,PO 和敏捷教练的三个 scrum 角色。

开发团队:重新定义“开发人员”

开发团队是开展工作的人员。乍一看可能认为“开发团队”意味着工程师。但情况并非总是如此。根据 scrum 指南,开发团队可以由各种各样的人组成,包括设计师、文档工程师、程序员等。  

你可以像进行一个房屋项目聘请开发人员一样考虑它。这可能意味着他们需要铺砖,做管道,甚至挖洞,这个人被称为开发商。因此,scrum 中的“开发人员”角色意味着拥有合适技能的团队成员,作为团队的一部分来完成工作。
参考阅读:https://www.scrum.org/resourc...
Scrum 指南:https://www.scrumguides.org/

CODING 告诉你如何建立一个 Scrum 团队

Scrum 神话:Scrum 开发人员意味着只有编程人员才能成为 Scrum 团队的一员。

开发团队应该能够自我组织,这样他们可以自己做出决定来完成工作。可以将开发团队视为类似于因为出现了问题而被夜间呼叫的生产环境支撑团队。与生产环境支撑团队一样,开发团队可以制定决策并为手头的问题提供修复/价值。自组织不意味着对组织不尊重,而是为了让最接近工作的人能够为解决问题采取实质行动。

开发团队的职责包括:

  • 通过迭代交付工作。
  • 为了确保冲刺期间的工作透明度,他们每天都会在晨会中碰头(有时称为站立)。站立会议为工作提供透明度,并为团队成员寻求帮助、谈论成功经验以及突出问题和障碍提供了一个专门的场所。敏捷教练可能会促进站立会议,但最终由开发团队负责运行此会议。他们的会议是帮助他们作为一个整体,以更有效的方式检查和调整他们正在做的工作。

PO:明确方向

敏捷团队在设计上具有灵活性和快速响应的特质,PO 有责任确保团队提供的价值最大化。业务由产品所有者(即 PO)代表,他会告诉开发什么是重要的交付内容。这两种角色之间的信任至关重要。

PO 不仅要了解客户,还要了解 scrum 团队为客户提供的价值。PO 还可以平衡组织中其他利益相关者的需求。  

因此,PO 必须掌握对所有工作的输入并确定优先顺序。这可能是他们最重要的责任,因为冲突的优先级和不明确的方向不仅会降低团队的效率,还会破坏业务人员与开发团队之间的重要信任关系。

敏捷团队旨在即时检查和随时调整,这意味着优先级的变化可能会导致团队结构、工作产出以及最终结果的巨大变化。因此,对于 scrum 团队而言,成功的关键是只有一个人能够确定优先权,那个人是 PO。

Scrum 指南将 PO 的职责定义为:

  • 管理 backlog —— 这并不意味着他们是唯一一个将新的 backlog 项目放入待办事项的人。但他们对开发团队需要交付的 backlog 事项负责。这意味着 PO 应该了解待办事项中的所有内容,当其他人将添加事项到产品 backlog 当中时应确保他们与 PO 沟通过。
  • 发布管理 —— 迭代不是发布周期,而是计划周期。这意味着 scrum 团队可以随时交付产品。理想情况下,他们会在整个迭代中频繁交付,可以在迭代回顾查看真实的客户使用情况和反馈。但是持续交付并不是总能保持的一种状态,并且其它发布模型也是必要的。PO 必须知道什么时候能够并且应该发布。
  • 利益相关者管理 —— 任何产品都会涉及许多利益相关者,包括用户、客户、公司高层和组织领导。PO 必须与这些人合作,以确保开发团队提供真正的价值。这可能意味着 PO 需要与各个利益相关者进行沟通。

CODING 告诉你如何建立一个 Scrum 团队

Scrum 神话:PO 制定所有要求,编写所有验收标准并创建所有需求。

Scrum master:把它们融合在一起

Scrum 管理员负责把 scrum 相关的一切都融合在一起,并确保 scrum 在团队中运作良好。这意味着他们可以帮助 PO 定义价值,帮助开发团队交付商业价值,帮助 scrum 团队运作地更好。敏捷教练是一个仆人式的领导者角色,这个角色不仅描述了支持性的领导风格,还描述了他们日常工作的内容。

敏捷教练通过帮助 PO 更好地理解和传达价值、管理 backlog、与团队一起规划分解工作输出最有效的经验,来更好地为 PO 服务。敏捷教练也为开发团队服务,帮助他们自我组织,专注于结果,实现“增量式工作”,并管理工作中的障碍。敏捷教练还为整个组织提供服务,帮助他们了解 scrum 是什么,创建可以良好运作 scrum 的环境。

CODING 告诉你如何建立一个 Scrum 团队

Scrum 神话:敏捷教练必须每日运行 scrum 相关机制。实际上,敏捷教练不运行任何事务只是确保它们能够正常运行。

敏捷教练专注于:

  • 透明度 —— 为了支持团队能够有效地自我检查和调整,对应的人员需要看到对应发生的事情。但这事做起来比看起来难。敏捷教练的任务是确保 scrum 团队以透明的方式工作。比如创建故事地图和使用回顾性思维来更新汇总信息页面。
  • 经验主义 —— scrum 和敏捷的一个基本方法是,达到目标的最好方式是去做并从中学习。积累经验的过程并不容易,需要敏捷教练指导团队分解工作、描述明确的结果并回顾这些结果。
  • 自组织 —— 告知开发团队他们可以自我组织,那么他们就会去自我管理。事实上,团队在自我组织的过程中随着时间的推移,会需要帮助和支持。敏捷教练会鼓励团队成员走出他们的舒适区并尝试不同的事情,并使用诸如“委托扑克”之类的做法来揭露和挑战有关角色界限和职责的预设想法。

参考阅读:https://management30.com/prod...

  • 价值观 —— scrum 定义了勇气、专注、承诺、尊重和开放的 5 个价值观,不是因为它们很友善,而是因为它们创造了安全和信任的环境。这种环境对于团队的茁壮成长非常必要。遵循这些价值观是 scrum 团队中每个人的责任,而敏捷教练在鼓励和提醒每个人遵守这些价值观的方面发挥了积极作用。

敏捷教练在迭代规划和迭代回顾中为 PO 提供服务,确保描述准确并设置方向。他们通过维持事务正常运作、移除工作阻碍为日常的开发团队服务。他们还对团队无法解决的障碍负责。敏捷教练确保每个改进的机会都对 scrum 团队透明,并且有一系列明确的结果可供回顾。

开始使用敏捷 Scrum 角色

在只描述任何 scrum 团队中三个主要责任区域时,这三个 scrum 角色理解起来非常简单。但通常很难将它们映射到企业当中的岗位职称。所以下面的实践将帮助你更好地开始:

  • 如果你拥有不少提供客户价值的优秀技能,并且提供价值这件事令你无比兴奋,那么你应该成为一名 scrum 开发团队成员。实际上,团队是任何敏捷组织中最重要的元素,因为他们为客户和利益相关者提供了价值。这意味着你的资历取决于你能提供多少价值或帮助他人做到这一点。
  • 如果你对客户、企业利益相关者和业务领域充满热情,那么 PO 最适合你的需求。在大多数组织中,这个人需要得到业务方面的尊重和信任,因此他们可以做出决策。当你权衡利弊并希望让每个人都开心时,这个角色就需要一定程度的“政治活动技巧”。
  • 如果你想帮助团队有效地一起工作,并希望通过 scrum 和敏捷改变世界,那么敏捷教练的角色非你莫属。这是一个以人为中心的角色,非常注重指导、教学和辅导。

CODING 敏捷模块帮助 scrum 各个角色轻松搞定敏捷项目管理。

相关推荐