敏捷开发_全面解析瀑布式开发和敏捷式开发

​​很多人毕业后,都在从事跟所学专业不同的工作,有的人一筹莫展,有的人习以为常。

我是一名编导生,毕业后去做抗战纪录片,工作中接触更多的是历史、影像与表达。但一个偶然的契机,让我转战 向 互联网产品行业,工作中对接的是产品经理、开发和测试,用户画像、CDN 、 UV 、 PV 等一大堆新概念也扑面而来。

后来又从产品逐渐深入到软件行业,有朋友认为这是新世界的大门;也有朋友觉得这是当下社会的缩影,各行各业的发展牵动着人性的各种追求与欲望,毕竟人们总想要追求新事物。于我而言,每天推陈出新,不断收获,享受当下就好,然而,接纳新事物其实没那么简单。

最开始接触软件行业,最常听到的就是瀑布式开发、敏捷开发,于是心里就有了疑问,我翻阅了各大网站查找相关的资料,去B 站上观看图文结合的相关视频, 结合自己的理解,以刚入行的视角现给大家整理了一份有关敏捷式开发与瀑布式开发的概念解析。

参考资料推荐: 禅道官网、 CSDN博客、 B站视频

一、什么是瀑布式开发

瀑布式开发的基本流程是 需求 设计 开发 测试 , 是一个更倾向于严格控制的管理模式 。 要求有明确的需求,大家按照需求一步步做好规划,每一阶段工作的完成是下一阶段工作开始的前提,每一阶段都要进行严格的评审,保证各阶段的工作做得足够好时才允许进入下一阶段。这种模式一般适用于需求比较明确、to B 端的项目。

28715ab5c07bd4d48fab47b7a033e130.png

不得不说瀑布项目失败率会比较高,因为它有一个很大的缺陷, 就是受各种条件的制约。当产品研发完成后, 到了产品测试阶段 万一发现问题 ,或者发现其无法满足市场需求, 那么就需要重新开发,甚至需要重新规划产品,这 间接导致了产品延期发布的高发性 与不确定性。

微软 的瀑布式开发模式就是个很好的例子。随着用户对软件的需求越来越苛刻,微软的软件产品曾经遭受了大家的不满,原因并非是产品的使用问题,而是其更新周期太过漫长 。

比如微软Office 、 Windows 等主打产品的更新周期长达 3 年左右,软件延期发布实属家常便饭,此时微软的瀑布式开发模式已经难以满足新型软件的开发要求,不得不改变产品的研发策略。

a3ed39e6e4c715c48b7d7512d9b2f1dc.png

随着网络的逐渐兴起,软件交付模式发生了巨大变化,也正是在 那 个时候,“敏捷开发”模式被国外的软件先行者们探索出来了。

二、什么是敏捷式开发

简单的说,敏捷开发是一种以用户需求进化为核心、迭代、循序渐进的开发方法。首先把 用户(客户 )最关注的软件原型做出来,交付或上线,在实际场景中去 快速 修改弥补需求中的不足,再次发布版本。通过一些敏捷实践方式,细化story ,提供更小的迭代。如此循环,直到用户(客户)满意。适用于需求不明确、创新性或者需要抢占市场的项目。

还是拿微软来说,微软的Visual Studio 2010是公司内部首个因敏捷开发模式而受益的Visual Studio版本,该软件发布于2010年4月,耗费了两年的时间完成开发,但随后研发团队发现软件中的许多模板对于敏捷开发者来说太过笼统,几乎没有太大的实际意义,微软的软件研发策略也就从此开始发生了巨大变化。以往的产品更新周期为两到三年,目前的版本更新速度已经缩短至一个季度左右,这在瀑布式开发模式下是难以想象的。

cbdb77e2202651d4268f95333be7c7a0.png

敏捷式开发在 国外大放异彩, 当然在国内也不例外,国内很多研发者们结合 当下软件市场环境,也有了新的研发策略。

国产开源的禅道项目管理软件,2009 年开始 遵循Scrum ( 敏捷式开发中比较流行的一种方式)的管理思想,发布了第一个 产品版本 。自发布以来,禅道曾数次 打败JIRA 及其他强有力的竞品, 连续四年荣膺国内外软件测试行业最常用测试管理工具第一名 ,也算是国产软件 的骄傲了。

3b5f2fdda116918bbd71694caee4c654.png

在产品开发过程中, 禅道 研发团队认为Scrum方法 虽然 注重实效,操作性强,非常适合软件研发项目的快速迭代开发 , 但它只规定了核心的管理框架,还有很多细节流程没有完善。于是禅道团队结合国内研发现状,整合了bug管理、测试用例管理、发布管理、文档管理等功能,完整的覆盖了软件研发项目的整个流程。

在禅道软件中,明确将产品、项目、测试三者概念区分开,产品人员、开发团队、测试人员,三者分立,互相配合,又互相制约,通过需求、任务、bug来进行交相互动,终通过项目拿到合格的产品,是敏捷式开发的优秀案例。

a4e1ebbab044a328791fdee3cd60373d.png
(禅道软件界面图)

三、瀑布式开发与敏捷式开发对比

92f1e880ad22fa3051cfec83337859a5.png

很显然,敏捷式开发与瀑布式开发有着质的区别,但总的来说,在管理项目过程中,都不会严格的按照完全的敏捷或者完全的瀑布模式进行开发,而是各自掺杂了其他的方式。

可见,项目管理过程中,过于强调模式并没有意义,重要的是要能预防问题的发生,在问题发生之后,能用最小的成本解决,模式起到的更多是一个参考作用。

接受新事物的过程虽说不易,但每天有所收获是件多么幸运的事儿啊。但愿不论何时的我们,都拥有一颗拥抱新事物的心,对这个世界永远保持好奇,这样我们就不会变老吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值