瀑布与敏捷的优劣

在聊敏捷式开发前,我们先了解一下传统的瀑布开发模式。

瀑布式开发:引自 1970 年的 IEEE 论文 "Managing the Development of Large Software Systems",以我们现在的思维方式来看,它是严谨的,但同时他也是老旧的。就好像你的祖父辈用他们的思维来对现在的00后说教,道理是正确的,但已经跟不上时代的发展,00后也不会愿意完全按照他们的方式生活。同样的,在如今这高速发展的信息时代,更快的反应速度,更及时的处理方案,才能更好地服务当下飞驰的生活节奏。

同时,在瀑布式的开发模式中,用户除了提出需求和掏开发费用外,基本是参与不到开发中来的,就像一个自助榨汁机,你把你想喝的果汁和费用投入到机器中,但是完成这些后,你就没有了变更需求的权利,这对于吃个饭都能纠结半天的我们来说是极其糟糕的消费体验。所以老旧的瀑布式开发,好像不太能跟的上时代的步伐了。

在这种情况下,敏捷式开发应运而生。

那么什么是敏捷开发呢:“敏捷”(Agile)代表的是一种方法,是在“以人为核心驱动”(Human-Driven)的“复杂系统”(Complex System)背景下,一个具有适应性的“经验性过程控制方法”(Adaptive Empirical Process Control)。知乎上的这个说法初读起来有些抽象,实际上很好理解,重点在“人”,它围绕着“人”,注重与人的交互,以循序渐进的方式来进行软件的开发。

举个例子:现在市面上最火的游戏,“王者荣耀”和“吃鸡”他们的开发也不是一步到位的,王者荣耀从最初的21个英雄,到现在的73个英雄,“吃鸡”的一幅地图到现在的四幅地图,不都是敏捷开发的例子吗?先满足用户最基本的游戏体验,抢先占领市场,在后期,开发团队通过市场反馈,再用迭代式的方法在用户可接受范围内持续开发游戏。这不就是典型的敏捷式开发吗?

或许在严谨性上,敏捷式开发比不上瀑布式,但在当前这个时代,敏捷式开发无疑是最合适的,再好的产品跟不上市场走向也是白搭。

猜你喜欢

转载自blog.csdn.net/an_ostrich/article/details/88027171