一些历史事实:
20世纪80年代
美国国防部(US Department of Defense,DoD)就针对软件开发颁布了标准DOD-STD-2167.
这是基于瀑布型与文档驱动的方法.有调查报告表明总成本370亿美元的项目样本中,75%的项目失败或者无法使用,
只有2%的项目能够不做进行一步修正就可使用.
1988年2月
改良的DOD-STD-2167A 发布, 该版本改进了2167标准,更加亲迭代开发(Iterative and Incremental Development (IID)).
由于军方后勤部门不同意,无法将瀑布型流程剔除.但该标准仍被许多人解释为优先采用瀑布型.
1994年12月
2167A被MIL-STD-498取代,该标准描述了递增式的构建,倡导渐进的需求和设计.
2000年
美国国防部颁发了新的软件项目"指导意见" DoD 5000.2,再次推荐渐进交付和IID的应用.
遗憾的是,STD-2167影响了其他国家的标准定义.这些国家还没有了解到DoD后来摒弃了2167标准和瀑布型.
为什么还有人在推行瀑布型?
"对于任何的复杂问题,都有一个简单干净但是错误的解决之道" H.L.Mencken
以上资料源自 Agile&Iterative Development A Manager's Guide-- Craig Larman