JobPlus知识库 互联网 互联网+ 文章
给产品经理讲技术丨你了解敏捷式开发和瀑布式开发吗

最近在后台看到有童鞋留言问到敏捷开发是什么,说到敏捷开发就不得不提一下瀑布式开发,不过谈这个话题前,我想到最近看的一部很热门的电影《疯狂动物城》里面那个叫“闪电”的树懒,没看过这部电影的童鞋也可能看过放出的剧透短片,看着绰号“闪电”的树懒常规速度犹如电影慢镜头一般,真是能把人的汗都急出来(就是下面这货)。

电影的最后,兔子警官奉命去抓飚车党,在红灯路口来了个漂亮急刹车,等到绿灯刚准备加速启动时,一辆横向行驶的车,无视红灯,从兔子警官面前呼啸而过。然而这名飙车党被拦下后,摇下车窗时,着实让人吃了一惊,居然是那个slower than slower的树懒,这货居然有胆在市内飚车,还敢无视红灯,难怪外号叫“闪电”。但是仔细想想,这货应该是动作太慢了,等油门松完,速度估计都飙到200+了。什么还敢闯红灯?这货估计连闯10个路口,脚都还没从油门上挪到刹车上吧...

话说这“闪电”开车的风格蛮像早期瀑布式开发的。人类很喜欢将一个领域的东西做一定的抽象提取后应用到其它领域当中,比如鸟和飞机,鱼和潜艇等等。软件开发也需要一定的流程管理,那时人类在工业流程管理上的经验非常丰富,所以工业管理中的需求分析,工业设计,工序拆分,流水线作业直至成品交付,这一套流程也被用到了软件开发中,管理人员会将初始需求做非常细的工序拆分,划分出不同的开发阶段,不同的阶段通过文档来衔接。这个时候,程序员就彻底沦为软件开发流水线上的工人 了,身为工人,想法不要太多,只需要将那些重复的事情做的足够熟练就可以了。

你可能觉得这个流程听起来不错啊,容我细说。既然叫做瀑布模式,那就是一往直前没有回头路,开始既然把需求都定好了,流水线车间也开始运作了,但是不到后期,客户是看不到产品交付最后的样子的,就是说客户想要生产的是苹果6代,即便最后生产出来的是6袋苹果也得认了。这里不是说瀑布式开发就一定不好,如果需求足够明确,中途也不会产生任何变化,整个开发过程犹如在一马平川的没有红绿灯,没有拐弯的道路上行驶,那瀑布式开发模式也挺好,话说这不就是最适合“闪电”飚车的地方吗?

如果软件开发真能在样的路上跑起来的确实不错,不过我们经常打交道的路是这样的

话说以“闪电”对变化的反应速度能在这样的路上开吗?想在这样的路上开起来,得像兔子警官开车一样敏捷,刹得住车,加得起速,变向灵活。平时那些需求开发真的很难在一条直线上跑,经常是遇到“红灯”停一停,遇到卡位的让一让,左拐右拐S前行。不是我不明白,这世界变化快。

敏捷开发是这个时代的产物,优点就是能够拥抱变化,快速响应。在做需求的路上,我们随时可能遇到红灯,遇到改道,今天客户想要的产品是这样,可能明天有个啥新玩意儿出来,客户一拍脑袋,又要你做成那样了。所以软件开发需要做的就是快速成型,让客户短时间内看到产品的样子,然后通过不断的迭代来逐渐贴近客户的需求,适应客户需求的变化。整个过程中,客户是参与到开发过程中的,至少你把生产的第一个苹果拿给客户看时,客户就能告诉你彼此的理解有偏差,而不是让客户焦虑的在产品流水线那端等待让他泪奔的6袋苹果。

最后还是回到一个中庸的结论上,没有说哪种模式一定好,具体情况具体分析,当然这两种模式也是可以结合使用的。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
279人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序