ScrumMaster是Scrum团队中的重要角色,帮助团队理解和接受Scrum的价值观、原则和实践。
ScrumMaster更是一个教练的角色,帮助组织建立具有特色和高效的Scrum团队。
六大职责
- 教练:全力帮助团队达到更高级别的工作技能。
- 服务型领导:“为了帮助团队更加有效,今天我能做什么?”。
- 过程权威:帮助团队改进过程,实现交付的业务价值最大化。
- “保护伞”:保护开发团队免受外部干扰,让团队专注于价值交付。
- “清道夫”:扫清妨碍团队生产效率的一切障碍。
- 变革代言人:帮助大家转变思维,积极推动变革。
六大特征
- 见多识广:不仅精通Scrum流程,对技术和业务有所了解就更好了。
- 善于提问:结合流程、技术和业务方面的知识,提出一些启发性的问题。
- 有耐心:不倾向于公开答案,让团队自己找到解决方案。
- 有协作精神:必须有杰出的协作技能,和PO、Team等协作开展工作。
- 保护团队:像一只牧羊犬保护团队,帮助团队成员。
- 公开透明:和团队一起工作,公开透明的沟通,没有秘密议程。
做什么与不做什么
- 不主动为团队直接解决问题,而是帮助团队解决自己的问题。
- 不命令团队做什么或怎么做,而是帮助团队定义并遵守自己的流程。
- 不会直接回答团队的问题,而是反问团队。
- 不倾向于公共答案,留时间让团队自己找的合适的答案。
日程工作
ScrumMaster 最核心的职责就是管理Scrum流程,需要维护每个Sprint的流程,确保每个Sprint能够顺利的实施以及完成。每天都要花时间组织并推进Scrum活动,包括Sprint规划、Sprint执行、Sprint评审、Sprint回顾和每日站会。其中包含准备相应的活动,管理执行过程,使Scrum团队其他人的工作过程能取得高价值的结果。
ScrumMaster 每天还要花时间指导团队成员,帮助他们提高使用Scrum和技术实践的能力。
ScrumMaster 需要花时间和PO一起执行产品列表梳理活动,以及做出权衡,以确保经济上的可行。
ScrumMaster 也是一个变革推动者,帮助组织在整个价值链中更好地拥抱Scrum。
ScrumMaster 需要一些灵活的时间来扫清障碍。
其他问题
1)谁来担任ScrumMaster?
一些ScrumMaster是由项目经理或产品经理或有技术背景的人来担当。只要这个人具有上面说的六大特征并愿意接受这个角色,就可以成为一个高效的ScrumMaster。
2)ScrumMaster是全职工作的吗?
每个团队都有一个ScrumMaster,随着团队的逐渐成熟,ScrumMaster每天花在团队上的时间越来越少,但ScrumMaster角色对组织内Scrum的成功依然至关重要。建议当Scrum团队对ScrumMaster的需求减少时,ScrumMaster应该更多关注较为广泛的组织层面的障碍,并在这个组织价值链增长的过程中成为变革推动者。
ScrumMaster需要是全职的
一个全职的ScrumMaster专注于消除障碍并千方百计的提高团队效率。并能使他们真正履行团队教练和倡导者角色。让使团队有机会全力发挥他们的潜能。
ScrumMaster在Scrum中是一个重要的角色,ScrumMaster的首要职责就是消除障碍和处理问题。以及下面的职责:
- 提高团队的整体效率
- 打造一个有凝聚力的团队
- 协调团队活动
- 保持各项事情顺利进行
作为ScrumMaster的工作就是从日常工作中发现阻止团队更快前进的趋势、模式和问题,帮助团队提高他们的速率。
优秀的ScrumMaster就像汽车引擎里面的机油,负责消除摩擦,帮助团队以高性能的状态前进。
3)ScrumMaster可以兼职其他角色吗?
一个人即是ScrumMaster,又是一个能干的团队开发成员,那么他就得忍受利益冲突。
如果ScrumMaster真的有多余的精力,可以让他做几个Scrum团队的ScrumMaster。
最不鼓励的角色组合是同一个人即担任ScrumMaster又担任PO。PO是真正的产品权威,能够向团队提出要求,而ScrumMaster是中间人,平衡PO需求和Team的不足与特长。
除此之外,ScrumMaster还需要做的几件事情:
1)不要管理,而是促进
对于管理人员转ScrumMaster来说,可能有点困难。但理解Scrum是基于自组织的原则。管理人员的角色是关于做正确的事,并且遵循标准,然而促进者的角色是做正确的事,并且创造产品。不同的角色需要不同种类的技能。
可以做什么:
帮助团队移除障碍。
为团队成员组织一对一的辅导课程。
参与到招聘新的团队成员中去。
帮助计划团队成员职业发展活动。
不可以做什么:
不要给团队的成员分配工作。
不要追踪团队成员正在做什么。
2)确保团队成员知道“完成”的定义。
“完成”的定义,对于某个成员完成了他的工作任务,意味着他已经完成。而生产软件是一个复杂的活动,对于所有的团队成员来说,确切的理解对于给予的项目来说什么是“完成”了是非常重要的。
首先来确定“潜在可交付的产品”是什么状态,然后用完成的定义去承诺实现它。
3)打造自组织团队
自组织团队自己决定最好的方式/流程是什么,从而可以达到他们的目标。外部没有人分配给他们工作,他们自己决定需要完成哪些工作以达到整体目标。
自组织团队坚守最初的流程,并在经过了一段预先确定好的时间后评审这个流程。哪里做得好,哪里不好?有什么改进?团队需要回答这些问题,并且基于团队的回答,流程会进行调整。这些步骤一遍一遍地执行,从而建立了持续改进的基础,并且适当地反映了外部的变化。
4)打造学习型团队
通过团队内部知识定期分享的方式,使得每个人都能可以学到新的知识,从而逐步使得团队成长。
比如每周五的下午6点,可以利用一小时的时间,让团队的成员举办知识讲座。通过这种形式,大家的积极性会变的很高。可以约定分享的内容并非一定是技术方面的,也可以是生活方面等。这样做的好处在于不仅提高了团队的技术能力,也使得团队之间能够更轻松愉快的交流,从而提升团队的凝聚力,战斗力。
5)提高团队凝聚力
良好的团队氛围直接影响到团队的效率,团队的凝聚力是一个项目成败的关键,建设好一个团队,也是Scrum Master的重要使命。
6)让团队保持节奏。
不应过于强调速度,应保持合理的开发节奏,才会使得产品质量具有一定的保障。Scrum流程在每个sprint应统一完整,使得Team形成习惯,最终达到良好的开发节奏。
7)建立工作与生活的平衡
ScrumMaster应该保证团队成员所选的工作量对于他们来说不应该太多,不要让他们以牺牲他们的健康,人际关系,或者休闲活动为代价,在办公室花费过多的时间和周末。