PM必须懂的4种项目管理模型

简介:

瀑布模型、迭代模型、增量模型、原型模型,是项目管理常见的四种模型。每种模型都有其优缺点和适用的项目类型。项目经理针对不同的项目用对模型,才能起到事半功倍的作用。

一、瀑布模型

用瀑布模型做项目就像古代匠雕刻玉石,先有完整的设计图,然后按部就班往前推进,中间不能出一点差错,追求的是“一次成型”。

这就是瀑布模型,最基本也最常用的一种项目管理模型,又称线性模型。

采用瀑布模型的项目依照该模型选定的阶段顺序进行,每一个阶段的工作产品都是下一个阶段工作的输入,每一个阶段只有在上一个阶段通过检查,确认完成后才开始新的阶段工作。

image.png

▲ 瀑布模型的思想示意图

瀑布模型的突出特征是文档驱动。从需求分析到系统维护,每一项活动的工作成果就是此项活动所产生的工作文档,以及在此基础上形成的产品。

瀑布模型最大的优点有两个:

1、每个阶段的开发质量都有保证,减少了返工。

2、是文档细致,降低了沟通成本,有利于及早发现问题。

这就是开头说的雕刻玉石的步骤,有精细的设计图纸,每一步都不可行差踏错,因为一旦雕坏了,就得摔了玉重来。

这也正是瀑布模型的缺点:周期长,不易变更。

用户直到项目开发晚期才能了解产品的真实面貌和质量。这时候提出变更,成本会非常大。
适合采用瀑布模型的项目类型,通常是对用户需求非常明确的项目。同时还要求项目预算充足,人员齐备。

二、迭代模型

其实,迭代模型项目就是数个小而快的瀑布式项目组成的。

因为,每一次开发迭代都是一次完整地经过所有工作流程的过程:需求、分析设计、实施和测试工作流程。
每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。

在这里插入图片描述

▲ 迭代模型的思想示意图

迭代模型沿着螺线进行若干次迭代,图中的四个象限代表了四个活动:制定计划、风险分析、实施工程、客户评估。

使用迭代模型进行软件开发,项目活动包含以下几个阶段:

  1. 初始阶段为系统建立商业案例并确定项目的边界。
  2. 细化阶段细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。
  3. 构造阶段在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。
  4. 交付阶段交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。

image.png

▲ 迭代模型的几个阶段

迭代模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。

因此,迭代模型的风险管理成本较高,在风险分析,进度管理方面,对项目组成员的要求也非常高。
选择迭代模型的项目,通常属于高风险项目,且需求不确定,用户能在整个开发过程中不同程度地参与。

三、增量模型

增量模型是通过对用户需求的判断,在定义了用户要求和系统需求,进行总体构架设计后,采用序列化地创建产品的方法进行开发的过程。

增量模型本质上是迭代的,但其强调:每一个增量均发布一个可操作产品。

增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。

image.png

▲ 增量模型的思想示意图

虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。

增量模型有三大优点:

1、在达到初始需求之前可降低成本。
2、可快速生产出可使用的系统。
3、能够有计划地管理技术风险。

但是,在开发过程中,需求的变化是不可避免的。

增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,导致软件过程的控制失去整体性。

增量模型的适用项目特点:

  1. 用户核心需求非常清楚;
  2. 项目人员不足;
  3. 产品可以分割成不同的阶段分别完成

四、原型模型

原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发.

原型模型是一种用户需求驱动的方法。它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。

在这里插入图片描述

▲ 原型模型的思想示意图

原型模型根据其最终保留情况分为非抛弃型和抛弃型两种:

非抛弃型原型:先根据用户的最主要的要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。

抛弃型原型模型:一般用来描述和验证用户需求,可以采用与实际开发所不同的开发工具,建立模拟的数据库系统,从而达到与用户交流的最好效果。到用户需求确定之后即不再继续开发此原型。

这两者的目的、手段、结构各有不同。采取抛弃型原型模型往往是为了和用户更好地沟通,大家一定要注意区分。

原型模型适用的项目特点:
i 处理简单过程明确、涉及面窄的小型系统;
ii 大型系统的需求阶段,用原型去跟用户交流,需求分析会更加明确和细化。
本文素材来源:PMBOK

写在最后
合理并且有效地运用项目管理工具,不仅可以让我们工作井然有序地进行,还能最大程度保证项目目标的达成。CORNERSTONE
提供了包括任务/需求/测试管理、迭代规划、缺陷追踪、报表统计、团队协作、WIKI、共享文件和日历等功能模块,现在申请20人以下团队即可免费使用。

aeef399ffa8046109e455da2e8c34dc4.png

目录
相关文章
|
JavaScript
利用JS求1-100之间所有能被3整除的数字之和
利用JS求1-100之间所有能被3整除的数字之和
利用JS求1-100之间所有能被3整除的数字之和
|
10月前
|
图形学
Unity Text修改字间距
本文介绍了两种实现字间距调整的方法。第一种方法直接通过修改顶点位置实现字间距调整,代码简洁但换行时效果不佳。第二种方法引入了`Line`结构和对齐方式(左、中、右),能够处理多行文本并支持不同对齐方式,更加灵活和通用。两种方法均基于Unity的`BaseMeshEffect`类,通过重写`ModifyMesh`方法来调整UI文本的字间距。最终运行测试可验证效果。
|
机器学习/深度学习 存储 编解码
微帧Per-Title编码技术:自适应码率-画质-分辨率
Per-Title编码技术由Netflix提出,旨在为每部电影量身定制合适的码率阶梯,以节省带宽和存储成本。传统固定码率阶梯在某些视频类型上存在浪费,Per-Title通过分析视频内容的复杂度,生成最优的码率-质量曲线,确保在有限带宽下提供最佳视频质量。微帧的Per-Title技术进一步优化了这一过程,通过智能算法和深度学习,为每个视频选择最合适的分辨率和码率组合,实现高效传输和优质观看体验。
|
数据采集 数据可视化 数据处理
利用 Jupyter 实现自动化报告生成
【8月更文第29天】自动化报告生成是在数据分析领域非常有用的一项技能。它可以帮助我们节省大量的手动工作时间,并确保每次生成的报告都是一致且准确的。本文将介绍如何使用 Jupyter Notebook 结合 Python 库(如 Pandas 和 Matplotlib)来实现自动化报告生成。
1151 0
|
敏捷开发 测试技术
开发模型(瀑布、螺旋、scrum) 和 测试模型(V、W)、增量和迭代、敏捷(思想)及敏捷开发 scrum
文章详细介绍了软件开发过程中的不同开发模型(瀑布、螺旋、Scrum)和测试模型(V模型、W模型),以及增量和迭代的概念,最后阐述了敏捷思想及其在敏捷开发(如Scrum)中的应用。
1569 0
开发模型(瀑布、螺旋、scrum) 和 测试模型(V、W)、增量和迭代、敏捷(思想)及敏捷开发 scrum
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
12月前
|
机器学习/深度学习 人工智能 编解码
阿里云GPU云服务器优惠收费标准,GPU服务器优缺点与适用场景详解
随着人工智能、大数据分析和高性能计算的发展,对计算资源的需求不断增加。GPU凭借强大的并行计算能力和高效的浮点运算性能,逐渐成为处理复杂计算任务的首选工具。阿里云提供了从入门级到旗舰级的多种GPU服务器,涵盖GN5、GN6、GN7、GN8和GN9系列,分别适用于图形渲染、视频编码、深度学习推理、训练和高性能计算等场景。本文详细介绍各系列的规格、价格和适用场景,帮助用户根据实际需求选择最合适的GPU实例。
|
IDE Go 开发工具
Sublime Text3搭建go运行环境
Sublime Text3搭建go运行环境
428 1
|
数据采集
IQR法(四分位距法)
IQR法(四分位距法)