从上一篇 「16 敏捷开发实践(1)」中了解了Scrum是一个用于开发和维护复杂产品的框架,是一个增量的、迭代的开发过程。一般由多个Sprint(迭代冲刺)组成,每个Sprint长度一般为2-4周。下面全面介绍Scrumde 角色、流程等。
3个角色
产品所有者(Product Owner)
定义所有产品功能,决定产品发布的内容以及日期。
根据市场变化对需求排列优先顺序。
确保干系人了解待办工作项。
合理调整产品功能和迭代顺序。
认同或者拒绝迭代的交付。
Scrum Master
指导团队完成Scrum的实践。
帮助团队排除遇到的困难,确保团队胜任其工作。
对团队、产品负责人和企业进行 Scrum 流程方面的培训,并从实践中优化调整Scrum流程。
负责安排冲刺规划、每日站会、冲刺评审和冲刺回顾所需的资源。
开发团队(Team)
经典团队拥有 5-7人,成员包含开发、测试、产品、UI。
团队关系在一个迭代中保持固定,且熟练掌握不同的技能。
团队自我组织和管理(自组织,自驱动)。
团队的所有成员互相帮助,以确保成功完成冲刺。
团队预测认为自己在迭代过程中可以完成的工作量(尽量保持迭代长度固定,有助于准确预估)。
3个Scrum 工件
产品待办事项
产品负责人或产品经理需要完成和维护的主要工作列表。
功能、要求、增强功能和修复的动态列表,并用作 Sprint 待办事项的输入。
产品负责人对产品待办事项进行不断反思、重新排定优先级和维护以适应变化。
Sprint 待办事项
开发团队为实现当前冲刺周期而选择的需求或缺陷修复列表。
冲刺之前,从产品待办事项中选择要通过冲刺处理的待办项。
Sprint 待办事项较为灵活,可以在冲刺期间调整。
保证基本的冲刺目标不能受到影响。
Sprint 迭代目标(增量)
迭代目标即冲刺中可用的最终产品。
冲刺结束团队展示在冲刺期间完成的“增量”。
Scrum研发流程
需求梳理,整理产品待办事项
将收集的工单和反馈过滤后快速转化为需求,整理出产品 Backlog。
需求原型设计、输出相关文档。
对需求进行分级管理,设定需求优先级,指定需求的业务价值
迭代规划
根据需求优先级,将产品待办列表中的需求规划至对应迭代。
在迭代计划会议上,产品负责人按优先级讲解需求,与团队共同进行评审。
确定当前迭代要完成的需求与验收标准达成一致后,形成迭代待办列表。
细化需求,拆分成具体的子任务,方便后续处理和跟踪。
迭代开发
开发人员领取相应的开发任务进行编码实现,完成代码构建、部署等。
缺陷跟踪
测试工程师可根据迭代要完成的需求与验收标准编写测试用例。
未通过用例转换为缺陷,提交给对应的开发人员。
测试与开发共同关注需求的测试情况与缺陷修复进度,让缺陷在开发和测试之间高效流转,推动需求高质量上线。
迭代进度跟踪(每日站立会)
在每日站立会议中,团队对齐迭代进度,尽早识别迭代可能出现的风险点,排除问题。
迭代评审与复盘
迭代完成后,由团队成员对当前迭代的成果进行演示,产品负责人进行成果评判,与其他成员提出反馈建议。
记录迭代中做的好的、做的不好的以及改进建议。
ONES支持的Scrum研发流程场景图
5个会议
待办事项整理会议(Backlog Grooming Meeting)
时间:迭代计划会议开始之前2-3天召开
目的:整理下个迭代的待办事项,解决产品负责人方工作阻碍。
流程:
Product Owner建立产品功能列表(Product Backlog),并按优先级排序。
Product Owner按照实现顺序描述给在场的团队成员,Scrum Master与在场成员分析并提出疑问。
Product Owner现场解答、记录,会后补全不确定地方
Scrum Master与架构师分析包含哪些技术任务
Scrum Master子任务建立,方便迭代计划会议的时候团队可以更准确地预估任务故事点。
目标:
会议结束时,Product Owner确保在迭代计划会议开始之前团队提出的问题都能被解决
如果团队发现需要加强或是完善的地方,Product Owner还有2-3天的时间可以补强,不浪费迭代计划会议的时间去做这件事情。
迭代计划会议(Sprint Planning Meeting)
时间:每个迭代第一天召开,时长控制在1-2小时内。
目的:选择本次迭代的Backlog和估算本次迭代的工作量。
流程:
产品负责人逐条讲解最重要的产品功能,开发团队共同估算Backlog所需工作量,直到本迭代工作量达到饱和。
产品负责人参与讨论并回答和需求相关的问题,但不干扰估算结果。
认领任务(或由组长协商分发),独立或与别人一起完成任务;
每日站会(Daily Meeting)
时长控制:10-15分钟
内容:
昨天工作内容
今天工作内容
遇到的困难,有没有找到解决方案,是否需要队友帮忙。
评审会(Retrospective Meeting)
时间:开发完成测试环境后。
小组向产品负责人展示迭代工作结果,产品负责人验收给出评价和反馈。
回顾会(Review Meeting)
时间:迭代评审演示会结束后。
内容:
总结哪些事情做得好、哪些事情做得不好。
改进方案。
备注:
产品负责人可能会在当前迭代开始后就着手准备下个迭代的「待办事项整理」,边整理边插空去跟Scrum Master或团队成员沟通完成这些工作,省去待办事项整理会议(Backlog Grooming Meeting)。
迭代计划会议(Sprint Planning Meeting)上可以进行技术方案的确定以及Scrum Master子任务建立。
技术难度较大时,将技术调研、技术实现需求加入当前迭代并进行预估。调整其他需求优先级。
一般评审会(Retrospective Meeting)和回顾会(Review Meeting)在迭代结束的最后一天先后开,评审结束就进行回顾总结,时长控制在1-2小时。
5个价值观
承诺 – 愿意对目标做出承诺
专注 – 把你的心思和能力都用到你承诺的工作上去
开放 – Scrum 把项目中的一切开放给每个人看
尊重 – 每个人都有他独特的背景和经验
勇气 – 有勇气做出承诺,履行承诺,接受别人的尊重