瀑布模型、迭代模型、增量模型、原型模型是项目管理中常见的四种模型。 每个模型都有优缺点和适用的项目类型。 项目经理可以通过针对不同的项目使用模型来获得更多的成果。
01
瀑布模型
利用瀑布模型进行项目就像古代的匠雕刻玉石一样,首先有完整的设计图,然后各部门一起前进。 途中不能有一点错误。 我们追求的是“一次成型”。这是瀑布模型,是最基本最常用的项目管理模型,也称为线性模型。
采用瀑布模型的项目将按照模型选定的阶段顺序进行。 各阶段的工作产品是下一阶段工作的输入,各阶段在前一阶段通过检查,确认完成后开始新阶段的工作。
瀑布模型的思想形象
瀑布模型的突出特征是文档驱动。 从需求分析到系统维护,每个活动的成果都是由该活动生成的工作文件以及在此基础上形成的产品。
瀑布模型最大的优点有两个。
1、各阶段的开发质量得到保证,返工减少了。
2、文书细致,有利于降低沟通成本,尽早发现问题。
这就是开头所述的雕刻玉的步骤,有详细的设计图纸,不能弄错所有的步骤。 因为一旦刻坏了,就必须把球掉下来重做。
这也是瀑布模型的缺点。 周期长,难以变更。
用户直到项目开发末期才知道产品的真实样子和质量。 如果在这个时候提出变更,成本会非常大。
适合瀑布模型的项目类型通常是用户需求非常明确的项目。 它还要求项目预算充足,人员齐全。
02
迭代模型
实际上,迭代模型项目由几个小而快的瀑布式项目组成。因为开发的迭代过程完全经过了所有的工作流程——需求、分析设计、实施和测试。
每次迭代都会生成可发布的产品。 这个产品是最终产品的子集。
迭代模型的思想形象
迭代模型沿螺旋多次迭代,图中的四个象限表示四种活动:计划制定、风险分析、工程实施、客户评价。
使用迭代模型进行软件开发,项目活动包括以下阶段:
1 .初期阶段
制定系统的业务案例,确定项目边界。
2 .细化阶段
细分阶段的目标是分析问题领域,建立健全的体系结构基础,制定项目计划,淘汰项目中风险最高的要素。
3 .结构阶段
在构建阶段,将开发和产品化剩下的所有组件和APP功能,并对所有功能进行详细测试。
4 .交货阶段
交付阶段的重点是确保软件提供给最终用户。 交付阶段多次重复,包括为发行做准备的产品测试,以及基于用户反馈的少量调整。
迭代模型的几个阶段
迭代模型以风险为导向,突出期权方案和约束条件支持软件重用,有助于将软件质量作为特殊目标纳入产品开发。
因此,迭代模型的风险管理成本较高,在风险分析、进度管理方面对项目团队成员的要求也非常高。
选择迭代模型的项目通常是高风险的项目,需求不确定,用户可以在整个开发过程中不同程度地参与。
03
增量模型
增量模型是通过判断用户的需求,定义用户的需求和系统的需求,进行整体框架设计后,采用序列化制作产品的方法进行开发的过程。虽然增量模型本质上是重复的,但它强调每个增量都会推出可操作的产品。
增量模型的特征是导入了增量包的概念,不用等到所有需求都出来,只要某个需求的增量包出来就可以开发。
://p3.toutiaoimg.com/origin/pgc-image/b5ab0ec3d2fb4f918b93a7af8386b3c8?from=pc">虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。
增量模型有三大优点:
1、在达到初始需求之前可降低成本。
2、可快速生产出可使用的系统。
3、能够有计划地管理技术风险。
但是,在开发过程中,需求的变化是不可避免的。
增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,导致软件过程的控制失去整体性。
增量模型的适用项目特点:
i. 用户核心需求非常清楚;
ii. 项目人员不足;
iii. 产品可以分割成不同的阶段分别完成
04
原型模型
原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发.
原型模型是一种用户需求驱动的方法。它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。
原型模型根据其最终保留情况分为非抛弃型和抛弃型两种:
非抛弃型原型:先根据用户的最主要的要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。
抛弃型原型模型:一般用来描述和验证用户需求,可以采用与实际开发所不同的开发工具,建立模拟的数据库系统,从而达到与用户交流的最好效果。到用户需求确定之后即不再继续开发此原型。
这两者的目的、手段、结构各有不同。采取抛弃型原型模型往往是为了和用户更好地沟通,大家一定要注意区分。
原型模型适用的项目特点:
i 处理简单过程明确、涉及面窄的小型系统;
ii 大型系统的需求阶段,用原型去跟用户交流,需求分析会更加明确和细化
写在最后
针对不同类型的项目。应选择什么样的开发模型,应从以下两方面进行慎重考虑:
i. 实施推广的难度
项目管理团队的管理能力和系统开发团队的技术能力决定了所选择开发模型的实施难度。选择一个适合项目团队特点的开发模型尤为重要。
ii. 项目管理的侧重点
项目不同,其侧重点也不同,如侧重于进度、质量、成本控制、风险管理等等。根据项目的侧重点,可以选择不同的开发模型。
再结合这些特点,选择最适合项目的开发模型,就能起到事半功倍的效果。
各模型项目特点:
瀑布模型——文档驱动型
迭代模型——风险驱动型
增量模型——任务驱动型
原型模型——需求驱动型
来源:转载
关注公众号:PMP项目管理之家、才聚项目管理PMP暨NPDP考试中心