本节书摘来自华章出版社《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》一书中的第3章,第3.4节 作者[美]迪恩·莱芬(DeanLeffingwell),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.4 Scrum Master
好的领导者首先必须是个好仆人。
—— 罗伯特·K·格林里夫
摘要
大多数SAFe团队采用的是ScrumXP,这是一种用于有效地进行敏捷项目管理和产品交付的轻量级的团队框架。Scrum Master的角色由团队中的一员承担,主要职责是帮助自组织、自我管理的团队实现其目标。Scrum Master通过教学和指导SAFe,实施并支持SAFe的原则和实践,识别和消除不利因素的影响,引导流动。
SAFe团队从Scrum、看板、XP和其他精益敏捷方法中挑选最佳实践来调整他们的过程。虽然Scrum Master这个角色主要基于标准的Scrum模型,但是大多数团队——甚至是那些基于事务或工作流的团队(主要应用看板)——也有效地采用了Scrum Master这个角色来帮助团队达成目标,并协调与其他团队的沟通活动。
详述
Scrum Master对于敏捷团队来说是一个专门的角色,他会花大量的时间帮助团队成员进行沟通、协调、合作;一般来说,Scrum Master会协助团队达成他们的交付目标。Scrum Master是基于团队的管理代理人和仆人式领导,他通过有效的敏捷实践,帮助团队实现自组织、自我管理和交付工作。Scrum Master支持和实施Scrum流程的规则以及团队认可的其他规则。Scrum Master也帮助团队在敏捷发布火车上与其他团队进行协调配合,在必要的时候向管理层沟通当前的状态。
在团队中的责任
优秀的SAFe Scrum Master是基于团队的仆人式领导:
展现精益–敏捷的领导力——展现出具有精益–敏捷思维的领导者行为。帮助团队拥抱SAFe的核心价值观,采纳和应用SAFe原则,并实施SAFe实践。
支持规则——虽然Scrum的规则是轻量级的,但依然是规则,Scrum Master负责遵循实行这些规则,包括Scrum规则、在制品限制,以及团队认可的其他规则。
引导团队向着目标前进——Scrum Master接受培训并成为团队引导者,不断地挑战旧有的软件开发范式,同时保持团队专注于迭代目标。Scrum Master在质量、可预测性、流动和速度等方面帮助团队。以当前产品增量目标为基准,帮助团队关注于日常工作和迭代目标。
领导团队进行持续改进——帮助团队进行改进,并对自己的行为负责。引导团队进行回顾。教给团队如何解决问题,并帮助团队成为自身问题的解决者。
引导会议——引导所有的团队会议,包括每日站会、迭代计划、团队演示和迭代回顾。
支持产品负责人——在团队中产品负责人有专门的职责。Scrum Master支持产品负责人的工作,促进健康的团队内部优先级和范围的动态调整。
消除障碍——很多阻碍问题都超出团队授权,或是需要来自其他团队的协助。Scrum Master需要积极解决这些问题,以便团队能够保持专注于迭代目标的达成。
宣传推广SAFe质量实践——SAFe提供了指导,帮助团队持续改进交付物的质量,达成完成定义(DoD)。Scrum Master帮助团队培养技术自律和匠艺精神文化,这是卓越敏捷团队的标志,Scrum Master还培育和支持相关实践的社区。
建立高效团队——致力于不断提高团队的动力和绩效。帮助团队管理人际冲突、挑战和成长机会。必要时可以把人员问题上升到管理层,但这仅限于通过内部解决无法达成目标时才进行。Scrum Master 还可以通过人事变动帮助团队和个人开展工作。
保护和沟通——与管理层和外部利益相关者进行沟通。保护团队不受那些不可控插队工作的影响。
在敏捷发布火车上的责任
Scrum Master帮助协调团队之间的合作,以便团队真正地成为“在火车上的团队”。
与其他团队进行协调——一般而言,Scrum Master作为代表,参加Scrum of Scrums会议,把会议上的信息传达回团队(细节信息参见4.10节)。经常和系统团队、用户体验、DevOps、共享服务,以及发布管理团队进行协调。需要注意的一点是,团队间协调的责任不能完全委托给Scrum Master,每一个团队成员在这方面都负有责任。
引导敏捷发布火车仪式的准备和就绪——帮助团队准备敏捷发布火车活动,包括PI计划会议,系统演示,以及检视和调整工作坊。
协助估算——指导团队建立标准化的估算方法,帮助团队和敏捷发布火车进行大型特性及能力的估算。
角色来源
Scrum Master可以是全职或兼职的,这取决于团队规模、环境和其他职责。然而对企业来说,接受每个敏捷团队有一个全职Scrum Master是一件有挑战的事情。毕竟,如果企业组建了100个新的敏捷团队,将100个开发团队成员全职地放在这个新职责上,而不再做开发或测试工作,这看起来不太经济,而且行政上的可操作性也不高。就更不要说给每个团队配备一个全职或者兼职的顾问,来帮助团队学习和掌握新的思想了。可能在团队有机会证明这个角色的价值之前,这种变革就已经胎死腹中了。
因此,SAFe提供了务实的方法和假定,通常情况下,Scrum Master是由敏捷团队的成员、项目经理、团队领导或者其他角色兼职担任。然而在SAFe推行的初始阶段,这个角色的活动会很密集,这时候组织会发现让外部顾问指导团队,使团队在Scrum和SAFe执行中熟练起来很有益处。通常来说,外部的Scrum Master教练和咨询师能够同时指导多个团队。
参考资料
[1] www.scrumalliance.org.
[2] Leffingwell, Dean. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley, 2011.