在介绍Scrum三种角色之前,我们先来了解下Scrum团队的构成。
Scrum 团队:
Scrum 团队由一名产品负责人、开发团队和一名 Scrum Master 组成。
Scrum 团队是跨职能的自组织团队。自组织团队自己选择如何以最好的方式完成工作,而不是由团队之外的人来指导。跨职能团队拥有完成工作所需的全部技能,不需要依赖团队之外的人。Scrum 团队模式仍是设计用来提供最佳的灵活性、创造力和生产力。Scrum 团队(自身)已经证明,对于所有之前所述 Scrum 的应用以及任何复杂工作来说,它都是越来越有效的。Scrum 团队迭代增量式地交付产品,籍此最大化地获得反馈的机会。增量式交付“完成”的产品保证了一个可工作产品的潜在可用版本总是存在。
产品负责人
产品负责人的职责是将开发团队开发的产品价值最大化。如何实现这一点的方式会随着跨组织、Scrum 团队和团队成员个体的不同而有所不同。产品负责人是负责管理产品待办列表的唯一负责人。产品待办列表的管理包括:
• 清晰地表述产品待办列表项;
• 对产品待办列表项进行排序,使其最好地实现目标和使命;
• 优化开发团队所执行工作的价值;
• 确保产品待办列表对所有人是可见、透明和清晰的,同时显示 Scrum 团队下一步要做的工作;以及
• 确保开发团队对产品待办列表项有足够深的了解。
产品负责人可以亲自完成上述工作,或者也可以让开发团队来完成。然而无论何者,产品负责人是负最终责任的人。
产品负责人是一个人,而不是一个委员会。产品负责人可能会通过产品待办列表展现一个委员会的期望要求,但是想要改变产品待办列表项的优先级都必须经过产品负责人。为保证产品负责人的工作取得成功,组织中的所有人员都必须尊重他/她的决定。产品负责人对产品待办列表的内容和排序的决定必须是可见的。没有人可以强迫开发团队按照另一套需求开展工作。
开发团队
开发团队包含各种专业人员,负责在每个 Sprint 结束时交付潜在可发布并且“完成”的产品增量。在 Sprint 评审会议上,一个“完成”增量是必需的。只有开发团队成员才能创建增量。开发团队由组织组建并得到授权,团队自己组织和管理他们的工作。由此产生的正面效应能最大化开发团队的整体效率和效用。
开发团队具有下列特点:
• 他们是自组织的。没有人(即使是 Scrum Master)有权告诉开发团队应该如何把产品待办列表变成潜在可发布的功能增量;
• 开发团队是跨职能的团队,团队作为一个整体,拥有创建产品增量所需的全部技能;
• Scrum 不认可开发团队成员的任何头衔,不管其承担何种工作(他们都叫开发人员)。
• Scrum 不认可开发团队中所谓的“子团队”,无论其需要处理的领域是诸如测试、架构、运维或业务分析;同时,
• 开发团队中的每个成员也许有特长和专注的领域,但是责任属于整个开发团队。
开发团队的规模
开发团队最佳规模是足够小以保持敏捷性,同时足够大可以在 Sprint 内完成重要的工作。少于 3 个人的开发团队,成员之间没有足够的互动,因而生产力的增长不会很大。过小的团队在 Sprint 中可能会遭遇到技能上的约束,进而导致开发团队无法交付潜在可发布的产品增量。超过 9 人的团队则需要过多的协调沟通工作。对经验过程而言,大型开发团队会产生太多的复杂性而变得无用。产品负责人和 Scrum Master 角色不包含在此数字中,除非他们同时也参与执行 Sprint 待办列表中的工作。
Scrum Master
Scrum Master 负责根据 Scrum 指南中的定义来促进和支持 Scrum。Scrum Master 通过帮助每个人理解 Scrum 理论、实践、规则和价值来做到这一点。Scrum Master 对 Scrum 团队而言,他/她是一位服务型领导。Scrum Master 帮助 Scrum 团队之外的人了解他/她如何与 Scrum 团队交互是有益的,通过改变他/她们与 Scrum 团队的互动方式来最大化 Scrum 团队所创造的价值。
Scrum Master 服务于产品负责人
Scrum Master 以各种方式服务于产品负责人,包括:
• 尽可能确保 Scrum 团队中的每个人都能理解目标、范围和产品域;
• 找到有效管理产品待办列表的技巧;
• 帮助 Scrum 团队理解为何需要清晰且简明的产品待办列表项;
• 理解在经验主义的环境中的产品规划;
• 确保产品负责人懂得如何来安排产品待办列表使其达到最大化价值;
• 理解并实践敏捷性;以及,
• 按要求或需要引导 Scrum 事件。
Scrum Master 服务于开发团队
Scrum Master 以各种方式服务于开发团队,包括:
• 在自组织和跨职能方面给予开发团队指导;
• 帮助开发团队创造高价值的产品;
• 移除开发团队工作进展中的障碍;
• 按要求或需要引导 Scrum 事件;以及在 Scrum 还未完全采纳和理解的组织环境中指导开发团队。
Scrum Master 服务于组织
Scrum Master 以各种方式服务于组织,包括:
• 带领并指导组织采纳 Scrum;
• 在组织范围内规划 Scrum 的实施;
• 帮助员工和利益攸关者理解并实施 Scrum 和经验产品开发;
• 引发能够提升 Scrum 团队生产率的改变;以及,
• 与其他 Scrum Master 一起工作,增加组织中 Scrum 应用的有效性。
总结:
在Scrum的三种角色中,Scrum Master扮演了桥梁的角色,为开发团队扫除障碍,为PO提供支持,对上进行组织管理,对下进行团队协作。在实际Scrum 实施的团队中,自组织的团队是一个非常高要求的团队,但并不是不可达成,在一个普通团队中遴选出具备个性品质的团队成员,通过Scrum思想的宣导和指导,可使团队在较短时间内适应开发模式的转型,当Scrum Master作为一个服务型领导的角色来帮助团队共同成长时,团队成员之间的默契会越来越高,经过几个Sprint迭代之后,团队的交付能力得到提升,并不断趋向于稳定,为形成稳定成熟的Scrum团队奠定了基础。