瀑布式开发与敏捷开发的区别是什么

瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。我们将在文章中详细说明两者各自的适合场景。

瀑布式开发与敏捷开发的区别是什么

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

一、瀑布开发

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

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

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

瀑布开发大体分为这几个阶段:需求分析、设计、编码、测试、维护。

目前来说2B的传统企业,包括ERP,MES,WMS,CRM,OA,IBMS等系统当中可以经常见到他们的影子。现在这种模式仍然流行在一些大的项目或者是外包的一些项目当中。

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

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

而其缺点也突出:

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

二、敏捷软件开发

敏捷软件开发是基于敏捷宣言定义的价值观和原则的一系列方法和实践的总称。自组织、跨职能团队运用适合他们自身环境的实践进行演进得出解决方案。

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发

在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

敏捷开发借助互联网浪潮开始流行起来,相比瀑布模式,敏捷无疑更加贴近互联网时代背景下快速发展变化的市场环境以及业务需求。

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

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

缺点:

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

从上文来看,敏捷开发似乎要优于瀑布开发,但本质并非如此。

两者都有自己适用的范围,而当下这VUCA时代,大部分项目可能都适合用敏捷开发,但仍旧有一部分确定性很强的项目会适合适用瀑布开发。

最后给想转型敏捷开发的同学推荐一款敏捷管理软件PingCode,在一定程度上能够帮助更好的学习敏捷,以及管理团队、项目等。

文章标题:瀑布式开发与敏捷开发的区别是什么,发布者:刘佳,转载请注明出处:https://worktile.com/kb/p/6239

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
刘佳刘佳认证作者
上一篇 2022年3月18日 下午5:35
下一篇 2022年3月18日 下午5:50

相关推荐

  • Scrum 的5个价值观

    Scrum 的成功应用取决于人们变得更为精通践行五项价值观:勇气,专注,承诺,尊重和开放。 了解自组织首先要了解这些价值观是如何融入您的项目团队中。 勇气: scrum团队成员有勇气去做正确的事情并解决棘手的问题。 给予团队信心,允许团队出错并从错误中汲取教训。一个恐惧失败的团队,其创新能力也会大打…

    2022年6月13日
    85301
  • 增量(Increment)是什么

    增量(Increment) 增量(Increment)是Sprint期间完成的所有Product Backlog项目的总和,以及所有先前Sprint的增量值。 在Sprint结束时,新增量必须是“完成”,这意味着它必须处于可用状态并符合Scrum团队对“完成”的定义。增量是一个可检查的“完成”工作,…

    2022年6月13日
    70700
  • 什么是看板(Kanban)

    也许最简单的说法是:通过看板,你可以管理工作。它是一种管理各类专业服务,也称为知识型工作的方法。使用看板方法意味着应用一种整体的思维方式来考虑你的服务,关注从客户的角度来改善服务。 通过看板方法,你可以将不可见的知识型工作以及它如何在工作流中的流动可视化。这有助于你有效地运营业务,包括理解和管理向客…

    2022年6月13日
    97400
  • 看板和Scrum的区别有哪些

    虽然看板也能应用于敏捷开发领域,但看板并不像大家所认为的那样是一种敏捷框架。事实上,看板不是一种方法论,也不是一个流程框架,而是一种能应用于现有流程或工作方式的管理方法或途径。但本质上无论是看板还是Scrum都将帮助团队以更高的效率构建更好的产品和服务。 一、敏捷简介 敏捷是一种结构化的迭代方法,多…

    2023年2月2日
    38700
  • 都有哪些好用的Scrum管理工具

    一些好用的Scrum管理工具有:1、PingCode -专业的敏捷项目管理;2、ActiveCollab-软件项目管理;3、easyBacklog-Scrum工具;4、Infinity-新兴的Scrum工具等。其中,PingCode 可能是国内专业的的一款敏捷 Scrum 管理软件。 根据国外机构 …

    2022年6月13日
    72500
  • 好用的Scrum管理工具有哪些

    一些好用的Scrum管理工具有:1、PingCode -专业的敏捷项目管理;2、ActiveCollab-软件项目管理;3、easyBacklog-Scrum工具;4、Infinity-新兴的Scrum工具等。其中,PingCode 可能是国内专业的的一款敏捷 Scrum 管理软件。 根据国外机构 …

    2023年2月2日
    46400
  • 什么是敏捷开发

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。关于敏捷开发我们将在文章中给大家进行详细解读。 什么是敏捷开发 捷开发(Agile)是一种以人为核心、迭代、循序渐…

    2022年3月18日
    48900
  • 瀑布开发模式优缺点

    瀑布开发模式的优点在于它为项目提供了按阶段划分的检查点,在当前阶段完成之后,您只需要去关注后续阶段,同时它还可以在迭代模型中应用瀑布模型。瀑布开发模式缺点在于在项目各个阶段之间极少有反馈,只有在项目生命周期的后期才能看到结果,并且要通过过多的强制完成日期和里程碑来跟踪各个项目阶段。 一、 瀑布开发模…

    2022年3月18日
    1.8K00
  • 敏捷团队优异人数规模是什么

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

    2022年6月13日
    69200
  • Scrum和敏捷开发的区别是什么

    人们通常认为 Scrum 和敏捷开发是同一回事,但两者其实是有区别的,Scrum 是完成工作的一种框架,敏捷开发一种思维模式。所以仅凭 Scrum 团队是无法真正“敏捷化”的。 人们通常认为 Scrum 和敏捷开发是同一回事,因为 Scrum 关注持续改进,而这是敏捷开发的核心原则。但是,Scrum…

    2022年3月18日
    72900

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部