0%

第15讲:SCRUM敏捷软件模型开发过程

重点:

(1)回顾和思考CMMI模型的核心思想是什么?这一模型有什么特点?适合什么样的企业和项目?
(2)了解学界所说的“重”过程的“重”是什么意思? 与之相对应的“轻”过程的轻又是什么意思?
(3)了解敏捷软件开发过程的指导思想,了解SCRUM的基本框架。
(4)理解SCRUM敏捷开发模型的”三个角色“、”三个工件“、”四

个会议“的内容和方法。

一、简介:

思想:一切为了简单、快捷

简介:

Scrum:一种迭代开发框架,是一个轻量级的项目管理的框架。它的核心在于迭代。

  1. 三个角色:产品经理、项目经理、开发团队
  2. 三个工件:产品订单、冲刺订单、燃尽图
  3. 四个会议:每日站立会、冲刺计划会、冲刺评审会、冲刺回顾会

Scrum包括:1)预定义的角色;2)实践活动;3) 文档

Scrum角色:

  • Scrum Master
  • 产品负责人
  • 开发团队

Scrum 实践活动:

  • 冲刺:2到6周
  • 冲刺计划会:确定做什么
  • 站立会议:及时反馈

二、相关概念

名词 解释
Sprint 冲刺周期,一般为2到6周时间
Sprint Planning Meeting 冲刺计划会
Sprint summary 冲刺回顾会
User Story 用户的外在业务需求,如查询余额。也就是小目标
Task 由User Story拆分成的具体开发任务
Backlog 需求列表,可以看成小目标的清单。分为Sprint BacklogProduct Backlog
Product Backlog 产品 订单
Sprint Backlog 冲刺订单
Daily meeting 每天的站会,用于监控项目进度
Sprint Review meeting 冲刺评审会议,让团队成员演示成果
Sprint burn down 冲刺燃尽图,说白了就是记录当前周期的需求完成情况
Rlease 开发周期完成,项目发布新的可用版本

敏捷开发1

三、Scrum Team

Scrum团队由所有对最终发布的产品做出贡献的人组成

“SCRUM Master”角色:相当于项目经理,维护过程和任务

团队包括:

  • Scrum主管(Scrum Master)
  • 产品负责人(Product Owner),代表利益所有者
  • 开发人员 (Developer)
  • 测试人员(Tester)
  • 文档工程师(Documentation Member)
  • ……

其中开发人员、测试人员、文档工程师属于开发团队。经典团队拥有5~9人,团队成员有较好的自我组织和管理。

1.Scrum主管

Scrum主管在实际项目中称为项目经理,主要工作:去除那些影响团队交付冲刺目标的障碍。Scrum主管并非团队的领导(由于他们是自我组织的),而是负责屏蔽外界对开发团队的干扰。Scrum主管确保Scrum过程按照初衷使用。Scrum主管是规则的执行者。

2.产品负责人

产品负责人又称产品经理,代表客户的意愿,保证Scrum团队在做从业务角度来说正确的事情。

产品负责人的工作:

  • 编写用户故事
  • 排出优先级
  • 形成产品订单

3.开发团队

开发团队是负责开发并交付产品的团队。团队规模要小,组成大致为5至9名具有跨职能技能的人(设计者,开发者等),实践中,2~9人均可,但超过7人会导致沟通成本上升,最好团队成员技能水平大致相同。

敏捷开发2

4.参与者

参与者包括用户和利益相关者,他们并不是实际Scrum过程的一部分,但是必须考虑他们。利益所有者(客户,提供商)是影响项目成功的人,但只直接参与冲刺评审过程。

四、Scrum 活动

1.Sprints

Scrum项目周期以一组迭代周期“sprints”组成。典型的迭代周期为2~4周或者最多一个自然月,产品的设计、开发、测试全部都在一个迭代内完成。

2.Sprint Planning Meeting (冲刺计划会)

冲刺计划会主要是确定冲刺目标,简单程数这个迭代将要完成什么

敏捷开发3

3.Daily Stand Meeting

每天站立会议是一个每天都会开的,时间为15分钟左右的会议,特点是所有人都站着开会。其中所有相关的人都会被邀请,但是只有Scrum master,Product Owner,团队成员能够在会上发言,这样避免了无关的讨论,可以提高效率。

其中团队成员需要回答3个问题:

  • 昨天你做了什么
  • 今天你将要做什么
  • 你有需要帮助的地方吗

4.冲刺评审会

在冲刺评审会上,团队需要演示所完成的迭代工作,典型的做法是使用演示形式展示新功能或者底层架构实现,整个团队和关注产品的人都要需要参加。

5.冲刺回顾会

周期性 回顾,总结工作中的禁言和教训,时间大概为15到30分钟左右。在每个迭代结束时开始做,整个团队都需要参加,包括客户也可能需要参加。

五、Scrum 的文档 (工件)

1.product backlog (产品订单)

产品订单写的是项目中待完成的工作列表,理想的是每一个待完成的工作都将对客户和用户产生价值,产品所有者将对这个列表进行优先级排序,每个迭代开始前优先级的排序工作还需要再度修正。

敏捷开发4

2.Sprint backlog (冲刺订单)

Sprint Backlog是Product Backlog的子集,Sprint Backlog的内容,由团队成员集体决定,团队中任何人都可以添加,删减或者更改迭代中的工作项目,团队中的每个人都为了冲刺目标以及将发布的结果而工作。

敏捷开发5

六、Scrum过程

待续……

总结

敏捷的最佳实践之一就是迭代开发,敏捷/迭代开发的核心思想是:聚集客户价值,以客户为中心,交付刚刚好的系统,随时构建产品质量。