瀑布开发与敏捷开发的区别有哪些

瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。敏捷软件开发是基于敏捷宣言定义的价值观和原则的一系列方法和实践的总称。自组织、跨职能团队运用适合他们自身环境的实践进行演进得出解决方案。

瀑布和敏捷都不是什么新概念,关于敏捷开发与瀑布开发的优势与缺点都已经比较明确,这里根据一些平台的资料给大家做一些整理和总结。 

瀑布开发与敏捷开发的区别

一、瀑布开发

瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档, 测试计划 和代码审阅等等。

瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。

有论文统计他是造成70%软件开发失败的原因

瀑布开发大体分为这几个阶段: 需求分析 、设计、编码、测试、维护。 目前来说2B的传统企业,包括ERP,MES,WMS,CRM,OA,IBMS等系统当中可以经常见到他们的影子。现在这种模式仍然流行在一些大的项目或者是外包的一些项目当中。 

瀑布模型作为最典型的预见性方法,其优点主要在于:

  • 阶段清晰:从计划到开发最后到上线运行,三个阶段非常清晰。
  • 时间顺序:每个阶段顺序必须是从上到下,严格按照时间先后进行。
  • 环环相扣:在每一个阶段都必须有产出物然后才能进入到下一个阶段进行。
  • 黑盒模式:每个阶段都有各自的角色和分工,各自只关心自己的任务。比如需求阶段开发人员无需关注。

 而其特点也突出:

  • 需求隔离:由于各阶段的人员只能接触到自己工作范围内的东西,所以对客户需求的理解程度高低不等,开发人员更像是定义为流水线上的工人。
  • 变更代价大:既然叫做瀑布,就意味着不应该走回头路。否则如果出现返工,付出的代价会很大。需求变更,编码人员会很强的抵触情绪。
  • 束缚创造性:由于强调文档管理,所以管理人员会比较喜欢,但是他束缚了开发人员的创造性。
  • 周期漫长:整个开发持续的生命周期很长,需求和设计的时间会耗费特别多,有时候会占用三分之一甚至更多时间,这样整个周期就会变长,大都在半年到一年左右的时间,所以更适合需求相对稳定的大项目。

二、敏捷软件开发

敏捷软件开发是基于敏捷宣言定义的价值观和原则的一系列方法和实践的总称。自组织、跨职能团队运用适合他们自身环境的实践进行演进得出解决方案。敏捷开发以用户的需求进化为核心,采用 迭代 、循序渐进的方法进行软件开发。

在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷开发借助互联网浪潮开始流行起来,相比瀑布模式,敏捷无疑更加贴近互联网时代背景下快速发展变化的市场环境以及业务需求。 

简单总结,敏捷开发的优缺点在于:

优点:

  • 更快交付价值
  • 更低的风险
  • 拥抱变化
  • 更好的质量
  • 持续改进
  • 更高的客户满意度
  • 更高的团队满意度
  • ……

缺点:

  • 很难进行准确的资源规划
  • 很难准确的定义“轻量的“或必要的文档
  • 很难把握整体产品的一致性
  • 很难预测有限的终点
  • 很难有效地进行度量
  • …….

从上文来看,敏捷开发似乎要优于瀑布开发,但本质并非如此。两者都有自己适用的范围,而当下这个VUCA的时代,多变的项目是很多科技公司的常态,所以越来越多的人关注到敏捷开发的优点。但仍旧有一部分确定性很强的项目会适合适用瀑布开发。

文章标题:瀑布开发与敏捷开发的区别有哪些,发布者:六六,转载请注明出处:https://worktile.com/kb/p/36808

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
六六六六认证作者
上一篇 2023年2月2日 下午8:06
下一篇 2023年2月2日 下午8:11

相关推荐

  • 敏捷开发优点和缺点

    敏捷注重市场快速反应能力,也即具体应对能力,客户前期满意度高。但是敏捷注重人员的沟通,忽略文档的重要性,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。需要项目中存在经验较强的人,要不大项目中容易遇到瓶颈问题。对此我们将在文章中给大家进行详细解读。 一、敏捷开发技术…

    2022年3月18日
    1.2K00
  • PingCode怎样做敏捷开发项目管理

    PingCode做敏捷开发项目管理中,有一款专门为目标管理服务的子产品(Goals),它能够帮助项目团队进行目标管理,具体介绍如下:建立上下同欲的目标感:基于公开透明、层层对齐的团队目标和个人目标,每个成员都有机会融入进企业的整体战略中,提升成员的内驱力。 《第十五次敏捷状态报告》显示:自疫情发生以…

    2023年2月2日
    92600
  • 敏捷宣言是什么

    敏捷宣言的诞生  2001年2月11日至13日,在犹他州瓦萨奇山的雪鸟(Snowbird)滑雪胜地洛奇酒店,17位软件开发领域的领军人物聚在一起聊天、滑雪、放松、并试图找到共同点 。 参与者们分享了互相竞争的几种方式:极限编程(XP);透明化;自适应软件开发(ASD);特征驱动开发(FDD);动态…

    2022年3月14日
    54100
  • 如何建立自己的看板系统

    实践者们经常问的一个问题是“如果每块可视板和看板系统都是独一无二的,那么我该如何设计自己的系统呢?” 用系统思考的方式引入看板(STATIK)是一种可重复、人性化的方法,它已经在实践中应用了无数次。应该将STATIK方法应用于每一类服务,来设计一个完整的看板系统。在整个过程中要运用系统思考,系统作为…

    2022年6月13日
    87700
  • ProductBacklog(产品待办列表)是什么

    产品待办列表(Product Backlog)指的是敏捷开发框架Scrum模式核心工件之一。 产品待办列表是永远不会完成的,它是产品所有已知需求的优先级排序表,为了确保产品是有用的、有竞争力的,列表会不断地变化和调整。 ​例如当市场提供了一些反馈,需求可能会变得更详细,PO就需要根据业务需要、市场环…

    2022年6月13日
    62600
  • Sprint 计划会怎么开?

    计划会议是敏捷开发主流框架Scrum的四个重点会议之一,计划会议的主要目的是为产品代办列表的目标完成制定一个可行的计划。 我们设计Sprint这个时间盒,是为了实现产品待办列表的目标,所以每个sprint都可以看作一个项目。 Sprint计划会议的主要目的是,为了完成产品待办列表的目标,需要设计一个…

    2022年6月13日
    49400
  • Sprint Backblog是什么

    Sprint Backblog 是团队当前Sprint的任务清单。和产品列表不一样,Sprint Backblog的寿命是有限的,仅在一个Sprint的时间里存活。 Sprint Backblog内容是什么 它里面包含所有团队已承诺的故事以及相关联的任务,以及此外的附加工作,例如,在回顾会议中所发现…

    2022年6月13日
    45200
  • 瀑布开发与敏捷开发的区别

    瀑布和敏捷都不是什么新概念,关于敏捷开发与瀑布开发的优势与缺点都已经比较明确,这里根据一些平台的资料给大家做一些整理和总结。  一、瀑布开发 瀑布模型 式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档…

    2022年3月14日
    74700
  • 敏捷开发是怎么进行工时管理的

    敏捷开发通过跟踪工时的分布,进行自动化的工时分布统计,进行工时估算,并且以项目为核算单位,统计和分析项目或员工的工时及人力成本,帮助团队成员有意识地减少时间浪费,提升效率,增进团队协作与沟通,传递隐藏信息,提高对项目中的各项风险认识,降低不确定性,实现成本管控,并进一步减少风险。 工时的管理对于知识…

    2022年3月18日
    82300
  • 敏捷团队优异人数规模是多少

    通常而言,敏捷开发单团队的规模人数以5-9人比较理想。在传统软件开发方法里,定义了不同的工作类型:软件主任工程师、程序员、测试工程师、UI工程师、数据库管理员。但是,在 Scrum 里面定义了“开发团队”的角色,这个角色是所有这些工作类型的集合。 通常而言,敏捷开发单团队的规模人数以5-9人比较理想…

    2023年2月2日
    66700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部