上周四看到一篇文章,介绍了项目管理的四种常见模型,看完以后瞬间眼前一亮。
近期查看了1000多份项目计划,想要总结不同项目的主计划指定方法出来,我自己总结了:瀑布式、敏捷式、培训类、事项清单、环境部署/升级、人天包服务、运维日志。
看完总结的四种常见模型,感觉至少可以把我们的主计划中90%包含进去,并且我自己分类时候,很难把握边界,这四类分类,边界判断逻辑很清晰。
模型类型 | 适用范围 | 典型特征 | 优点 | 缺点 |
---|
瀑布模型 | 通常是对用户需求非常明确的项目。同时还要求项目预算充足,人员齐备。 | 依照该模型选定的阶段顺序进行,每一个阶段的工作产品都是下一个阶段工作的输入,每一个阶段只有在上一个阶段通过检查,确认完成后才开始新的阶段工作。 | 1、每个阶段的开发质量都有保证,减少了返工。 2、是文档细致,降低了沟通成本,有利于及早发现问题。 | 周期长,不易变更。 用户直到项目开发晚期才能了解产品的真实面貌和质量。这时候提出变更,成本会非常大。 |
迭代模型 | 通常属于高风险项目,且需求不确定,用户能在整个开发过程中不同程度地参与。 | 数个小而快的瀑布式项目组成。 每一次开发迭代都是一次完整地经过所有工作流程的过程:需求、分析设计、实施和测试工作流程。 每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。 | | 迭代模型的风险管理成本较高,在风险分析,进度管理方面,对项目组成员的要求也非常高。 |
增量模型 | i. 用户核心需求非常清楚; ii. 项目人员不足; iii. 产品可以分割成不同的阶段分别完成 | 通过对用户需求的判断,在定义了用户要求和系统需求,进行总体构架设计后,采用序列化地创建产品的方法进行开发的过程。 增量模型本质上是迭代的,但其强调:每一个增量均发布一个可操作产品。 增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。 | 1、在达到初始需求之前可降低成本。 2、可快速生产出可使用的系统。 3、能够有计划地管理技术风险。 | 但是,在开发过程中,需求的变化是不可避免的。 增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,导致软件过程的控制失去整体性。 |
原型模型 | i 处理简单过程明确、涉及面窄的小型系统; ii 大型系统的需求阶段,用原型去跟用户交流,需求分析会更加明确和细化 | 原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发. 原型模型是一种用户需求驱动的方法。它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。 | | |
针对不同类型的项目。应选择什么样的开发模型,应从以下两方面进行慎重考虑:
i. 实施推广的难度
项目管理团队的管理能力和系统开发团队的技术能力决定了所选择开发模型的实施难度。选择一个适合项目团队特点的开发模型尤为重要。
ii. 项目管理的侧重点
项目不同,其侧重点也不同,如侧重于进度、质量、成本控制、风险管理等等。根据项目的侧重点,可以选择不同的开发模型。
再结合这些特点,选择最适合项目的开发模型,就能起到事半功倍的效果。
各模型项目特点:
瀑布模型——文档驱动型
迭代模型——风险驱动型
增量模型——任务驱动型
原型模型——需求驱动型
原文:项目管理的四大模型,PM必须懂!