scrum 开发方式学习笔记
Scrum vs Waterfall
waterfall 开发流程:
Plan -> Build -> Test -> Review -> Deploy
缺点:
Plan 需要在开发之前完成。
可能的风险:Plan 与预期不符,程序员Build,Test时对 Plan 的计划理解错误或为按照 Plan的计划执行。任何一个环节发生问题,都需要一层层往上追溯直到重新修改Plan。一旦有问题或者需求修改,可能会延长几月甚至几年的上线周期。
Scrum 开发流程
将一个项目划分为无数个可交付的小项目,每个项目按照 Plan -> Build -> Test -> Review 的流程进行。每一个可交付的项目称之为一个 Sprint, 一个 Sprint 通常为1-3周。
Scrum 开放角色划分
产品经理: 负责整个产品的设计管理
Scrum Master: 负责整个项目开发的流程与预期相符,保证开发流程的顺利进行
开发 TEAM: 负责产品的开发
Scrum 流程控制
- Product Backlog: 产品经理根据优先权顺序创建的需实现的功能,需求列表
- User Stories: 按照以下图示模板创建文档,帮助产品经理准确理解需求,设计产品,以及预估开发时长。
最高优先级别的user story 进入 Sprint Backlog 进行项目大小评估,划入下一个 Sprint 计划中。
- Burndown Chart: 展示 sprint backlog 的任务完成进度,Burndown Chart 为 0
时,表示任务的完成
Scrum Ceremonies
Sprint Planning: 产品经理,Scrum Master, 和开发团队一起讨论 User Stories, 预估项目大小
Daily Scrum: 每天汇报昨日任务的进度,今天的工作计划,以及项目中遇到的问题需要获得的帮助
Sprint Review: Sprint 结束时的审查阶段, 开发 Team 向产品经理展示 Sprint 的完成结果,讨论以后可提高进度的方案
Scrum 开发流程总结:
项目经理根据 User Stories, 设计产品,将需要实现的功能列表按照优先级加入 Product Backlog
-》 Scrum Master,产品经理,开发 Team 根据 Product Backlog 一起讨论哪些功能点进入下一个 Sprint
-》 将讨论的需要实现的功能点加入 Sprint Backlog, Sprint Backlog 是一系列 User Stories 的集合
-》 执行一个 Sprint (1-3周),并每日一个 Daily Scrum, 确保项目的运行
-》 一个 Sprint 的输出为预计可交付的产品
-》 执行 Sprint Review,开发 Team 展示完成的 Sprint 产品,讨论以后可提高进度的方案。