这四个项目管理模型,身为PM的你必须懂!
瀑布模型、迭代模型、增量模型、原型模型,是项目管理常见的四种模型。每种模型都有其优缺点和适用的项目类型。项目经理针对不同的项目用对模型,才能起到事半功倍的作用。
01 瀑布模型
用瀑布模型做项目就像古代匠雕刻玉石,先有完整的设计图,然后按部就班往前推进,中间不能出一点差错,追求的是“一次成型”。
这就是瀑布模型,最基本也最常用的一种项目管理模型,又称线性模型。
采用瀑布模型的项目依照该模型选定的阶段顺序进行,每一个阶段的工作产品都是下一个阶段工作的输入,每一个阶段只有在上一个阶段通过检查,确认完成后才开始新的阶段工作。
所产生的工作文档,以及在此基础上形成的产品。
瀑布模型最大的优点有两个:
这就是开头说的雕刻玉石的步骤,有精细的设计图纸,每一步都不可行差踏错,因为一旦雕坏了,就得摔了玉重来。
这也正是瀑布模型的缺点:周期长,不易变更。
用户直到项目开发晚期才能了解产品的真实面貌和质量。这时候提出变更,成本会非常大。
02 迭代模型
其实,迭代模型项目就是数个小而快的瀑布式项目组成的。
因为,每一次开发迭代都是一次完整地经过所有工作流程的过程:需求、分析设计、实施和测试工作流程。
每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。
迭代模型沿着螺线进行若干次迭代,图中的四个象限代表了四个活动:制定计划、风险分析、实施工程、客户评估。
使用迭代模型进行软件开发,项目活动包含以下几个阶段:
迭代模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
因此,迭代模型的风险管理成本较高,在风险分析,进度管理方面,对项目组成员的要求也非常高。
03 增量模型
增量模型是通过对用户需求的判断,在定义了用户要求和系统需求,进行总体构架设计后,采用序列化地创建产品的方法进行开发的过程。
增量模型本质上是迭代的,但其强调:每一个增量均发布一个可操作产品。
增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。
虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。
增量模型有三大优点:
1、在达到初始需求之前可降低成本。
2、可快速生产出可使用的系统。
3、能够有计划地管理技术风险。
但是,在开发过程中,需求的变化是不可避免的。
增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,导致软件过程的控制失去整体性。
04 原型模型
原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发.
原型模型是一种用户需求驱动的方法。它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。
原型模型根据其最终保留情况分为非抛弃型和抛弃型两种:
非抛弃型原型:先根据用户的最主要的要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。
抛弃型原型模型:一般用来描述和验证用户需求,可以采用与实际开发所不同的开发工具,建立模拟的数据库系统,从而达到与用户交流的最好效果。到用户需求确定之后即不再继续开发此原型。
这两者的目的、手段、结构各有不同。采取抛弃型原型模型往往是为了和用户更好地沟通,大家一定要注意区分。
05 最后
针对不同类型的项目。应选择什么样的开发模型,应从以下两方面进行慎重考虑:
i. 实施推广的难度
项目管理团队的管理能力和系统开发团队的技术能力决定了所选择开发模型的实施难度。选择一个适合项目团队特点的开发模型尤为重要。
ii. 项目管理的侧重点
项目不同,其侧重点也不同,如侧重于进度、质量、成本控制、风险管理等等。根据项目的侧重点,可以选择不同的开发模型。
再结合这些特点,选择最适合项目的开发模型,就能起到事半功倍的效果。
各模型项目特点:
瀑布模型——文档驱动型
迭代模型——风险驱动型
增量模型——任务驱动型
原型模型——需求驱动型