敏捷开发(五)- 框架SCRUM内容
本文主要是为了检测你对SCRUM的了解和使用程度,
通过本文你可以检测一下
1、你们的SCRUM项目中各个角色是否合格,
2、SCRUM上面需要的会议是否有遗留,会议过程是否正确
3、项目的输出是否正确.
一、SCRUM 职能:
1、产品所有者
(1)、定义所有产品功能
(2)、决定产品发布的内容以及日期
(3)、对产品的投入产出负责
(4)、根据市场变化对需要开发的功能排列优先顺序
(5)、合理的调整产品功能和迭代顺序
(6)、认同或者拒绝迭代的交付
2、 Scrum Master
(1)、对项目的直接管理
(2)、领导团队完成Scrum的实践以及体现其价值
(3)、排除团队遇到的困难
(4)、确保团队的胜任其工作,并保持高效的生产率
(5)、使得团队紧密合作,使得团队个人具有多方面职能的工作能力
(6)、保护团队不受到外来无端影响
3、 团队
(1)、经典团队拥有 5-9 人
(2)、团队成员都是是多面手:
(3)、程序员, 测试员, 用户经验设计, 等等.
(4)、团队成员都全职工作
(5)、特殊职能可以例外 (例如, 数据库管理员)
(6)、团队自我组织和管理
(7)、团队关系在一个迭代中应该是固定的,个人的职能可以在新迭代开始时发生调整
二、SCRUM 过程
(点击下面选项进入链接)
1、 全员会议
2、 评估会议
3、 Sprint计划会议 1
4、 Sprint计划会议 2
5、 Scrum每日例会
6、 Sprint 评审会议
7、 Sprint 回顾会议
三、SCRUM产出:
1、 产品backlog
2、 需求
3、 项目中待完成的工作列表
4、 理想的是每一个待完成的工作都将对客户和用户产生价值
5、 产品所有者将对这个列表进行优先级排序
6、 每个迭代开始前优先级的排序工作还需要再度修正
7、 迭代 backlog
8、 燃尽图
产品燃尽图样例
四、SCRUM 特点
1.简单开发流程
2.需求迅速变化下迭代、增量开发开发系统的产品
3.控制由利益和需求冲突变得混乱的流程
4.改善交流,优化合作
5.检测产品开发和生产过程中障碍并且除去障碍
6.设计流程的总结
7.最大化生产率
8.能让每个参与者发挥最佳水平,并且为贡献感到自豪和骄傲
不同于传统开发模式:
最显著的特点是:响应频繁的需求变更
五、适用场景:
1.重量级导致开发环节复杂
2.面向职责、面向任务的各司其职导致流程衔接不畅,项目进度掌控困难
3.上面2个情况所产生的项目周期过长
六、Scrum原理
1.目标驱动、统一的软件交付目标下组织团队
2.Scrum 团队做出的评估计划 甚至是 设计、开发、测试
3.项目基本开发属性:周期+质量(如果Bug数为B,周期为T,那么尽可能的减少T*B)
关键词:
Sprint: 项目中若干小的迭代周期中的一个
Backlog: 按照商业价值排序的需求列表(每一项为user Story) ----PM(PO)负责产出
Sprint BackLog: Sprint 经过回忆分析,讨论,估算得到的backlog
Issue:议题
其余活动
Double Check:交叉检查项目制品是否达到要求(例如分析文档,核心代码等)
CheckList: 总结经验教训、作为后续项目的检查项 (Scrum Master,Scrum Team)
Tech Show: 技术交流(必须为短时间并且高频率的) (Scrum Team)
守门员: 为团队创造安静条件,增加对项目的Focus程度.(Scrum Team)
单元测试: 测试优先保证代码质量 (Scrum Team)
结对编程(PP): 提高设计和代码质量,人员的经验共享和加强合作(Scrum Team)
任务纸牌: 增加任务评估的客观性 (Scrum Master,Scrum Team