Scrum基础了解学习
Scrum简介
瀑布式开发模式:制定计划->需求分析->软件设计->程序编写->软件测试->运行维护
传统的瀑布式开发有以下缺点:
1, 阶段划分固定,产生大量文档,增加工作量
2, 开发模式线性,使得客户只能在最后看到开发成果,增加开发风险
3, 不适应用户需求变化
由此,出现了敏捷开发,代替传统的瀑布式开发,解决瀑布式开发的缺点问题。
敏捷开发的优点:
1, 少量文档
2, 降低开发风险
3, 适应用户需求变化
而Scrum就是敏捷开发的最常用的框架,用于开发复杂产品的框架,是一个增量的.迭代的开发过程。敏捷开发的最终目的就是提高开发效率。
Scrum组成部分
整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint建议长度是4周(互联网产品可以1周或者2周)
一个Sprint大致分为4个部分:
Sprint Planning (Sprint 计划)
Daily Scrum(每日站会)
Sprint Review (演示会议)
Sprint Retrospective(回顾会议)
3个角色:
Product Owner(产品经理)
Scrum Master(项目组长)
Developer Team(开发团队)
3个文档:
Product Backlog(全部产品需求)
Sprint Backlog (一个Sprint的产品需求)
Sprint burn-down chart(Sprint 燃尽图)
敏捷宣言的四个核心价值:
个体和互动高于流程和工具
工作的软件高于详尽的文档
客户合作高于合同谈判
响应变化高于遵循计划
Scrum的三大支柱:
透明性
检验
适应
Scrum流程
1. 首先确定一个Product Backlog(有优先级的需求列表),这是由Product Owner负责的。
2. Developer Team根据Product Backlog列表,做出工作量的预估和安排。
3. 通过Sprint Planning挑选出本次Sprint需要完成的目标,形成一个Sprint Backlog。
4. Sprint Backlog由Developer Team完成,每个成员根据Sprint Backlog划分更小的任务。
5. 每天进行Daily Scrum,每次会议控制在15分钟,每个人必须发言,Daily Scrum主要3个问题:昨天完成了什么,承诺今天完成什么,有什么困难。回答完成后,每个人在黑板上更新自己的Sprint burn-down。
6. 每一个Sprint完成后,就要进行Sprint Review(演示),每一个team成员演示自己完成的部分,得到可交付的产品增量。
7. 最后就是Sprint Retrospective(总结),轮流发言,总结并讨论改进的地方,放入下一轮Sprint中。