Scrum学习报告
期前能完成什么。
Sprint评审会议向每个人人展示示了当前产品增量的概况。因此,通常都会在Sprint评审会议中调 整产品待办事项 列表。
Scrum活动:Sprint回顾会议
在每个Sprint结束后,Scrum团队会聚在一起开Sprint回顾会议,目的是回顾一下团队在流程人际关系以及工具方面做
得如何。团队识别出哪些做得好,哪些做得不好,并找出潜在 的改进事项,为将来的改进制定计划。所有的Scrum会议 都是限定时⻓长的,Sprint回顾会议的 推荐时⻓长是Sprint中的每一周对应一个小时(比如,一个Sprint包含2个星期,则
Scrum活动:Sprint评审会议 Sprint结束时,Scrum团队和相关人人员一起评审Sprint的产出。所有Scrum会议都是限定时⻓长 的,Sprint评 审会议的推荐时⻓长是Sprint中的每一周对应一个小时(译者注:比比如,一个Sprint 包含2个星期,则Sprint评审会议 时⻓长为2个小时)。讨论围绕着Sprint中完成的产品增量。由于Sprint的产出会涉及到一些人人的“利益”,因此一 个明 智的做法是邀请他们参加这个会议,这会很有帮助。这个会议是个非非正式的会议,帮助大大家 了解我们目前 进展到哪里,并一起讨论我们下一步如何推进。每个人都可以在Sprint评审会议上发表意⻓。当然,产品负责人会对 未来做出最终的决定,并适当地调整产品待办事项列表 (Product Backlog)。 团队会找到他们自己的方式来开Sprint评审会议。通常会演示示产品增量,整个小组也会经常讨论他们在Sprint中观 察到了什么、有哪些新的产品想法出现。他们还会讨论产品待办事项列表 的状态、可能的完成日期以及在这些日
五个活动
Scrum活动:产品待办事项列表梳理
产品待办事项通常会很大,也很宽泛,而且想法会变来变去、优先级也会变化,所以产品待 办事项列表梳理是一个贯穿 整个Scrum项目始终的活动。该活动包含但不限于以下的内容: •保持产品待办事项列表有序 •把看起来不再重要的事项移除或者降级 •增加或提升涌现出来的或变得更重要的事项 •将事项分解成更小的事项 •将事项归并为更大的事项 •对事项进行估算 产品待办事项列表梳理的一个最大好处是为即将到来的几个Sprint做准备。为此,梳理时会特别关注那些即将被实现
的事项。需要考虑不少因素,这包括但不限于以下的内容:
理想情况下,下一个Sprint的备选事项都应该提升“商业价值”。 开发团队需要能够在一个Sprint内完成每一个事 项每个人都需要清楚预期产出是什么。
Scrum活动:Sprint计划会议 每个Sprint都以Sprint计划会议作为开始, 这是一个固定时长的会议,在这个会议中,Scrum团队共同选 择和理解在即将到来的Sprint中要完成的工作。 整个团队都要参加Sprint计划会议。针对排好序的产品待办事项列表(Product Backlog),产 品负责人 和开发团队成员讨论每个事项,并对该事项达成共识,包括根据当前的“完成的定 义”,为了完成该事项所需 要完成的所有事情。所有的Scrum会议都是限定时⻓的。Sprint计划会议推荐时⻓是Sprint中的每周对应
1
什么是以人为核心?
大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文 档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文 档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。
的工作列表
产品增量(Product Increment) :每个迭代周期都需要交付高质 量的产品增量。产品增量必须满 足 Scrum 团队对完成标准( Definition of Done)的定义。
四大支柱
1. 迭代开发 在Scrum的开发模式下,我们将开发周期分成多个1-4周的迭代,每个迭代都交付一些增量的可工作的功能。迭代的长 度是固定的,如果我们选择了1周的迭代,那么保持它的长度不要发生变化,在整个产品开发周期内每个迭代都是1周 的长度。这里需要强调的是在每个迭代必须产出可工作的增量功能,而不是第一个迭代做需求、第二个迭代做设计、 第三个迭代做代码。 2.增量交付 增量是一个 Sprint 及以前所有 Sprint 中完成的所有产品代办事项列表条目的总和。 在 Sprint 的结尾,新的增量必须“完 成”,这意味着它必须可用并且达到了 Scrum 团队 “完成”的定义的标准。无论产品负责人是否决定真正发布它,增量 必须可用。增量是从用户的角度来描述的,它意味着从用户的角度可工作。 3.自组织团队 Scrum团队是一个自组织的团队,传统的命令与控制式的团队只有执行任务的权利,而自组织团队有权进行设计、计 划和执行任务,自组织团队还需要自己监督和管理他们的工程过程和进度,自组织团队自己决定团队内如何开展工作 ,决定谁来做什么,即分工协作的方式。 4.高优先级的需求驱动 在Scrum中,我们使用Product Backlog来管理需求,Product Backlog是一个需求的清单,Product Backlog中的需求是渐进 明细的,Backlog当中的条目必须按照商业价值的高低排序。Scrum团队在开发需求的时候,从Backlog最上层的高优先 级的需求开始开发。在Scrum中,只要有足够1-2个Sprint开发的细化了的高优先级的需求,我们就可以启动Sprint了, 而不必等到所有的需求都细化之后。我们可以在开发期间通过Backlog的梳理来逐步的细化需求。
。 这个会议每天在同样的时间和同样的地点召开。每一个开发团队成员需要提供以下三点信息 : 从上一个每日Scrum到现在,我完成了什么; 从现在到下一个每日Scrum,我计划完成什么; 有什么阻碍了我的进展。 每日Scrum中可能有简要的问题澄清和回答,但是不应该有任何话题的讨论。通常,许多团队 会在每日Scrum之后⻓马上开会处理他们遇到的任何问题。每日Scrum既不是向管理层汇报,也 不是向产品负责人人或者Scrum Master汇报。它是一个开发 团队内部的沟通会议,来保证他们 对现状有一致的了解。只有Scrum团队的成员,包括 Scrum Master和产品负责人人,可以在会
2
什么是迭代?
迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭
代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。
2
Scrum的框架结构
框架元素构成
五个价值观
三个角色
Scrum
五个活动
三个工件
四大支柱
三个角色
产品负责人
产品负责人( Product Owner)是产品最终用户的代表,负责确定产品的方向和愿景,定义产品 发布的计划、内容和优先级。负责人 要不断的与开发团队沟通,保证团队在做从业务角度来说最 正确的事情
Sprint回顾会议时⻓长为2个小时)。
Scrum 的 5 个核心价值观:
•承诺(Commitment):我们对团队承担的工作有了更大的掌控,更加坚定了对成功的承诺。
•专注(Focus):我们将全部精力和技能都聚焦在所承诺的工作上,团队同心协力来促使更快的交付。 •公开(Openness):团队通过自己的方式共同完成工作,每个成员都对进展和问题了如指掌。 •敬重(Respect):团队中的每个人都有其特定的背景和经验,互相尊重,谦虚学习。 •勇气(Courage):我们不是一个人在战斗,有了整个团队的支持evelopment Team)是指一个自组织的跨技能的小团队,承担实际开发工作,负责 在周期性的迭代中不断的交付有价值的工作。开发团队通过集体共同交付价值,而不是通过个体
Scrum Master
Scrum Master 负责确保团队合理的运作 Scrum,帮助团队移除实施中的障碍, Scrum Master是 Scrum团队中的服务式领导,他服务于产品负责人,开发团队
开发前
1.由Product Owner 负责Product Backlog (按优先顺序排列的一个产品需求列表)
2 . 团队根据Product Backlog列表,做工作量的
预估和安排;
开发时
1.在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在 15分钟左右,每个人都必须发言,并且要向
这里有些名词要解释一下: 1) 长篇故事(用户故事) 是指用户希望获取的功能 2) 积压工作量 是当前迭代需要完成的工作 3) 根据需求的变化去拖动你所属工作所在的状态,是未进行还是进行中或者已完成,每个任务也可以自己再细分 为各个工作,标识你每天的工作,并设置好开始和结束时间
4
总结
通过学习和使用TFS,可以总结出Scrum开发需要的流程如下:
98
Scrum四个活动的发生时间
1
迭代计划会议:迭代第一个 工作日上午召开(星期二 ) 每日站立会议:每日早上9 十五分钟
2
点到10点之间,时间不超过
迭代评审会议:迭代最后一 个工作日下午召开 (星期
迭代回顾会议:迭代最后一 个工作日下午评审会议完成 后召开(星期一)
3
一)
4
在了解了基本元素之后,现在看一下面板
3
TFS基于Scrum的看板使用
TFS面板的基本使用
看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理。因
为看板拥有简单的管理方法,直观的显示方式。2015版本的TFS提供了功能强大的电子看板,并且能对看板的显示进 行大量定制,而且还加入了泳道的功能。开发团队可以根据自己的需求来定制属于自己团队的看板。TFS默认提供3 种团队项目创建模板,Scrum,Agile及CMMI。项目创建后在菜单工作下的产品积压工作页面点点击板就可使用看板 功能。我们这里主要用的是基于Scrum的看板功能。 我们先从Scrum的三个角色看起: 1. 产品负责人: 1名 2. Scrum Master: 1名 3. 开发团队成员: 4名 迭代周期:1周,5个工作日;