Scrum 学习笔记
敏捷火了很长一段时间了,但是一直没有机会实践,现在开始组队实践了,哈哈,先好好研习下规则~~
什么是 scrum
Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个 Sprint,每个 Sprint 的建议长度2到4周。在 Scrum 中,使用产品 Backlog 来管理产品或项目的需求,产品 backlog 是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum 的开发团队总是先开发的是对客户具有较高价值的需求。在每个 Sprint 中,Scrum 开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint
中挑选的需求经过 Sprint 计划会议上的分析、讨论和估算得到一个 Sprint 的任务列表,我们称它为 Sprint backlog。在每个迭代结束时,Scrum 团队将交付潜在可交付的产品增量。
敏捷价值观之敏捷四宣言
• 个体与交互重于过程和工具
• 可用的软件重于完备的文档
• 客户协作重于合同谈判
• 响应变化重于遵循计划
敏捷价值观之敏捷十二原则
• 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。
• 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。
• 要不断交付可用的软件,周期从几周到几个月不等,且越短越好。
• 项目过程中,业务人员与开发人员必须在一起工作。
• 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。
• 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。
• 可用的软件是衡量进度的主要指标。
• 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
• 对技术的精益求精以及对设计的不断完善将提升敏捷性。
• 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。
• 最佳的架构、需求和设计出自于自组织的团队。
• 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。
Scrum 的特点
• Scrum 规定了一个非常简单的开发流程。
• Scrum 是现有设计流程的总结。
• Scrum 以团队为基础,是一种在需求迅速变化情况下迭代地、增量地开发系统和产品的方法。
• Scrum 是一个控制由利益和需求冲突导致的混乱的流程。
• Scrum 是改善交流并最优化合作的方式。
• Scrum 是一种检测产品开发和生产过程中障碍并将其去除的方式。
• Scrum 是最大化生产率的一种方法。
• Scrum 适用于单一的项目到整个企业。Scrum 可以控制并组织多个具有相关性的产品开发以及拥有超过千名开发者和执行者的项目实施过程。
• Scrum 能让每个参与者都对自己所做的工作以及自己做出的贡献感到骄傲,并让他们发挥到最佳水平。
Sprints
• Scrum的项目过程有一系列的Sprint组成。
• Sprint的长度一般控制在2-4周。
• 通过固定的周期保持良好的节奏。
• 产品的设计、开发、测试都在Sprint期间完成。
• Sprint结束时交付可以工作的软件。
• 在Sprint过程中不允许发生变更。
Scrum 框架
三个角色:产品负责人,Scrum Master,团队
四个仪式:Sprint 计划会议,每日站会,Sprint 评审会议,Sprint 回顾会议
三个物件:产品 Backlog,Sprint Backlog,燃尽图
Scrum 角色之产品负责人
产品负责人(Product Owner)的职责如下:
• 确定产品的功能。
• 决定发布的日期和发布内容。
• 为产品的 profitability of the product (ROI)负责。
• 根据市场价值确定功能优先级。
• 每个 Sprint,根据需要调整功能和优先级(每个 Sprint 开始前调整)。
• 接受或拒绝接受开发团队的工作成果。
Product Owner参与Scrum planning。
Scrum角色之 Scrum Master
作为Team Leader和Product owner紧密地工作在一起,他可以及时地为团队成员提供帮助。 他必须:
• 保证团队资源完全可被利用并且全部是高产出的。
• 保证各个角色及职责的良好协作。
• 解决团队开发中的障碍。
• 做为团队和外部的接口,屏蔽外界对团队成员的干扰。
• 保证开发过程按计划进行,组织 Daily Scrum, Sprint Review and Sprint Planning meetings。
Scrum角色之团队
• 一般情况人数在5-9个左右
• 团队要跨职能(包括开发人员、测试人员、用户界面设计师等)
• 团队成员需要全职。(有些情况例外,比如数据库管理员)
• 在项目向导范围内有权利做任何事情已确保达到 Sprint 的目标。
• 高度的自我组织能力。
• 向 Product Owner演示产品功能。
• 团队成员构成在 Sprint 内不允许变化。
Scrum 仪式之 Sprint 计划会议
> 排列优先级:
• 分析和评估产品Backlog
• 确定Sprint目标
> Sprint 计划:
• 决定如何达到 Sprint 目标(设计)。
• 根据产品 Backlog 条目(用户故事,功能)创建 Sprint Backlog(任务)。
• 为 Sprint Backlog 中的任务做估算,用小时来计算
Scrum 仪式之 Sprint 评审会议
Sprint评审会用来演示在这个 Sprint 中开发的产品功能给 Product Owner。Produc Owner 会组织这阶段的会议并且邀请相关的干系人参加。
• 团队展示 Sprint 中完成的功能
• 一般是通过现场演示的方式展现功能和架构
• 不要太正式
• 不需要PPT
• 一般控制在2个小时
• 团队成员都要参加
• 可以邀请所有人参加
Scrum 仪式之 Sprint 回顾会议
• 团队的定期自我检视,发现什么是好的,什么是不好的。
• 一般控制在 15 - 30 分钟
• 每个 Sprint 都要做
• 全体参加:Scrum Master,产品负责人,团队,可能的客户或其它干系人
Sprint 回顾会议上,全体成员讨论有哪些好的做法可以启动,哪些不好的做法不能再继续下去了,哪些好的做法要继续发扬。
Scrum 物件之产品 Backlog
• 一个需求的列表。
• 一般情况使用用户故事来表示 backlog 条目
• 理想情况每个需求项都对产品的客户或用户有价值
• Backlog 条目按照商业价值排列优先级
• 优先级由产品负责人来排列
• 在每个 Sprint 结束的时候要更新优先级的排列
Scrum 物件之 Sprint Backlog
Sprint backlog 定义了 Sprint 的目标,明确了 Sprint 过程中具体需要完成的任务。
管理 Sprint 的 backlog:
• 团队成员自己挑选任务,而不是指派任务
• 对每一个任务,每天要更新剩余的工作量估算
• 每个团队成员都可以修改 Sprint backlog,增加、删除或者修改任务
Scrum 物件之燃尽图(Burn Down Chart)
燃尽图直观的反映了Sprint过程中剩余的工作量情况,Y轴表示剩余的工作,X轴表示 Sprint 的时间。随着时间的消耗工作量逐渐减少,在开始的时候,由于估算上的误差或者遗漏工作量有可能呈上升态势。
扩展 Scrum
• 一般情况一个团队的人数控制在5-9人。大型项目可以采用多团队,通过team of teams来扩展Scrum。
• 影响扩展的因素:团队规模,项目类型,项目周期,团队分布。
• Scrum 曾被用于超过 1000 人团队规模的项目。
分享到:
相关推荐
【标题】:“SO学习笔记”通常指的是Service Oriented(面向服务)的学习笔记,可能是关于SOA(Service-Oriented Architecture,面向服务架构)或者SO框架的学习资料。在IT行业中,SOA是一种设计方法论,它将业务...
【开发学习笔记】是一份非常宝贵的资源,旨在帮助学习者深入理解和掌握IT开发领域的各种知识。这份笔记集合了作者在学习过程中的心得、体会以及实践经验,对于初学者和有一定经验的开发者来说,都是不可多得的参考...
Scrum 是敏捷开发中的一种流行框架,它强调通过短期的、固定时间盒(通常为2-4周)的迭代周期,快速交付可用的软件增量,以便尽早获取用户反馈并进行迭代优化。 在Scrum中,需求通常以User Story的形式呈现,这是一...
【PMP学习笔记(一)】是一份关于项目管理专业人士认证(Project Management Professional,简称PMP)的学习资料,主要涵盖了项目管理的基础理论和实践知识。这份笔记可能来源于某位学习者在阅读相关书籍或参加培训...
学习笔记可能涵盖敏捷开发、Scrum框架、UML建模、代码版本控制(Git)、持续集成/持续部署(CI/CD)等。熟悉这些方法论可以提升团队协作效率,确保软件质量。 6. 其他领域:学习笔记还可能涉及前端开发...
在“达内学习笔记”这个资源中,我们可以期待获取到一系列关于信息技术领域的深入学习材料。达内教育是一家知名的IT培训机构,其课程覆盖了广泛的IT技术领域,包括但不限于编程语言、软件开发、网络技术、数据库管理...
本篇笔记将深入探讨HTML5的基础知识,帮助初学者快速入门。 一、HTML5概述 HTML5(超文本标记语言第五版)旨在提高互操作性和用户体验,它对浏览器的兼容性进行了优化,减少了对插件的需求,并引入了离线存储、拖放...
《信息系统项目管理师学习笔记》是一份针对软考信息系统项目管理师考试的重要参考资料。这份压缩包文件包含了丰富的学习内容,旨在帮助考生全面理解和掌握信息系统项目的规划、实施、控制与收尾等关键环节。 首先,...
【自动化测试训练营学习笔记】 在拉勾教育的自动化测试训练营中,学习者会深入理解软件测试的全过程,从基础到高级技巧。首先,我们要掌握的是测试的基础知识,包括一条核心的功能测试流程。 测试流程通常始于获取...
【中国海洋大学软件工程学习笔记】是一份专为学习者准备的资料,涵盖了软件工程的各个方面,旨在帮助学生深入理解并掌握这一领域的核心概念和技术。软件工程是一门综合性极强的学科,它融合了计算机科学、项目管理、...
以下是对PMP考试第六版学习笔记的主要内容的详细解释: 1. **引论** - 重点知识汇总:这部分通常涵盖对PMP考试的整体介绍,包括考试结构、目标和认证流程。 - 关键词:可能包括“认证过程”、“考试大纲”、“PMI...
【谷粒商城项目课程笔记】是一份详细的电商项目学习资料,涵盖了从项目设计到实现的全过程,旨在帮助学习者理解并掌握电商平台的开发技术。在这个压缩包中,我们可以找到一系列关于"谷粒商城"项目的笔记内容,这将是...
【标题】:“学习笔记” 【描述】:“学习笔记”通常是指个人在学习过程中记录的知识点、理解、思考和问题解答等内容的集合。这样的笔记可能涵盖了各种主题,包括但不限于编程语言、操作系统、网络技术、数据库管理...
我会以系列文章的形式跟踪记录我现在正在做的一个完整运用Scrum管理项目的笔记,里面会有一些经验教训总结心得,以便读者与我互相学习勉励。有写的不对的或者写的不好的地方还请海涵,当然我更希望大家多多提宝贵...
【笔记:个人学习笔记】 这份笔记集合涵盖了程式设计的基础、常用工装、英语学习以及Linux操作系统和行政管理的相关知识,是一份全面且实用的学习资源。下面将分别对这些主题进行详细阐述。 一、程式设计基础 程式...
"notes:学习笔记"是一个涵盖了广泛IT知识的学习资源集合,主要存储在名为"notes-master"的压缩包文件中。由于没有具体的标签信息,我们可以假设这个压缩包包含了一个全面的学习路径,可能涉及编程语言、软件工程、...
【标题】:“学习笔记1111111”通常代表了一种个人或集体学习过程中的整理记录,可能涵盖多种IT技术或理论知识。在这个标题下,我们可以假设这是一个全面的学习资料集合,旨在帮助用户系统性地理解和掌握相关IT领域...
可能包括了Python、Java、C++、JavaScript等主流语言的学习笔记,或者是关于函数式编程、面向对象编程的理论和实践。此外,笔记可能还涉及到框架和库的使用,例如Django、React或TensorFlow等。 数据库管理也是重要...
以下是对"项目管理笔记:项目管理学习笔记与经验教训"的详细解读。 1. **项目生命周期与阶段**: 项目通常经历启动、规划、执行、监控和收尾五个阶段。启动阶段确定项目可行性;规划阶段制定详细的项目计划;执行...
【狂神说全部笔记内容.zip.zip】是一个包含多个IT学习笔记的压缩文件,根据其名称推测,这应该是知名IT教育者“狂神”分享的一系列技术教程或学习资料的集合。由于没有具体的标签信息,我们将从一般IT学习笔记的内容...