作者:禅与计算机程序设计艺术
1.简介
1997年,在加拿大的一场会议上,戴克·迪克森()教授提出了著名的“80/20法则”,也就是说80%的时间里完成20%的工作就足够了。这个观念后来被许多高效团队所倡导,尤其是在敏捷开发、精益制造领域。不久之后,“80/20法则”便成为企业主流的做法——即只按计划交付80%的内容,剩下的20%再由自我组织的方式完成。
在Agile开发模式中,需求迭代速度快,缺乏完整的计划,导致无法准确预测项目结束日期。因此,“80/20法则”也逐渐变成一种“反模式”。
80/20法则虽然可以避免大部分重点任务堆积到一块儿,但是仍然存在着巨大的不确定性。如果不能对整个项目进行深入分析,就没有办法解决根本原因,也无法排除潜在风险。
本文将从以下几个方面阐述如何通过对项目进行深入分析,更准确地预估交付时间,并在此过程中构建起可信任的评估模型:
- 模型构建方法和工具
- Risk建模流程及原理
- 对项目风险的分类和分析
- 基于概率分布的估算
- 概率分布背后的直觉
- 估算风险的影响因素
作者将结合实际案例,带领读者学习Agile估算和规划的实用技巧和经验。
2.基本概念术语说明
2.1 Agile流程
Agile流程,英文全称为“Agile software development”,是指一个以客户需求为导向,采用迭代开发,循序渐进的方式,将产品或服务提供给用户的一种软件开发方法论。其理念主要有以下五个方面:
- 个体和互动:由于客户需求的不断变化