构建之法--第六章学习笔记 敏捷流程

这一章主要讲解了敏捷流程的一些理论知识。对于理论知识,要做到理解,那么具体理解到什么程度呢?我认为,对于初级软件工程师来说,做到定义和名词理解准确,流程有一个大致的印象就可以了。流程的具体实现,需要在实际团队工作中加深理解。
所以下面会重点说明定义和名词解释,以及一个流程图说明Scrum开发的流程


什么是敏捷流程,什么是Scrum?

敏捷流程是一系列价值观和方法论的集合。其中有一种方法论叫做Scrum。
可以看下下面的图,清楚的说明了Scrum的位置。
构建之法--第六章学习笔记 敏捷流程


Srcum的基本术语

Sprint:冲刺周期,通俗的讲就是实现一个“小目标”的周期。一般需要2-6周时间。

User Story:用户的外在业务需求。拿银行系统来举例的话,一个Story可以是用户的存款行为,或者是查询余额等等。也就是所谓的小目标本身。

Task:由User Story 拆分成的具体开发任务。

Backlog:需求列表,可以看成是小目标的清单。分为Sprint Backlog和Product Backlog。

Daily meeting:每天的站会,用于监控项目进度。有些公司直接称其为Scrum。

Sprint Review meeting: 冲刺评审会议,让团队成员们演示成果。

Sprint burn down:冲刺燃尽图,说白了就是记录当前周期的需求完成情况。

Rlease:开发周期完成,项目发布新的可用版本。


Scrum的流程图

构建之法--第六章学习笔记 敏捷流程

简单来说:
1. 产品负责人负责确定Product Backlog
2. 团队开会从Product Backlog中选取Spring Backlog,进行冲刺
3. 每次冲刺周期内,都需要开站会,说明自己的进度,更新进度板
4. 每天都要形成可以运行的版本
5. 全部完成后开一个review会,总结经验教训。


Scrum和原始开发流程的对比

构建之法--第六章学习笔记 敏捷流程