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

本文以瀑布模型的特点,优缺点,适用场景为前提,介绍了两款支持瀑布开发模式的项目管理系统: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

相关推荐

  • PingCode如何进行瀑布式项目管理

    PingCode做瀑布式项目管理包括为了帮助项目团队更清晰完整的收集到需求信息,PingCode为用户提供了覆盖全渠道的收集方式,包括Web Portal、小程序、邮件、Webhook等渠道。项目团队可以根据需求自定义工单页面,以及与需求提交人直接沟通,尽可能的完善需求背景信息。 专业的瀑布项目管理…

    2023年2月2日
    56700
  • 看板方法的定义、原则以及实践分别是什么

    最简单的说法是:通过看板,你可以管理工作。它是一种管理各类专业服务,也称为知识型工作的方法。使用看板方法意味着应用一种整体的思维方式来考虑你的服务,关注从客户的角度来改善服务。 最简单的说法是:通过看板,你可以管理工作。它是一种管理各类专业服务,也称为知识型工作的方法。使用看板方法意味着应用一种整体…

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

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

    2023年2月2日
    39200
  • 增量(Increment)是什么

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

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

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

    2022年3月14日
    62000
  • 如何实施敏捷Scrum

    Scrum实施一些平台较全教程!!! Scrum 作为最流行的敏捷框架,这些年已经得到广泛的流行。但是很多团队在落地Scrum的时候并不总是一帆风顺。 首先Scrum 虽然是不错的方法,但也并不是放之四海皆准,Scrum也有其适用的范围;其次,就算团队非常适合用Scrum 来进行开发,团队在落地的…

    2022年6月13日
    79810
  • Sprint回顾会的目的以及流程分别是什么

    回顾会议的时间盒,以一个月的Sprint来说,回顾会议不超过3小时,半个月的Sprint,回顾会议不超过1.5小时。回顾会议由Scrum团队检视自身在过去的Sprint的表现,包括人 、关系、过程、工具等,思考在下一个Sprint中怎么样可以表现得更好,更高效,怎么样可以和团队合作地更愉快。 回顾会…

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

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

    2022年8月19日
    2.0K00
  • 什么是敏捷开发的框架

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

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

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

    2022年3月18日
    67500

发表回复

登录后才能评论

评论列表(1条)

站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部