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

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

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年3月18日 下午6:10
下一篇 2022年6月13日 下午10:45

相关推荐

  • 什么是敏捷开发

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

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

    本文将盘点国内外使用最为广泛的14个Scrum管理工具。 根据国外机构 Digital.ai 2021年发布的《第十五次敏捷状态报告》显示:自疫情发生以来,采用敏捷的软件开发团队有显著增长,从2020年的37%增加到了2021年的84%。 除此以外,从敏捷状态调查的早期开始,工具支持一直是决定敏捷成…

    2022年6月13日
    11000
  • Scrum实施过程:10大步骤5大常用辅助工具整理

    企业实施Scrum有许多不同的方式。幸运的是,通过研究已经完成Scrum如何成功转型的一些通用模式和步骤。本文除了讨论Scrum实施的10大步骤,还将整理国内外常见的5大顶级Scrum辅助管理工具。 一、敏捷 Scrum 实施的10个流程步骤 1、确定产品负责人(Product Owner); 2、…

    2022年9月8日
    6000
  • Sprint 回顾会目的是什么,怎么开

    回顾会议发生在评审会议之后,下一个Sprint计划会议之前。 Sprint回顾会时间长度 回顾会议的时间盒,以一个月的Sprint来说,回顾会议不超过3小时,半个月的Sprint,回顾会议不超过1.5小时。 Sprint回顾会的主要目的 回顾会议由Scrum团队检视自身在过去的Sprint的表现,包…

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

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

    2022年6月13日
    2400
  • Scrum 的5个价值观

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

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

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

    2022年8月19日
    12000
  • 每日站会怎么开

    每日站会的目的是通过对比前次每日站会后的工作,也就是过去24小时所完成的工作,检视Sprint目标的完成度,并规划未来24小时的工作,通过每天这样快速反馈的循环,优化团队协调合作和表现。 每日站会是针对开发团队的活动,由开发团队负责召开,算是开发团队的内部会议,PO和SM可以选择性参与,但不能打扰到…

    2022年6月13日
    4100
  • 敏捷开发模式与瀑布开发模式对比

    敏捷开发,是一种应对快速变化的需求的一种软件开发能力。瀑布模型是一种老旧的计算机软件开发方法,采用最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。对此我们将在文章中给大家进行详细解读。 瀑布模型 瀑布模型是由W.W.Royce在1970年最初提出的软件开…

    2022年3月18日
    14200
  • Scrum和敏捷开发的区别是什么

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

    2022年3月18日
    18100

发表回复

登录后才能评论
联系我们
关注微信
关注微信
分享本页
返回顶部