Scrum团队,又叫ScrumTeam,是Scrum的基本单位,一般都是小团队,这个团队虽小,但是麻雀虽小,五脏俱全,这是一个跨职能的团队,这个团队具有完成每个迭代所创造的价值的全部技能。他们是自管理的,这意味着他们在团队内部决定谁做什么、何时做已经如何做。
一般Scrum团队都是10个人左右,这已经是最小单元,没有子团队或结构层次了,规模足够小可以保持灵活,同时也足以完成一个迭代中重要的工作。小的团队沟通更好,效率更高,如果有问题,站起来直接喊、然后开始讨论把事情解决了。
那如果这个团队人数超过了10人以上,可以把团队拆开成为多个Scrum团队,这样可以让不同的团队专注到不同的模块,有多个ScrumMaster,还有一个ScumScrumMaster。
有关Scrum的整体介绍,可以看《你真的了解Scrum吗?一文总结敏捷管理Scrum
项目管理》,而这篇则是介绍Scrum的三大角色及其主要职责的。
Scrum团队是具有凝聚力的专业团体,作为一个整体,每个成员都非常重要,大家互相配合一次专注于一个目标,即产品目标。在团队中,三种角色有不同的分工,由一名流程管理员(ScrumMaster),产品负责人(ProductOwner),开发团队(DevTeam)组成来完成每一次迭代,产出每一次增量,完成每一次目标。
就像我们的团队,一个ScrumMaster,一个产品负责人,3个后端,1个前端,2个APP,1个设计师,刚好9个人,我们的目标是三个月内开发出一个APP,包括iOS、Android版本,而且在1个月的时间,需要出一个MVP(最小可行性产品)版本,作为公测版版本,进行产品验证。
1流程管理员(ScrumMaster)
保护团队不受外界干扰,是团队的领导和推进者,负责提升Scrum团队的工作效率,控制Scrum中的“检视和适应”周期过程。与ProductOwner一起将投资产出最大化,他确保所有的利益相关者都可以理解敏捷和尊重敏捷的理念。
ScrumMaster作为项目效能方面的负责人,需要在团队里面推广Scrum,建立Scrum的机制,让团队里面的每一个理解Scrum的理论,然后实践起来。
ScrumMaster以多种方式服务于Scrum团队,包括:
●作为教练在自管理和跨职能方面辅导Scrum团队成员;
●帮助Scrum团队专注于创建符合DoD(DefinitionofDone)的高价值增量;
●促使移除Scrum团队工作进展中的障碍,确保所有Scrum事件都发生并且是积极的、富有成效的,并且在固定的时间内完成。
ScrumMaster以多种方式服务于ProductOwner,包括:
●帮助找到有效定义产品目标和管理ProductBacklog的技巧;
●帮助Scrum团队理解为何需要清晰且简明ProductBacklog条目;
●帮助建立针对复杂环境的基于经验主义的产品规划(empiricalproductplanning);
●当需要或被要求时,引导利益攸关者协作。
ScrumMaster以多种方式服务于组织,包括:
●带领、培训和作为教练辅导组织采纳Scrum;
●在组织范围内规划并建议Scrum的实施;
●帮助员工和利益攸关者理解并实施针对复杂工作的经验主义方法(empiricalapproach),消除利益攸关者和Scrum团队之间的隔阂
作为ScrumMaster在迭代的不同阶段有不同的任务。
迭代开始前:
第一,给整个团队进行敏捷相关的培训,让大家知道如何自己的责任和义务,取得大家的支持,以便后续工作的开展。
第二,与ProductOwner规划后续的工作,特别是需求优先级,大致的估算,整体时间节点的确立,DoD标准的确认。与开发同事一起,商讨出技术选型、技术架构、总体技术方案。
第三,安排好接下来的迭代计划会议。
第四,做好团队对外工作,包括与客户、领导的沟通。
迭代中:
第一,每天开站会,根据燃尽图跟进进度,发现问题,根据问题协调资源解决,使得迭代顺利进行。
第二,做好沟通,内部成员有问题,需要沟通,把问题解决,内部解决不了需要外部支持,需要协调外部资源,这样把问题解决。
这是重中之重的事情,特别是在团队没有磨合成熟的时候,产品经理与开发的矛盾,那是经典的难题,而敏捷需要产品和开发更多的合作,大家更加的主动,而不是互相甩锅,产品觉得开发能力不行,设计出来的功能施展不了,而开发觉得产品纯粹就是为了难为自己,提的需求都是空想,没有想好就拿出来,总是改需求。这样就需要ScrumMaster来促成沟通,听到双方的需求,甚至是深层次的需求,找到双赢的方案。
还有就是协调外部资源,当团队需要跟外部资源打交道的时候,ScrumMaster的负责人,争取更好的资源,能够使得团队更好的完成任务。
迭代后:
第一,安排好迭代评审会议,把成果展示给客户,同时促成验收。
第二,安排好迭代回顾会议,总结经验,复盘项目,加入改进计划,让接下来的工作能够更加的顺利。
2产品负责人(ProductOwner)
从业务角度驱动项目,传播产品的明确愿景,并定义其主要特性。ProductOwner的主要职责是确保团队只开发对于组织最重要的Backlog条目,在Iteration中帮助团队完成自己的工作,不干扰团队成员,并迅速提供团队需要的所有信息
ProductOwner还负责对ProductBacklog进行有效管理,包括:
●开发并明确地沟通产品目标;
●创建并清晰地沟通ProductBacklog条目;
●对ProductBacklog条目进行排序,确保ProductBacklog是透明的、可见的和可理解的。
迭代前:
第一,准备好了所有的ProductBacklog,并对其进行排序,根据时间估算确定好迭代要做的内容
第二,与ScrumMaster一起,制定产品发布的时间节点。
第三,做好产品的原型和交互,跟团队里面讲解完成每个Story,并且与开发就功能事先达成共识。
解答开发、测试提出的问题,提供团队所需要的信息。
对于迭代成果进行评审,提出意见,并进行验收。
3开发团队(DevTeam)
主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每个成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。
Developers是Scrum团队中致力于创建每个Sprint可用增量的任何方面的人员。
Developers所需的特定技能通常很广泛,并且会随着工作领域的不同而变化。但是,Developers始终要负责:
●为Sprint创建计划,即SprintBacklog;
●通过遵循DefinitionofDone来注入质量;
●每天根据SprintGoal调整计划,作为专业人士对彼此负责。
开发团队是执行角色,他们的目标是快速完成所有的Story,根据DoD的规定,保质保量交付工作成果。而团队的进度就掌握在开发团队里面,无论前期规划的多好,产品需求写得多好,落地执行还得是开发团队。
4写在最后
在Scrum团队中,有三种角色,ScrumMaster作为主导者,驱动着团队前进,而ProductOwner作为业务方代表,提供需求,最终让开发团队把需求实现,Scrum团队作为一个Scrum团队,大家一起配合完成任务,得到成果。
参考书目:《Scrum指南》
欢迎