Scrum
Scrum 框架
Scrum 过程
发布计划(owner->product backlog,做出 release burn-up,->Sprint backlog,做出 sprint burn-down)
Scrum 角色
product owner:产品的愿景;产品路线;创建带有优先级的产品功能列表(product backlog);持续演化 product backlog;负责决定发布计划;沟通并且验收产品的功能。
scrum master:发现、记录并移除障碍促进内外沟通;保护团队;指导团队;不是团队经理或者项目经理。
team:交付用户故事;跨职能;自组织,决定能够完成交付;帮助 owner 完成持续演化;估算任务,更新 sprint backlog。
Scrum 主要制品
product backlog:优先级的功能清单;包含描述、优先级和规模估算;承载用户故事;高优先级的故事变成规模合适的故事;低优先级的(Epic 史诗)可以较大的粒度。
deep——(Detailed Appropriately 适度细节)(Estimated 估算的)(Emergent 涌现的)(Prioritized 排序的)
sprint backlog:在 sprint 中要实现的 功能,每天会被更新,以小时为单位。
release burn-up:横轴是 sprint,纵轴是完成功能的规模。掌握团队是领先还是落后进度。
sprint burn-down:横轴是天,纵轴是剩余小时。掌握团队在本 sprint 是领先还是落后。
Scrum 的三大支柱
透明,调查,检查
用户故事
用户故事模板
正面:(作为。。‘角色’,我需要。。‘功能’,以便。。‘用户价值’;下面还有规模和优先级)
背面:验收条件;约束用户故事分类(使用计划扑克)
1、2、3、5、8、13、20、40用户故事的 INVEST 原则
用户故事的 3C 特征
card:使用卡片描述用户故事,一个 token,用于备忘和计划conversation:实质—变文档为交流
confirmation:确认完成,Definition of Done,SMART 验收条件。
(DOD 定义:在宣布工作潜在可发布之前,要求团队成功完成的各项工作检查,从设计到代码,到测试,到接收,到已经上线)排序
高风险高价值;低风险高价值;低风险低价值
发布计划(想法)==》(product backlog)
产品愿景
- 《《《电梯陈述》》》:for(用户);who(需求和机会的陈述);the(产品)is a(类型);the(关键benefits-购买的原因);unlike(主要替代品或者竞争对手产品);our product(主要区别陈述)。
- 精益画布:成本分析;有收入,盈利模式;有独特的卖点;用户体验很重要。
- 用户旅程地图:进行用户体验
故事
用户故事工作坊;用户故事地图
计划
确定MVP(最小可行产品)
冲刺计划 (product backlog)==》(sprint backlog)
团队速度:团队每个迭代能够交付的故事点数
团队产能:能够用以开发的小时数
《《《时间,任务单位小时,任务大小 4-16 小时》》》
- 输出:团队任务板(Sprint Backlog)和初始燃尽图
冲刺执行
每日站会:每天同一地点,同一时间,15 分钟;每人回答 3 个问题,我完成了什么,准备做什么,遇到什么阻碍;po 可选择;其他人可以出席,但是不能发言——(同步状态,协调工作,每日承诺,报告障碍)
每日站会:回顾,规划,推进
输出:潜在可交付产品增量
冲刺回顾
- 敏捷方法以迭代的方式完成工作
- Sprint(冲刺)是 Scrum 的迭代,保持 Scrum 的基本节奏
- 完成产品增量的交付;1-4 周的 Time-Box;每个发布的时间盒保持固定
冲刺评审会议
目标:持续改进产品;对产品本身
验收用户故事
冲刺反思会议
目标:持续改进工作方法;对产品构建过程的检查和调整
投票选择高优先级改进项
会议原则:专注于行动
Scrum 为何有效果
基本实践:Sprint 冲刺/用户故事/master/owner/发布计划‘迭代计划/每日站会/跨功能团队/release burnup/sprint burndown/迭代反思和评审/带优先级的 product backlog/电梯陈述/用户故事工作坊/
看板方法
是一种增量的、演进的改变技术开发和组织运作的方法。通过限制 WIP(work in progress:也就是在每一个环节限制工作数量)的数量,形成了一个以拉动系统为核心的机制,暴露系统中的问题,激发协作来改善系统。
看板的四个原则:1)从既有流程开始;2)持续增量、渐进的变化;3)尊重当前的流程、角色、职责和头衔;4)鼓励在各个层级上发挥领导行为
看板六大实践:1)可视化工作流;2)限制在制品数量;3)管理流动;4)让规则明确;5)落实反馈循环;6)协作改善和实验改进
软件过程概述
- 敏捷和精益方法
- 软件过程:是指软件整个生命周期,从需求获取,需求分析,设计,实现,测试,发布和维护的过程模型。
- 项目管理四要素:三角形(工作“功能”,成本“人力资源”,时间“进度”,中间质量)
- 成功的项目管理(软件过程):在给定的时间内,利用给定的资源,交付高质量的工作(功能)。——PMP 定义
- 失败原因,过程管理的问题
- 新形势下,业务对软件开发的要求:更快的推向市场;卓越的用户体验;可预测性;降低成本
敏捷 vs 瀑布
瀑布模型
- 瀑布核心思想:按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。
- 瀑布的缺点:依靠文档进行传递,信息的缺失和丢失;无法预估的进度;造成团队间的对立和博弈;延迟了反馈,后期成本变高
敏捷和精益方法
什么是敏捷?
敏捷是用于描述一组方法的统称;一种思想,一组开发框架,一组价值观和原则(敏捷宣言:个体和互动,工作的软件,客户合作,响应变化)
- 敏捷和精益方法今早交付价值和暴露风险
- 价值:快速响应变化;生产力的提高;增加透明;更高的士气;更好的预测;更快的推向市场
所有的敏捷方法都遵循迭代和增量
增量开发,就是一块接一块地构建一个系统。一部分功能被开发出来,然后另一部分功能被开发出来,集成进前一部分功能里。
迭代开发认为,系统是在不断演化中完善的,因此,一开始构建整个系统,但并不是那么完美,利用后续的反馈,来一步步改进系统。
敏捷的核心理念
探索性过程;迭代增量开发;范围可变(也就是功能可变,其他不变);尽早交付价值和暴露风险;组织文化
敏捷宣言
敏捷实践
每日站会;带有优先级的产品待办事项列表 product backlog;短的迭代周期;反思会议;迭代计划