什么是瀑布开发?适用于哪些场景?有哪些瀑布开发管理系统?

本文以瀑布模型的特点,优缺点,适用场景为前提,介绍了两款支持瀑布开发模式的项目管理系统:PingCode和Jira。

瀑布模型产生的背景是复杂的,多方面的,也是必然的。

一是 1968 年软件危机爆发,需要标准化系统化规范化的软件开发方法来辅助危机的解决;

二是硬件的快速发展催生了新的高级语言,软件的数量和规模急剧增长,软件的交付、协作与管理滞后被视为软件失败的主要帮凶;

三是软件规模化和工程化过程中,存在以下几个问题:

  • 缺少规划和设计环节,软件的结构随着软件规模的膨胀变得无法维护,软件开发通常处于失控的情况下运行;
  • 忽视需求的重要性,缺少有效的过程管理和资产沉淀,导致软件开发混乱无序;
  • 没有考虑软件的可测试性和可维护性,缺乏文档等关键过程活动资产,导致软件的交付失败率居高不下。

在这种背景下,亟需一个系统化的、规范的、顺序的软件开发流程来保障软件交过过程的协同与管理,确保软件交付的成功率,瀑布模型在这些期望和要求下产生了。

瀑布模型(Waterfall Model)是Royce在1970年提出的,他把大型软件开发分为:分析与编程,象工厂流水线一样把软件开发过程分成各种工序,并且每个工序可以根据软件产品的规模、参与人员的多少进一步细分成更细的工序。

该模型非常符合软件工程学的分层设计思路,所以成为软件开发企业使用非常多的开发模型。

image.png

一、瀑布模型的特点:


(1) 严格把软件项目的开发分隔成各个开发阶段:需求分析,要件定义,基本设计,详细设计,编码,单体测试,结合测试,系统测试等。

(2) 使用里程碑的方式,严格定义了各开发阶段的输入和输出。如果达不到要求的输出,下一阶段的工作就不展开。

(3)重视和强调过程文档,在开发的中后期才会看到软件原型,早期只能通过文档来了解系统的模样。在这种情况下,文档的重要性仿佛已经超过了代码的重要性。

(4)瀑布模型把每个开发阶段都定义为黑盒,希望每个阶段的人员只关心自己阶段的工作,不需要关注其他阶段的工作。

(5)瀑布模型产生的管理文档(计划书,进度表)等,能让不太了解该项目的人也能看懂项目的进度情况(只有能看懂百分比就行),很适合向领导汇报用。

(6)所以管理人员比较喜欢瀑布模型的原因是文档可以理解为开发的速度,可以方便地界定不同阶段的里程碑。瀑布模型的用户很多,也有一些反对的意见:

  • 名列前茅、瀑布模型不适合客户需求不断变化的软件开发,尤其是客户的业务管理的软件,业务随着市场变化,而软件初期的设计可能已经大大变化,而后期的需求更改成本是开始的10倍基数。在ERP盛行的软件市场里,一方面市场带动需求变化,另一方面初期客户对需求描述不清楚,都为瀑布模型的使用团队带来困难。
  • 第二、瀑布模型是一种软件文档的开发,把开发者变成流水线上的机器,大量重复性的工作让编程人员提不起兴趣,工作很枯燥,没有激情,编程成了一种没有创意的机械劳动,这让一向以高科技为标志的高级程序人员大为恼火。

(7)  没有迭代与反馈。瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应,瀑布就意味着没有回头路。

(8)软件生命周期前期造成的Bug的影响比后期的大的多。

(9)代价比较大的主要原因还是每个开发阶段的步子过大,每一次调整都可能直接,某个部分重新来过,框架结构重新搭建等等。

(10)更适合需求相对稳定的大型项目。

二、瀑布开发的优点和不足

瀑布开发的优点:

1.为项目提供了按阶段划分的检查点。

2.当前一阶段完成后,您只需要去关注后续阶段。

3.可在迭代模型中应用瀑布模型。

4.它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。

瀑布开发的缺点:

1.各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。

2.由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。

3.通过过多的强制完成日期和里程碑来跟踪各个项目阶段。

4.瀑布模型的突出缺点是不适应用户需求的变化。

三、瀑布模型适用场景

任何模型都有其优势和不足,也有其适用场景,扬长避短方得始终。
瀑布模型一般适用于以下场景:

1. 需求在规划和设计阶段就已确定,且项目开发周期内需求没有或极少变化,对需求变更进行严格控制,例如航空航天、金融核心系统等;

2. 稳定的低风险项目(对目标、环境非常熟悉),规模小实现简单易受控的项目;

3. 合同式的合作方式,严格按照说明执行,客户需求明确且不参与软件实现过程。

四、支持瀑布开发模式的研发管理系统有哪些?

这里我们主要介绍两款知名工具 PingCode 和 Jira。

1、PingCode

PingCode 是国内的一款研发项目管理工具,同时支持瀑布开发与敏捷开发模式,曾在2021年36氪发布的中国企服软件金榜-研发项目管理榜前二

image.png

产品能力介绍:PingCode 具备八大子产品,覆盖从客户反馈、规划、开发、编码、构建、测试到发布上线等研发管理全流程管理:

  • Ship(产品管理):提供工单收集、需求池管理、需求评审、产品路线图等能力,打通客户、业务团队和产研团队之间的协作,帮助团队规划产品路线;
  • Project(项目管理):支持敏捷开发、瀑布开发、Kanban等国内主流研发管理模式,以及规模化敏捷(SAFe)、项目集等的管理,规范团队的协作流程;
  • Testhub(测试管理):提供用例维护、评审,测试计划、自动化测试、测试报告、缺陷提交等能力;
  • Wiki(团队知识库):提供文档协作、结构化团队知识管理等能力,帮助生产和结构化沉淀团队规范、制度、实践经验;
  • Goals(目标管理):提供战略目标、团队目标、个人目标管理,让所有项目都聚焦于共同的目标,并在更高视野上及时了解企业目标进展;
  • Flow(研发自动化管理):提供自动化技术,将重复性和烦闷的手动操作变成自动化执行,让团队专注高价值生产;
  • Insight(效能度量):提供研发效能自动采集等能力,通过数据驱动的方式更加准确地评估和改善研发效能;
  • Access(目录服务):集成企业级帐号目录和支持单点登录,全局统—安全管控;
  • 应用市场:集成了研发中主流的工具,如Git、Jenkins、gitlab等等,实现了不同工具间的数据打通;能够在飞书、企微等平台使用;

2、Jira

Jira可以适应许多场景,无论是初创公司还是大型企业Jira都能较好的提供服务。Jira支持多种设备并提供灵活的部署方式,可快速完成上线,并允许技术人员或非技术人员进行个性化配置。Atlassian 的这款产品无需使用任何第三方协作软件,其高级的工作流引擎、灵活的数据仪表板带来了极致用户体验。

image.png

简而言之,Jira 提供的能力包括:· 多渠道沟通· 强大的自定义工作流· 无限添加的自定义字段· 缺陷检测及修复· 交互式仪表板· 安全管理· 团队活动报告· 第三方业务系统集成

为什么选择PingCode 而不是Jira?

  • 25人以下免费,收费版价格仅为Jira的30%-40%;
  • 产品开箱即用,简单易上手,不需要像Jira 那样经过好几月的培训,以及专门的系统管理专家配置系统才可使用;
  • 提供专业的敏捷管理咨询以及客户成功服务,Jira在国内无原厂服务;
  • 有国产化需求; 

为什么选择 Jira 而不是 PingCode?

  • PingCode 只有中文版本,且主要面向国内用户;
  • 企业规模在几千人以上,有几百万预算;


推荐阅读:


1、瀑布式开发与敏捷开发的区别是什么: https://worktile.com/blog/know-01/ 

2、国内外主流敏捷开发项目管理工具盘点: https://worktile.com/kb/ask/9349.html 

文章标题:什么是瀑布开发?适用于哪些场景?有哪些瀑布开发管理系统?,发布者:刘佳,转载请注明出处:https://worktile.com/kb/p/9902

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
刘佳刘佳认证作者
上一篇 2022年4月22日 下午1:31
下一篇 2022年4月27日 下午2:51

相关推荐

  • Sprint Backblog是什么

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

    2022年6月13日
    45800
  • 敏捷开发Scrum如何落地实施?敏捷项目管理落地全流程及常用工具

    文章略长,通过本文你将了解以下问题:1、敏捷开发的全流程;2、如何保障敏捷开发的落地;3、敏捷开发的管理和度量;4、敏捷开发管理常用工具等。 随着公司业务的快速发展和团队规模的日益增长,你可能会发现: 业务需求端到端交付周期长,已经无法满足快速响应客户的需求; 团队成员被动性接受任务,自主性和自驱力…

    2022年8月19日
    2.6K00
  • 如何建立自己的看板系统

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

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

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

    2023年2月2日
    53300
  • 瀑布开发与敏捷开发的区别有哪些

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

    2023年2月2日
    54000
  • 敏捷的概念是什么

    敏捷是一种通过创造变化和响应变化在不确定和混乱的环境中取得成功的能力。敏捷软件开发是基于敏捷宣言定义的价值观和原则的一系列方法和实践的总称。自组织、跨职能团队运用适合他们自身环境的实践进行演进得出解决方案。 什么是敏捷(Agile)? 敏捷是一种通过创造变化和响应变化在不确定和混乱的环境中取得成功的…

    2023年2月2日
    69500
  • PingCode怎样做敏捷开发项目管理

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

    2023年2月2日
    94300
  • 怎么开Sprint 计划会

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

    2023年2月2日
    45000
  • 什么是敏捷开发的框架

    敏捷开发(Scrum)的框架构成:3个角色(产品负责人、Scrummaster、开发团队);工件(Product Backlog、Sprint Backlog、增量);仪式(需求梳理会、Sprint计划会、每日站会、评审会、需求回顾会)。 一、什么是Scrum Scrum 是一个团队集体工作的框架。…

    2022年3月18日
    64100
  • 都有哪些好用的Scrum管理工具

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

    2022年6月13日
    84100

发表回复

登录后才能评论

评论列表(1条)

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部