问题与目标
规划的目的
cone of uncertainty
原因
减少风险
降低不确定性
提供更好的决策支持
建立信任
传递信息
敏捷规划的特点
更关注规划而不是计划
鼓励修改
产生易于修改的计划
延续到整个项目过程
规划失败的原因
基于活动而不是基于功能进行规划
多任务处理导致更多的延误
不按优先级开发功能
忽视了不确定性
把估计当承诺
敏捷方法
敏捷开发方法
作为一个整体工作
按短迭代周期工作
每次迭代交付一些成果
关注业务优先级
检查与调整
敏捷规划方法
发布规划
迭代规划
每日规划
满意条件
规模估计
使用故事点
故事点是相对的
速度
工作量的估计和持续时间的估计隔离
使用理想日
ideal time 和 elapsed time的区别
估计方法
根据估计目的来改变花费在估计上的工作量
共同估计
估计的尺度
更好得到估计值
恰当数量的讨论
重估
只在故事规模发生改变时进行重估
部分完成的故事
故事点还是理想日?
故事点
理想日
为价值作规划
确定主题优先级
因素
高风险高价值
综合考虑
确定经济优先级
确定合意性优先级
Kano模型
功能分类
评估功能
相对权重
实现所带来的收益
不实现所招致的惩罚
分割用户故事
按照数据边界分割
按照操作边界分割
去除横切考虑
分割性能需求
分割具有混合优先级的用户故事
难以分割的故事
不要把故事分割成任务
进度安排
发布规划基础
满意条件
功能驱动
日期驱动
迭代规划
迭代规划会议
速度驱动(velocity driven)
承诺驱动(commitment driven)
选择迭代长度
发布的时间长度
不确定性的多少
获得反馈的难易程度
优先级可以保持多久不变
迭代的系统开销
团队的紧迫感
估计速度
使用历史值
进行一次迭代
做出预测
为不确定性缓冲计划
功能缓冲区
进度缓冲区
规划多小组的项目
建立估计的共同基准
更早给用户故事添加细节
进行前瞻规划
跟踪与交流
监督发布计划的执行
发布燃尽图
发布燃尽条形图
监督迭代计划的执行
迭代燃尽图
不要跟踪个人的速度
kanban
与计划有关的沟通
就计划进行沟通
就进度进行沟通
迭代回顾会议
敏捷规划有效的原因
经常进行重规划
对规模和持续时间独立估计
在不同层次上指定计划
基于功能而不是基于任务
小故事保持工作流畅
每次迭代都要消除处理中的工作
在小组层次跟踪,而不是个人
承认不确定性并为之做计划
12条指导原则
让整个小组参与
在不同层次进行规划
保持规模和持续时间的估计的独立
用功能和日期来体现不确定性(缓冲)
经常重规划
跟踪进度并沟通
承认学习的重要性
适当规模的故事
确定功能优先级
把估计和计划建立在事实上
保持一些松弛度
通过前瞻规划协调多个小组