敏捷开发 Scrum 综述

时间:2021-02-24 20:34:12

敏捷开发 Scrum 综述

这一星期学习了敏捷开发,然后阅读了相关的书籍,从网上查找了很多相关的资料,对敏捷开发scrum有了更加深刻了理解,对敏捷开发做了如下总结:

一、什么是敏捷开发?

敏捷开发提倡的“增量迭代、及时交付”的思想。这种模式能最大程度地不偏离客户需求的本质。
 敏捷不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。符合敏捷价值观和原则的开发方法包括:极限编程( XP), Scrum, 精益软件开发( Lean Software Development), 动态系统开发方法( DSDM), 特征驱动开发( Feature Driver Development), 水晶开发( Crystal Clear) 等等

   在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分成不同阶段、 分别完成,在此过程中软件一直处于可使用状态。

二、Scrum开发流程。

Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程.。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的建议长度2到4周。在Scrum中,使用产品Backlog来管理产品或项目的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。 Scrum的开发团队总是先开发的是对客户具有较高价值的需求。在每个Sprint中, Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。 Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表, 我们称它为Sprint backlog 。 在每个迭代结束时, Scrum团队将交付潜在可交付的产品增量。
 三、  Scrum 中三个重要的角色

Scrum Master——项目负责人、项目经理

保护团队不受外界干扰,是团队的领导和推进者,负责提升 Scrum 团队的工作效率,控制 Scrum 中的“检视和适应”周期过程。与 Product Owner 一起将投资产出最大化,他确保所有的利益相关者都可以理解敏捷和尊重敏捷的理念。

Team——开发人员、测试人员、美工设计、DBA等全职能性团队

团队负责交付产品并对其质量负责,团队与所有提出产品需求的人一起工作,包括客户和最终用户,并共同创建 Product Backlog 。团队按照大家的共识来创建功能设计、测试 Backlog 条目交付产品。

Product Owner——产品负责人、产品经理、运营人员

从业务角度驱动项目,传播产品的明确愿景,并定义其主要特性。Product Owner 的主要职责是确保团队只开发对于组织最重要的 Backlog 条目,在 Sprint 中帮助团队完成自己的工作,不干扰团队成员,并迅速提供团队需要的所有信息。

四、Scrum 中四个重要的会议

Scrum之Sprint计划会议
Sprint计划会议室是产品负责人和团队一起,在先前评估的成果基础上,定出 Sprint 目标和既定产品Backlog。

Scrum之站立会议

在sprint期间,每天都会通过站立例会来进行沟通, 团队成员间工作进度的沟通和协调,做好每日规划。

Scrum之评审会议
在sprint周期最后,需要进行一次评审会议,让团队向产品负责人和利益相关者展示已完成的功能。评审会议可以吸引相关利益者的关注,让其他人了解团队在做些什么,并得到重要反馈。

Scrum之回顾会议
Scrum中Sprint计划会议是最重要的事件,第二重要的事件就是回顾会议,因为这是团队做改进的最佳时机。如果没有回顾,就会发现团队在重犯相同的错误。通过总结以往的实践经验来提高团队生产力。没有个人的总结就不会有团队的总结,所以个人在学习、工作中更需要每隔一段时间进行一个小结,不断自己反思和思考,提高自己的能力。

四、Scrum健康反映状况的两个工具健康反应状况的两个工具
Backlog(代办列表): Sprint Backlog(Sprint的需求列表)和Product Backlog(产品需
求列表)
 Burn-down Chart(燃尽图):Sprint燃尽图( Sprint Burn-down Chart)和发布燃尽图
( Release Burn-down Chart)记录整个Scurm项目的进度,它的横轴表示这个项目的所有Sprint, 纵轴表示各个Sprint开始前,尚未完成的工作,它的单位可以是个(Story 的数量),人天等。

五、结果

通过以上三种手段完成一个一个Sprint的,直至最后产品的所有的需求交付工作。