敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。Scrum和XP就是敏捷开发的具体方式。
Scrum的英文意思是橄榄球运动的一个专业术语,表示 “争球”的动作;把一个开发流程的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。
Scrum团队中三个关键角色
先了解下Scrum团队中三个关键角色:Scrum Master,Scrum Product Owner和Scrum开发团队
Scrum关键角色一:产品负责人 Product Owner
—确保Team做正确的事
产品负责人负责将产品和开发团队工作的价值最大化,主要抓手就是Scrum工件中的产品Backlog。通过明晰产品Backlog条目、确定条目优先级,产品负责人实现对产品Backlog的使用效果及产品本身负责。
Scrum团队只有一个产品负责人,但并不是所有的事情都由产品负责人一个人负责。产品负责人通常是离项目的“业务面”最近的人,一般由组织指派来负责“把这个产品做出来”,而且通常期望他以最好的工作成果来满足所有的利益干系人。
要做到这些,产品负责人需要管理产品待办事项列表,并确保产品待办事项列表和它的进度可见。产品负责人通过选择开发团队下一步应该做什么以及要推迟什么,来权衡范围和进度,以得到尽可能好的产品。
Scrum关键角色二:开发团队 Team
—负责产品需求实现
Scrum开发团队不同成员可以拥有不同的专长和专攻领域,但Scrum开发团队作为一个整体共同负责并完成产品开发。开发团队的规模是灵活可变的,小可到足以保持敏捷性、大可到足以满足产品开发需要,但通常在3-9人之间。
开发团队成员需要以自组织的方式实现Sprint目标,根据Sprint的计划完成产品增量。
产品负责人准备一个有序的代办事项列表。开发团队成员共同预测在一个Sprint里能完成的工作量,并决定如何实现。
Scrum关键角色三:Scrum Master
—确保Team正确地做事
ScrumMaster是一个“仆人型领导”,帮助Scrum团队遵守他们的流程。ScrumMaster必须对Scrum框架有很好的理解并且有能力培训其他人去了解Scrum的微妙之处。
ScrumMaster帮助产品负责人理解如何创建和维护产品待办事项列表(Product Backlog)。为了确保团队在Sprint结束时能够完成工作,他和开发团队一起发现并实施技术实践。他和整个Scrum团队一起来演进完成的定义。
作为Scrum团队的教练,ScrumMaster帮助团队执行Scrum的流程。他帮助团队更好地合作,帮助他们理解Scrum框架,并且保护他们远离内部和外部干扰。他可以引导会议,帮助Scrum团队保持正确的方向,提高效率,并提升能力。
为何Scrum Master如此重要?
ScrumMaster的职责简单的说可以总结为: 确保team 按照scrum的方式运行,team的coach,帮助team更好的工作,process的owner,能够在team和PO之间平衡。移除项目进度的障碍,保护团队成员被过度commit等。
具体的来说,ScrumMaster的职责到底是什么呢?
1)ScrumMaster的首要职责就是教练,对该怎么踢负责的教练,不是为进几个球负责的教练
TA帮助PO,团队理解如何应用Scrum开发方式工作。比如PO如何梳理产品列表,团队如何做故事点的估算,Scrum的5个活动该怎么做。TA是过程上的权威,工作是否做的下来,TA说不上话,但是工作该如何遵守Scrum的流程,ScrumMaster说了算。
ScrumMaster是教练,并且还是服务型的教练。TA并不去要求团队们要做到什么(注意我是说的做到什么,而不是依照什么流程做)。TA应该去问团队,我怎样能帮助团队工作得更有效。
2)ScrumMaster要充当团队的保护伞
TA要代表团队给管理层汇报,TA也会有原则的把管理层的信息传达到团队。确保团队能集中精力完成冲刺。经理对团队成员安排额外任务时候,PO想给团队增加Sprint Backlog的时候,ScrumMaster都会充当保护伞,有原则的把这些干扰屏蔽在团队之外。
3)ScrumMaster是清除障碍的人
TA要确保创造team能够顺利工作的条件,扫除各种障碍比如团队对外部的硬件或者软件依赖;比如需要其他团队的支持;需要工具的支持等
4)ScrumMaster沟通连接的桥梁
经常说TA是牧羊犬。牧羊犬的作用一是让羊有秩序的行进,不能掉队。牧羊犬还有另一个作用不是和狼打架,通常也是打不赢的。这个作用是叫,如果遇到狼,大叫把人类叫过来打狼。在这点上,ScrumMaster就是团队的代言人,团队遇到问题,ScrumMaster要负责大部分的对外沟通工作。
5) ScrumMaster是变革代言人
TA要促成组织内部人员转变思维,迎接敏捷开发方式。TA需要见多识广,引入变革改变组织,让组织运行更加高效。比如,改变项目经理过去安排任务的习惯;改变团队成员等着分配任务习惯;引进新的测试工具;推进更多的敏捷实践到团队,比如TDD。
具体职责如下图:
ScrumMaster是没有被授予实实在在权利的角色。这些变革的推动,更多的是靠TA的沟通技巧,比如探索式提问;耐心引导,让团队发现问题;勇敢对外部不合理的安排说不;等等这都对ScrumMaster提出更高的要求。
一般人很难当好Scrum Master。Scrum Master实际上是一个复合型人才,其实产品经理,项目经理,team leader等都不一定能够成为一名好的Scrum Master。那么都需要什么技能才能做一个好的Scrum Master呢?
具体参考下图:
这样的人才,在团队中应该是很重要的位置。够起到足够重要的作用来帮助团队达成目标,推动团队成员的发展和技能提升,同时帮助组织来实现愿景。
所以这也是Scrum框架中,为什么Scrum Master如此重要的原因。现在很多企业转型的时候,往往对Scrum Master赋予了很高的期望,希望他们能够帮助组织转型成功,保证团队高效交付,提升团队成员技能水平等。
在整个组织中,Scrum Master都是神一般的存在。
转载自知乎敏捷视界专栏,文作者:BIbestbest
0 thoughts on “入门指南 | 掌握敏捷团队动力核心:全面探索Scrum Master的职责与价值”
学习了这篇文章,对Scrum Master的职责和作用更加清晰了
文章写的很详细,对Scrum框架的介绍非常清晰
Scrum框架的应用不仅是一种新的工作方法,更重要的是一种新的工作文化
作为Scrum团队的教练,Scrum Master需要有很好的理解和实践经验,才能帮助团队运用Scrum开发
作为产品负责人,感觉自己的责任好大啊,需要不断管理和维护产品待办事项列表
作为开发团队的成员,需要理解Scrum流程,才能更好地完成产品开发
Scrum开发团队需要不断适应变化,才能保持团队的高效
Scrum Master不能只是传达规则,更应该帮助团队理解Scrum背后的原则
Scrum开发团队需要自组织的完成目标,需要团队成员之间的紧密协作
Scrum Master这个角色真的太重要了,能引导团队走向高效的工作方式