在工作中,我们常需要借鉴一些已有的模型方法,去帮助我们更好的完成工作。就像算法模型、数据模型一样,项目也有对应的模型体系。而项目模型的作用,则主要是为了根据既定规则去寻求适合项目开展的方法。
通过掌握一些基础的项目模型,并选择恰当的模型方法论,可有助于项目成员达成共识。因为这些经典的模型是前人智慧的结晶,同时也经历了时间的考验。所以我们可以取其精华弃其糟粕,借助模型更好的服务于项目管理。
模型管理是项目环节中所用到的一种管理方法,我们需要结合项目情况与流程模型去构建一个高效的项目推进流程。它的核心原则为:
选择适合项目模型,培养敏捷开发思维
为了梳理清楚流程管理的整体思维框架,便于宏观对其进行了解,于是汇总了相关的知识脉络,如下图所示:
前言
开发流程模型历经了时代的变迁,在不断的改进中得到优化完善。而如今,我们总结了一整套有关模型分类的方法论。流程模型的发展已日趋成熟,由最初结构化设计思想为指导的瀑布模型,演变到以拆分功能并不断完善的增量过程模型,逐步发展为以原型设计模型为主的今天
而敏捷开发的思维被不断加深在互联网人的意识中,同时也从侧面印证了时间就是金钱的真理。在当下,我们要快速验证产品与用户的契合度、快速抢占市场、更要快速搭建自己产品的行业壁垒
1.模型分类
从模型发展之初至今,项目模型的种类主要分为以下三种:瀑布模型、增量过程模型、原型开发模型
瀑布模型
瀑布模型是最早被提出的,它强调开发的阶段性,并注重各阶段具有的顺序性和依赖性。瀑布模型无法提供中间可运行版本,所以只有当需求功能全部完成后,客户才能见到产品的模样
优点:
1、强调早期调研的重要性
2、按固定顺序推进项目,流程规范
缺点:
1、文档驱动,在项目中会产生大量冗余的文档
2、用户无法及时了解产品开发进度及相关情况
3、很难适应项目所产生的不确定因素
4、项目流程唯一,上下级阶段必须依次进行
5、测试最后介入,可能导致严重偏差
6、组织庞大,人员闲置
增量过程模型
增量过程模型是迄今为止,最实用且应用广泛的项目模型,也是公认最高效的模型
它主要由两部分组成:增量模型、RAD模型,这两个模型可独立使用,而结合在一起则会让项目推进更加顺利
(1)增量模型
增量模型需要先对项目中主功能进行搭建,而在后续开发中,通过不断增加附属功能的方式去完善它。由于这是一个不断累加的过程,所以会在项目开展之初,把一整个功能体系分解为若干个功能构件
如果在项目过程中出现需求变更、功能增减的情况,则可以通过修改最小单元去纠正问题,避免全部内容推翻重来,大大降低了开发风险
增量模型和瀑布模型的区别就在于,前者不需要一次性交付全部功能,而是分批次增添功能,不断提供中间可运行版本给客户
优点:
1、核心功能最先交付,可得到最多测试机会
2、通过获取中间可运行版本,便于统筹项目
3、开发优先级灵活,可随时调整项目进程与方向
4、可多条项目线并行推进
5、降低开发重构风险
缺点:
1、无法从宏观角度对项目进行统筹
2、需要产品功能具备开放式可分解的结构
(2)RAD模型
RAD模型又称为V模型,是一种快速应用开发的项目模型。它强调在项目开展初期就让测试人员介入,追求模块可复用的理念,通过使用重复的模块去迅速搭建产品功能
优点:
1、测试全程伴随项目进行,容错率低
2、项目开发迅速
3、对信息系统开发十分有效
缺点:
1、由于需要拆解项目功能,所以需要大量人力资源去创建相对独立的分支项目组
2、如果系统不支持模块化分解,则无法进行
3、不适合技术风险高或系统需求性能高的项目
原型开发模型
顾名思义,就是采用已绘制好的原型图和客户进行协商,不断调整原型内容,以便理解和澄清问题。无论是从视觉上还是功能上,都可以得到完善优化,直到双方都满意为止
之后,根据一整套原型图进行功能开发、项目推进,保证开发成果与客户预期一致。由于该模型可以让客户快速、直观的体验到实际产品,所以也常见于产品功能演示
优点:
1、帮助客户快速看到产品雏形
2、不断完善用户需求
3、开发成果与客户预期一致
缺点:
1、前期工作量庞大,会反复修改原型内容
2、会存