知识卡片
瀑布与迭代开发的本质区别
内容
瀑布和迭代的差别不在于是否敏捷,而在于用什么维度切分项目:瀑布按活动切分(需求、设计、编码、测试各自成段);迭代按功能子集切分,每个迭代内都完整走一遍分析-设计-编码-测试,结束时得到功能不全但可运行的系统。判断项目是否真迭代,看的不是术语,而是每次迭代结束是否真产出已测试、已集成、接近产品质量的软件——很多项目自称迭代,内部仍按活动分阶段推进(伪迭代)。
参考来源
- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第2章《开发过程》(源文件:_epub-src/EPUB/1.xhtml)
- 结论依据:原文明确"瀑布风格基于活动来分解项目""迭代风格根据功能子集来分解项目",并举例说明伪迭代开发的症状是"我们正在做一个分析迭代,然后做两个设计迭代",本质仍是按活动切分。
- 原始内容:瀑布风格基于活动来分解项目……迭代风格根据功能子集来分解项目……常见的症状有:"我们正在做一个分析迭代,然后做两个设计迭代……"