一、定义

项目生命周期:指项目从启动到完成所经历的一系列阶段。

开发生命周期:项目生命周期内通常有一个或多个阶段与产品、服务或成果的开发相关,这些阶段称为开发生命周期。

二、生命周期

  • 预测型生命周期(瀑布型生命周期)
  • 迭代型生命周期
  • 增量型生命周期
  • 适应型生命周期(敏捷型或者变更驱动型生命周期)
  • 混合型生命周期

✈预测型生命周期(瀑布型生命周期)——在生命周期的早期阶段确定项目范围、时间和成本。对任何范围的变更都要进行仔细管理。

✈迭代型生命周期——项目范围通常于项目生命周期的早期确定,但时间及成本估算将随着项目团队对产品理解的不断深入而定期修改。迭代方法是通过一系列重复的循环活动来开发产品,而增量方法是渐进地增加产品的功能。

✈增量型生命周期——是通过在预定的时间区间内渐进增加产品功能的一系列迭代来产出可交付成果。只有在最后一次迭代之后,可交付成果具有了必要和足够的能力,才能被视为完整的。

✈适应型生命周期——属于敏捷型、迭代型或增量型。详细范围在迭代开始之前就得到了定义和批准。适应型生命周期也称为敏捷或变更驱动型生命周期。

✈混合型生命周期——是预测型生命周期和适应型生命周期的组合。充分了解或有确定需求的项目要素遵循预测型开发生命周期,而仍在发展中的要素遵循适应型开发生命周期。

1.预测型(瀑布型)


2.增量型

每次只交付一部分,像搭积木一样


3.迭代型

从粗略到精细,从模糊到清晰


4.适应型(敏捷型)


三、STACEY矩阵

第一区域:需求明确,技术方案也确定,这类项目就叫做简单(Simple)项目。

第二区域:需求明确,技术却不明确,也就是说怎么实现不知道,这类项目就叫做复杂(Complex)的项目,也称为棘手的项目。例如:无人驾驶项目

第三区域:技术很确定,但是需求不明确,这类项目叫做烧脑型(Complicated)项目。例如:开发软件系统

第四区域:需求也不明确,技术也不明确,这类项目叫做混乱型(Chaotic)项目。

第五区域:除了以上4类外的项目叫做模糊型(Hazy)项目。

不同的项目选择不同的生命周期

简单型   预测型

棘手型   迭代型

烧脑型   增量型

模糊性   敏捷型

混乱型   不要碰

【PMP】项目生命周期和开发生命周期的更多相关文章

  1. vue2.0项目实战(4)生命周期和钩子函数详解

    最近的项目都使用vue2.0来开发,不得不说,vue真的非常好用,大大减少了项目的开发周期.在踩坑的过程中,因为对vue的生命周期不是特别了解,所以有时候会在几个钩子函数里做一些事情,什么时候做,在哪 ...

  2. 【应用安全】S-SDLC安全开发生命周期

    0x01 S-SDLC简介 OWASP Secure Software Development Lifecycle Project(S-SDLC)是OWASP组织首个由OWASP中国团队独立发布并主导 ...

  3. 【应用安全】微软的安全开发生命周期(SDL)

    0x01 SDL介绍 安全开发生命周期(SDL)即Security Development Lifecycle,是一个帮助开发人员构建更安全的软件和解决安全合规要求的同时降低开发成本的软件开发过程. ...

  4. 【转】VS 安全开发生命周期(SDL)检查

    前面在学习使用google的protobuf时在VS2012中一直无法编译编译通过,经过查找一些资料原来发现,并不是protobuf的问题,而是自己在使用VS2012时,没有完全了解VS2012的强大 ...

  5. 软件开发生命周期(SDLC)

    一.简介 软件开发生命周期又叫做 SDLC(Software Development Life Cycle),它是集合了计划.开发.测试和部署过程的集合.如下图所示 : 二.五个阶段 1.分析阶段: ...

  6. Android Activity生命周期以及Fragment生命周期的区别与分析

    Android Fragment生命周期图: Activity生命周期图: 对照图: Fragment生命周期分析: 1. 当一个fragment被创建的时候,它会经历以下状态. onAttach() ...

  7. 微信APP生命周期、页面生命周期

    目录 小程序的启动流程 app生命周期 页面的生命周期 页面的生命周期(图) 小程序的启动流程 我们画一个图来表示一下,整个小程序的启动流程,我们就知道了: app生命周期 执行App()函数也就是注 ...

  8. Android项目模块化/组件化开发(非原创)

    文章大纲 一.项目模块化初步介绍二.项目模块化的两种模式与比较三.大型项目模块化的演进四.项目模块化总结五.参考文章   一.项目模块化初步介绍 1. 前言 在Android开发中,随着项目的不断扩展 ...

  9. 开源软件项目管理系统招设计/开发。。。。。Zend Framework2架构 svn://735.ikwb.com/pms

    开源软件项目管理系统招设计/开发.....Zend Framework2架构svn://735.ikwb.com/pms

随机推荐

  1. Python GUI - tkinter

    目录: Tkinter 组件 标准属性 几何管理 代码实例: 1. Label & Button 2. Entry & Text 3.Listbox列表 4.Radiobutton单选 ...

  2. git合并

    git 里合并了两个分支以后,是不是两个分支的内容就完全一样了? 不是.看合并到哪个分支,这个分支有两个分支所有的内容.另外一个分支不变. 合并操作( merge )对当前所在分支产生影响. 合并分支 ...

  3. 【JavaScript】浏览器

    No1: [window]全局作用域,而且表示浏览器窗口 innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度.内部宽高是指除去菜单栏.工具栏.边框等占位元素后,用于显 ...

  4. wireshark抓包工具详细说明及操作使用

    https://blog.csdn.net/qq78069460/article/details/79153895

  5. asp.net结合html使用

    在用asp.net开发系统时,用控件能更方便快捷,但是大家也知道用它的控件会导致不可控,特别是css,如何用前端定义的html+css+js来运用asp.net(c#)呢,下面写了一个小实例,实现页面 ...

  6. 说说我安装pyspider遇到的那些坑

    现在python3.7  >>pip install pyspider    配置环境变量 前置的phantomjs 无界面浏览器,设置就不说了 cmd 中运行pyspider all  ...

  7. java之XML

    //转为XML格式 public static String ArrayToXml(Map<String, String> arr) { String xml = "<xm ...

  8. ajax中的async属性值之同步和异步及同步和异步区别

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里 ...

  9. MySql中的约束

    mysql中的约束使用和oracle使用差别不大. 1.主键约束 如同人对应身份证,主键能够唯一地标识表中的一条记录,可以结合外键来定义数据表之间的关系. 主键约束要求主键列的数据唯一,并且不允许为空 ...

  10. 考前停课集训 Day2 非

    因为太长了 所以一天一天分开发 Day2 昨天晚上没开黑车 没脱衣服就睡了 可能是我难受了…… 新的一天. 早上好. 我没去晨跑,早上先和团长集合了,没看见rkbudlo来 于是就先吃饭了 去机房的时 ...