scrum是一种框架,里面可以使用各种开发语言和流程。
scrum采用迭代增量式的方法来优化可预测性和管理风险。透明性、检视、调整是经验型流程的三大支柱。
scrum团队迭代增量式完成交付的产品,可以最大化获得反馈的机会,同时保证了可工作产品的潜在可用版本总是存在,比如能够提前进入测试,能够提前试用,PM能够提前查看UI以及交互
关于检视和调整,体现在4个事件,表现为四个会议,按顺序为:
sprint计划会议,每日站会,sprint评审会议,sprint回顾会议。
scrum团队由三大角色组成:
产品负责人
开发团队:包含研发,测试,UI等
master(类似于杀人游戏的法官):要控制这所有的流程,确保所有人正确理解并实施scrum,遵循理论、实践和规则。
产品负责人管理产品代办列表的唯一负责人,对其管理包括:
清晰表达产品待办列表项
对代办项,进行排序
确保产品代办列表对所有人可见、透明、清晰,并且显示scrum团队的下一步工作
确保开发团队对代办列表有足够的理解
开发团队包含各类专业人员,研发UI测试等,负责在每个sprint结束时交付“潜在可发布且完成的”产品增量。开发团队自己组织和管理他们的工作,最大化提高效率,特点有:
自组织;
开发团队是跨职能的,团队作为一个整体,拥有开发产品增量所需要的全部技能
scrum不认可开发团队成员的头衔,所有人都叫“做开发人员”
scrum不认可开发团队中所谓的子团队,无论是测试还是业务分析都能划分子团队
每个成员可以有特长和专注领域,但是责任属于整个开发团队
开发团队规模:足够小以保持敏捷性,足够大以完成重要的工作,足够互动,也不会有太多协调沟通工作。3 < 开发团队人数 < 9。
sprint
sprint是scrum的核心,其周期小于或者等于1个月,其产出是“完成的”、可用的、潜在可发布的产品增量。sprint长度在整个开发过程中保持一致(比如直播课:一直是一周),新的sprint在上一个sprint完成之后立即开始。每个sprint即可作为一个项目,每个sprint都要定义会开发什么东西,还有一份设计和灵活的计划能够指导开发过程、工作内容和最终结果。
如果周期过长,复杂度和风险有可能会增加,sprint通过确保至少每个月一次对达成目标的进度进行监视和调整,来实现可预见性。
1、sprint计划会议
目的:为该sprint的工作做计划。这份计划是由整个scrum团队共同完成,内容有两个:
接下来的sprint需要交付的增量主要包含什么内容。即预计这个sprint要开发的功能,产品负责人讲解1)sprint的目标以及达成该目标所需要完成的2)产品代办列表。sprint计划会议的输入是:产品代办列表,最新的产品增量、开发团队在这个sprint中预计可接受的工作量和以往的表现。开发团队自己决定选择待办列表项的数量。只有开发团队本身可以评估接下来的sprint可以完成什么工作
如何完成交付增量所需的工作:根据产品待办列表项,开发团队决定如何在sprint中把这些功能构建成“完成”的产品增量。—》产生sprint待办列表。
开发团队从系统设计开始:把产品待办列表转换成可工作的产品增量所需要的工作;开发团队挑选出足够的工作量,并预计能够在本个sprint完成。(切分任务,用大家出牌的形式来定每个功能模块的工作量,避免一个人估工作量时多或者少,也体现了scrum的透明性原则)
2、每日站会
15分钟为限,开发团队每个成员来说明:
昨天做了什么?
今天要做什么?
是否 遇到什么阻碍?
此会议每日进行,不做展开,具体问题在会下讨论。
好处:根据每日站会来评估sprint目标的进度。可以增强交流沟通、确定开发过程中需要移除的障碍,强调和提倡快速决策、提高每个成员对项目进展的认知程度。这是进行检视和调整的关键会议。
3、sprint评审会议
评审会议是在sprint结束时举行,用以检视所交付的产品增量并按需调整产品待办事项列表。在sprint评审会议中,内容主要为:
产品负责人邀请scrum团队以及相关干系人参加会议;
产品负责人说明那些工作完成,那些没有完成;
开发团队讨论在该次sprint中那些工作进展顺利,遇到了问题,问题如何解决
开发团队演示完成的工作并解答关于所交付增量的问题
产品负责人描述当前产品待办列表的完成情况,并根据进度推测可能的完成日期
参会的所有人就下一步的工作进行探讨,这样sprint评审会议就能为接下来的sprint计划会议提供有价值的信息(开展下一个sprint工作计划)
为下个产品版本的发布评审时间表、预算、潜在功能和市场
sprint评审会议产出的结果是一份修订的产品待办列表,确定很可能进入下一个sprint的产品待办列表,也有可能为了迎接新机遇而全局调整产品待办列表。即为下一个sprint安排工作列表。
4、sprint回顾会议
sprint回顾会议是scrum团队检视自身并创建下个sprint改进计划的机会,发生在评审会议结束之后,下个sprint的计划会议之前。
回顾会议的目的是:
对前一个sprint周期中的人、关系、过程和工具进行监视
找出做得好的和潜在需要改进的主要方面
制定改进scrum团队工作方式的计划(主要产出)
部分术语说明:
产品待办列表:包含未来要发布的产品的所有特性、功能、需求、改进和修复等,包含功能描述、顺序、估算和价值
增量:增量无论是否要发布,都必须可用。增量是一个sprint完成的所有产品待办列表项,以及之前所有sprint所产生的增量价值的总和。
scrum是最近正式接触,并且完全符合scrum框架规则,本司现在:sprint长度为一周,每周三开sprint评审加回顾会议,每日晨会15分钟以内结束。初步感觉很棒,项目几乎不会延期,得意与工作量估计比较准(多人参与),每日晨会对进度,个人对自己以及他人都有了解,完不成任务会有压力,逐渐形成良性循环;评审会议会对一个sprint的增量进行演示、发布;部分模块可提前进入测试阶段;PM可提前感知产品交互,尽早做出调整。