敏捷1.3敏捷中的项目开发生命周期

硬核项目经理 硬核项目经理     2023-01-13     172

关键词:

敏捷中的项目开发生命周期

每个项目管理理论中,都会提到一个项目生命周期的概念。关于生命周期其实很好理解,就是一个项目从诞生到消亡的整个过程,在这个过程中,一般会有几个重要的节点是我们需要特别关注的。比如说,我们的人生也是一个生命周期,出生、上学、高考、工作、结婚、生子、退休、养老、终结。这些就可以看作是我们人生的一系列的重要结点。生命周期一般就是描述这样一个从无到有再到无的一个周期。

当然,人生只有一次,但项目会不停的开始结束,这样,每个项目都会有一个生命周期的轮回。而敏捷的轮回则会更快,这个我们马上就要学习到。不过在此之前,我们还是要先学习一下传统的项目开发生命周期是什么样的。

传统的瀑布式项目开发

在上篇文章中,我们已经说过传统的开发方式是一种瀑布式的开发方式。它的过程其实不必详细的再进行解释了。我们只要记住一点,下图中的顺序一定是固定的,在没有完成上一个阶段的时候,是不能进行下一个阶段的。

就像我们的传统的 PMP 模式一样,所有的步骤都是有输入、输出和处理过程的,而每个过程又牵涉到其它的过程。在整个项目的开发过程中,从启动、计划,到实施、监控,最后进行收尾。这是一个完备的过程,这和软件开发中的瀑布模型其实也是非常相似并且对应的。

但是,敏捷并不是很推崇这种模式。或者说,敏捷更偏爱下面要说的两种模式。

迭代式开发生命周期

听说过敏捷的同学一定都听说过迭代这个东西。有的人说我们要迭代一个版本,有的人说我们要在这个迭代周期内完成什么,不管它指的是具体的软件版本,还是一段时间,这两字的含义其实都是一样的,那就是在整个项目开发过程中,切分出来的一个一个的小时间段。这一个时间段就是一次迭代。通过一次次的迭代,让整个项目更加清晰。最出名的针对迭代的概念的图示就是这个图。

从这个图中我们能看出什么呢?迭代就是不断丰富细节的过程。每一次的迭代,我们都应该让这个项目更加的清晰明了,细节也一步步地完善。

增量式开发生命周期

说完迭代式开发过程,我们再来说说增量,迭代和增量是所有敏捷教程都会说的东西,因为这两个东西很多人容易搞混。增量实际上是不断的添加待开始项目的产品的模块功能。就像搭积木一样地将不同的模板拼成一个完整的产品。同样地,也有一张图是专门针对增量这个概念的。

看出来增量和迭代的不同了吗?迭代的时候,有轮廓,不断完善细节。而增量,没有整体轮廓,上来就是细节完整的一个部分,不断地一部分一部分地完成,最终形成一个完整的产品。

补充:迭代和增量这两种图,同时对应 Web 应用中图片的两种展示形式,不知道大家有没有印象,在网速不好的时候,有些网站打开大图是一块一块出来的,而有些网站打开大图是先模糊然后一步一步清晰的。有兴趣的同学可以搜索查找一下 PhotoShop 中导出 WEB 格式时选择连续功能的作用。

混合式开发生命周期

将上面的迭代和增量合起来,也就是在一次迭代中同时包含着增量,这样的形式就是混合式的生命周期 。这种情况下可以很好地运用这两种开发形式的优点。其实,我们目前大部分公司中的迭代冲刺都是这种混合式的生命周期的开发形式。在每次迭代中,我们添加的新功能模块其实就是在整个项目的轮廓中不断添加完善细节。

但是,需要注意的,不管是考试还是面试,你还是要能清晰地说明白迭代和增量的区别的。此外,在混合的时候,每次迭代也可以看做是一次传统的开发过程,总之,混合就是各种混合,吸收各家优势。

总结

今天的学习主要是几种项目生命周期的了解,它们也是我们最常用的这些项目开发方式。说实话,现在除了一些非常传统的外包企业外,很少会是那种完全传统式的完整瀑布开发了。但是,真正完全的敏捷开发也是需要很多条件的,因此我们可以说,大部分企业内部都是混合式的开发。既有传统的开发形式的存在,也有迭代增量的体现,因此,我们在工作过程中,也是要结合实际的业务的公司情况,来选择最合适自己的方法。

参考文档:

《某培训机构教材》

《用户故事与敏捷方法》

《高效通过PMI-ACP考试(第2版)》

《敏捷项目管理与PMI-ACP应试指南》

敏捷?devops?

在互联网行业中,永无止境的讨论主题之一是:敏捷与DevOps。对于这两个概念来说,过程彼此不同;但是它们仍然有一些相似之处。敏捷敏捷方法论是一种实践,它促进整个项目的SDLC(软件开发生命周期)的开发和测试的持续... 查看详情

敏捷制造系统的特征

...作。(4)开放的基础结构和先进制造技术是AMS的重要保证:敏捷制造要把全世界范围内的优势力量集成在一起,因此敏捷制造系统必须采取开放结构。敏捷制造系统-敏捷制造系统与传统制造系统的比较基于对敏捷制造系统和传统... 查看详情

(软考笔记)——系统架构设计师-系统开发基础知识笔记

...重用构建的模型基于面向对象的模型基于四代技术的模型敏捷方法敏捷方法的特点敏捷方法的核心思想敏捷型方法的含义及其特征敏捷方法的适用范围敏捷方法的主要内容敏捷开发方法简介RUP(RationalUnifiedProcess)RUP概述RUP的生命周... 查看详情

1.3敏捷宣言与敏捷过程的特点

01敏捷宣言敏捷宣言,也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法。 敏捷宣言强调的敏捷软件开发的四个核心价值是:个体和互动高于流程和工具工作的... 查看详情

敏捷软件开发vs传统软件工程

敏捷软件开发VS传统软件工程通过课后对论文的阅读,对敏捷软件开发与传统软件工程有了简单的理解。本文主要谈谈敏捷软件开发和传统软件工程的对比。传统软件工程:随着软件分析、设计、开发与实施的工程化,基于软件... 查看详情

传统软件开发与敏捷软件开发的比较

...周期和范围管理这两个不同的方面对传统软件开发方法和敏捷软件开发方法进行分析比较,希望与读者分享交流。 传统方法:  从本质来讲,传统软件开发方法是一个软件开发架构,其开发过程是通过一系列阶段顺序展开... 查看详情

敏捷开发总结

我们把对实践中的敏捷开发过程进行总结和归纳,我们提出了六个更具可操作性的原则:1、以小周期代替大周期:瀑布模型、螺旋模型、快速原型等方法都有比较长的工程周期,常常要经历立项、需求、架构设计、详细设计、... 查看详情

devops落地实践bat系列敏捷看板icafevstapd

...定位为研发工具的SaaS解决方面,三大看点代码托管/CICD/敏捷看板非常清晰,对应icode/ipipe/icafe三大自研工具。而腾讯的DevOps解决方案聚焦于代码托管/CICD/测试管理/运维监控/项目管理五大领域,具体则依托于腾云TGit/CCI/COC/TAPD四... 查看详情

pmp项目管理敏捷项目管理

目录1敏捷项目管理的重要性2实施敏捷2.1Scrum2.2角色2.3敏捷开发流程2.4看板与用户故事3精益管理3.1精益管理与传统管理的区别1敏捷项目管理的重要性敏捷项目管理是一种能快速适应环境变化的管理方式,适用于需求不清、产... 查看详情

带你了解敏捷和devops的发布策略

...研发模式难以满足要求,企业的开发运维模式逐渐向敏捷和DevOps转型,敏捷和DevOps理念正被广泛认可并加速落地实践。本文分享自华为云社区《一文读懂敏捷开发的发布策略》,作者:敏捷的小智。随着数字化、... 查看详情

工作中敏捷开发流程梳理

接触敏捷开发差不多一年了,对它也有了一些自己浅显的认识,写这篇文章来给自己梳理梳理工作中的敏捷开发流程。迭代周期工作中根据项目普遍任务的耗时,采用10个工作日作为1个迭代周期,包括迭代计划会议、迭代开发和... 查看详情

敏捷开发系列之旅第五站(不一样的rup统一软件开发过程)

概述 RUP,统一软件开发过程,是一个面向对象且基于网络的程序开发方法论。根据Rational的说法,RUP就好像一个在线的指导者,他可以为所有方面和层次的程序开发提供指导方针、模板以及事例支持。  生命周期 ... 查看详情

什么是敏捷开发?

1、什么是敏捷开发?  敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。  在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。  简单地来说... 查看详情

2021-09-07项目范围管理

...项目范围也包括产品范围2、单选题分值:1得分:0在适应/敏捷型生命周期中,项目的范围管理过程是()A:在项目开始时就对项目可交付成果进行定义,对任何范围变化都要进行渐进管理B:通过多次迭代开开发可交付成果,并在每... 查看详情

敏捷开发我的经验基本概念

...行独立开发的最小团队,一般人数控制在5~10人左右sprint:项目开发过程中最小迭代周期,根据同的项目周期不同;现有产品维护1~5天,二次开发5~10,新项目5~30,业务复杂或开发所用语言较多或开发复杂度较高10~45point:不可拆分... 查看详情

敏捷开发:

1.什么是极限编程?  极限编程是通往软件工程的方法或路径。  1)风险:基本问题,软件开发中的问题6。    (1)进度延迟    (2)项目做到后期会被取消    (3)项目变味    (4)项目缺陷率    (5)业务误... 查看详情

敏捷项目管理—scrum框架总结

...将投资产出最大化,他确保所有的利益相关者都可以理解敏捷和尊重敏捷的理念。 Team——开发人员、测试人员 查看详情

scrum敏捷开发:迭代计划会议

参考技术A  本文是关于Scrum敏捷开发中的迭代计划会议的总结。  在每个迭代的初期(第一天)需要召开迭代计划会议,目的在于制定当前迭代开发的目标以及从产品的工作项(PBI)中选取当前迭代要完成的工作项... 查看详情