这是《落叶》文集里第 318 片落叶,希望你能喜欢,不为别的,只为这份坚持。
【背景】
现在很多同学加入的公司或团队,都采用了 Scrum 或类 Scrum 的研发模式,因此他们都很需要尽快熟悉这种研发模式,于是就经常会有同学问我,怎么才能快速了解并熟悉 Scrum 研发模式,但在短时间内通过推荐阅读一些专业的书籍去熟悉有些不太现实,所以,我就将我接触过的 Scrum 按照不同维度梳理了几个模型,既可以有整体上的了解和认知,也可以根据自己在团队中所担当的不同角色,快速定位自己在不同阶段所需要做的工作。
【你问】
怎么才能快速了解并熟悉 Scrum 研发模式?
【我答】
团队模型
我们先从人的角度,通过建立团队模型来了解一下 Scrum。敏捷团队的主要角色有三种:产品负责人、ScrumMaster、开发团队。
产品负责人/Product Owner/PO:
该角色需要处理好两个方面的事务:
一、充分理解组织中的相关干系人、客户和用户的需求,充当其代言人。
二、做好需求管理,以及和开发团队定好优先级,还必须明确需求的验收标准。
- 工作职责
- 管理商业回报;
- 参与产品规划活动;
- 梳理产品需求清单(Product Backlog);
- 定义验收标准并验证这些标准是否得到满足;
- 与开发团队合作;
- 与干系人合作;
- 工作技能
- 领域能力:有预见性,知道有些事是无法预见的,具备业务和领域专长;
- 人际交往能力:和利益干系人关系好,促成谈判/达成一致意见;
- 良好的沟通能力;
- 有正能量;会激励人;
- 决策力:得到授权,可以制定决策,关键时刻敢于拍板;
- 有决断力;
- 从经济的视角权衡业务/技术问题;
- 责任心:承担产品责任,参与项目并随时可以到场;
- 作为 Scrum 团队成员的一份子;
敏捷教练/ScrumMaster/SM
负责帮助每个人理解并乐于接受 Scrum 的价值观、原则和实践。负责团队的过程管理,帮助Scrum团队和组织其他成员发展具有组织特色的、高效的Scrum方法,并且需要保护团队不受外力干扰。
- 工作职责
- 负责对产品负责人、开发团队进行辅导,消除两者之间的隔阂,使 PO 能够更好的驱动产品开发;
- 服务于团队,确保团队聚焦于最高优先级的需求;
- 过程权威,定义特定的方法、实施并遵循Scrum的价值观、原则和实践;
- 做好协调沟通工作,保护开发团队免受外部干扰,让团队可以集中精力做好每个迭代;
- 工作技能
- 见多识广:精通 Scrum 方面的知识,还要能够理解团队需要解决的技术问题及团队用来创建解决方案的技术;
- 善于提问:能够结合流程、技术和业务方面的知识,提出重要问题。优秀的 ScrumMaster 几乎从来不会直接回答问题,而是能提出有思想的、有深度的、探索式的问题,从而帮助大家自己找到答案;
- 有协作精神:能够协调好团队内部、外部工作;
- 保护团队:帮助团队克服困难;
- 公开信息:保持在所有形式的沟通中公开透明;
开发团队/Team:
以功能开发为核心,建立的跨职能团队。
- 工作职责
- 每日检视和调整:通过每日站会的形式,完成检视和调整;
- 制定 Sprint 项目工作计划:依据产品需求,制定工作计划;
- 开发工作:实现产品需求;
- 工作特征
- 自组织、跨职能的多样化和全面化;
- 火枪手态度、透明沟通;
- 团队规模适中、专注有责任感;
- 工作有节奏可持续,团队成员稳定;
过程模型
流程描述(按每个角色在 Sprint 开始之前、进行中和结束之后所需要做的事情来介绍)
- Sprint 开始之前:
- PO 需要收集并整理细化产品功能需求,并形成 Product Backlog;
- PO 要依据功能需求的商业价值定义优先级别;
- PO 要定义功能需求的验收指标或者说性能指标;
- PO 依据历史数据的统计分析和经验,设定用户故事的复杂度或者故事点;
- PO 需要提前至少1~2周把 Product Backlog 发给团队;
- SM 需要组织 Sprint 计划会议;
- PO在 Sprint 计划会议上,要让团队理解自己的需求背景、优先级原因以及需求细节,简单地说就是你为什么要这个功能、这个功能的价值点在哪、你要的是什么样的功能;
- Team 通过问题去理解每个需求,然后自行认领任务并给出合理的评估;
- SM 需要依据自己的经验、历史数据和相应的问题,去判断得到的评估是否合理;
- SM 需要依据这些评估和 Team 的 Capacity 去判断当前的 Sprint 计划是否能按时完成;
- Sprint 进行中:
- PO 需要审查每天的缺陷,并定义它们的优先级别;
- PO 需要及时验收已完成的任务并及时给出反馈意见;
- SM 需要更新燃尽图并组织每日站会,引导大家及时沟通,把问题尽早的暴露出来;
- SM 需要找出阻碍进度的障碍和依赖关系,依次进行跟踪和解决。包括 Team 内部的,跨 Team 的,或者是需要管理层解决的资源问题;
- SM需要组织验收会议,让团队把自己的成果展示给 PO;
- Team 按质按量地完成自己承接的任务,并通过验收;
- Sprint结束之后:
- SM 需要组织回顾会议,PO 和 Team 都要参加;
- 在会上,大家一起分析为什么这个 Sprint 只能承接这么多 User Story, 有什么办法能提高 Capacity,从而在下个 Sprint 里能够承接更多的 User Story,持续地提高 Team 的生产力;
《测试路上你问我答》里的 Q&A 95,如果是你要的,甚好!如果不是,你问,我答!
作者简介:14 年测试 + 11 年项目管理 + 11 年团队管理 = 一个测试老兵