Evidence Based Scheduling
AI summary · Qwen Summary in Chinese Indexed
Original source Evidence-Based Scheduling 通过拆分小时级任务、记录实际工时并用蒙特卡洛模拟生成交付日期概率分布,帮助团队做出更现实的排期和范围决策。
EBS 的核心思路
- Evidence-Based Scheduling 基于历史工时数据生成交付日期的置信分布曲线,而不是只给出一个交付日期。
- 曲线越陡,表示对预测交付日期的信心越高。
任务拆分
- 排期应拆成可按小时估算的小任务,单个任务不超过 16 小时。
- 拆分任务会迫使开发者先明确具体步骤和详细设计。
记录实际工时
- 通过工时表记录每个任务的估计时间和实际时间。
- 用估计时间除以实际时间得到 velocity,用于反映开发者相对估计的速度。
- 通常只保留较新的 velocity 历史,例如六个月以内。
蒙特卡洛模拟
- 用开发者历史 velocity 随机调整每个任务时间,模拟多个可能的未来。
- 每次模拟得到不同交付日期,汇总后形成交付日期概率分布。
- 模拟需考虑开发者工作日程、假期和节假日,并以最后完成者作为团队完成时间。
处理中断与不可预测时间
- 遇到老板打断、会议、帮助新人等情况时,可继续让原任务计时。
- EBS 通过历史 velocity 自动吸收这类时间损耗,无需单独估算。
主动管理项目
- 可按优先级查看裁剪低优先级功能对交付日期的影响。
- 可查看每个开发者的交付日期分布,识别估算不稳定、负载过重或不在关键路径的人。
范围蔓延与缓冲
- 应在原排期中预留缓冲,用于新功能、竞争响应、集成、调试、可用性测试和 Beta 测试。
- 可每晚记录交付日期置信分布,跟踪 95%、50% 和 5% 概率曲线。
- 如果交付日期每天向后移动超过一天,说明新增工作快于完成工作。
排期管理原则
- 只有实际执行工作的开发者应创建估算。
- 发现 bug 的修复时间应计入原任务。
- 排期像木块盒:若装不下,只能延期或删减功能,不能假装压缩工作量。