两种生命周期模型:瀑布型和敏捷型

什么是瀑布型

什么叫瀑布型?比如一个装修项目,先做甲方的需求收集,然后测量房子、绘制图纸、采购、施工、验收,这些工序分阶段一步步完成,像瀑布一样,一个阶段完成后再进入下一个阶段。

适合场景

遇到以下情况应优先选择瀑布型生命周期。
(1)充分了解拟交付的产品。
(2)有扎实的行业实践基础。
(3)整批一次性交付产品有利于每个人。

敏捷型

敏捷型生命周期是通过一系列重复的循环活动来完成项目,通常有两种实现方式:迭代和增量,如图2-6所示。迭代的本质是一个由模糊逐渐变清晰的过程,增量则是通过功能的渐进增加将项目落地。需要特别说明的是,人们通常把迭代增量型统称为敏捷型生命周期,除个别专业人士,一般不做区分。

适合场景

遇到以下情况应优先选择敏捷型生命周期。
(1)需要应对快速变化的环境。
(2)需求和范围难以事先确定。
(3)能够以有利于相关人员的方式定义较小的增量改进。

迭代和增量

可能增量是纵向切割功能模块,而迭代是横向切割,每次做整体的优化。

1. 核心定义

  • 迭代(Iterative)
    迭代强调重复的循环过程,每个周期(如Scrum中的Sprint)都包含需求分析、设计、开发、测试等完整流程,最终产出一个可交付的版本。每次迭代会基于反馈调整方向,逐步完善产品。

    例子:开发一个电商网站,第一个迭代完成基础的购物流程(但界面简陋),第二个迭代优化用户体验,第三个迭代增加推荐功能。每个迭代都在整个系统上改进。

  • 增量(Incremental)
    增量强调将产品拆分为独立的功能模块,每个模块(增量)都是完整的、可独立交付的部分,最终通过组合这些模块形成完整产品。

    例子:开发一个办公软件,第一个增量实现文档编辑功能,第二个增量增加表格处理,第三个增量支持幻灯片制作。每个增量都是完整的功能模块。


2. 核心区别

维度 迭代(Iterative) 增量(Incremental)
构建方式 横向切割:每个周期覆盖整个系统,逐步优化。 纵向切割:分模块开发,逐步叠加。
交付内容 每次迭代交付整体改进后的版本(可能包含多个功能)。 每次增量交付一个独立的新功能模块。
需求灵活性 需求可能变化,每个周期重新评估优先级和设计。 需求相对明确,按模块顺序开发。
适用场景 需求不明确、需要快速验证和调整的项目。 模块独立性高、需求稳定的项目。
风险控制 早期发现设计缺陷,通过反馈降低风险。 分阶段交付,降低集成风险。

混合使用这2种模式

不同的生命周期有不同的风险处理方式,适用于不同的项目。遗憾的是,人们经常采用非此即彼的割裂方式来看待敏捷型生命周期与瀑布型生命周期。

喜欢敏捷型生命周期的人对于瀑布型生命周期的误解可概括为以下几个方面。
(1)过多的文档工作。
(2)表格烦琐。
(3)流程繁重。
(4)人被流程管理而不是人管理流程。
而喜欢瀑布型生命周期的人对于敏捷型生命周期的误解则可概括为以下几个方面。
(1)完全抛弃流程。
(2)无序、失控。
(3)不适用于复杂项目。
(4)不专业。

参考资料

《极简项目管理》

posted @ 2025-03-24 10:14  向着朝阳  阅读(249)  评论(0)    收藏  举报