欢迎回家
我们一直在改变

对敏捷开发的理解

什么是敏捷开发

一、概念

    简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方式。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
    换言之,就是把一个大项目分为多个相互联系,但也可以独立运行的小项目,并分别完成,在此过程中软件一直处于可用状态。

敏捷开发最大的特色就是迭代式开发

二、优势

敏捷开发属于增量式开发,对于需求范围不明确,需求变更较多的项目而言,可用很大程度上响应及拥抱变化。
对于互联网产品而言,市场风向转变很快,需要一种及时快速的交付方式,而敏捷开发则能更好地适用于此。
敏捷开发科最大程度的体现 80 / 20 法则的价值,通过增量迭代,每次都优先交付那能产生 80% 价值效益的 20% 的功能。能最大化单位成本收益。

三、误区

四、特点

五、核心原则

六、敏捷开发与瀑布模型开发的区别
敏捷开发:

客户到餐厅点菜(新项目)
不确定客户想吃什么的时候,通常选好餐厅后先看看餐厅的菜单(客户往往提不出具体的需求)
根据图文菜单,客人点了个菜(根据原型和设计稿,基本确定了需求)
后厨开始准备(项目启动)
配菜、炒菜,先上了两盘,让客户尝了尝味道(先提供可用实例给客户用)
客户觉得还不错,后厨继续准备后面的菜。陆续上菜(不断迭代,不断测试)
上菜过程中,客人突然发现有个菜味道太淡了,让后厨加了点盐又端了上来(敏捷开发的好处,可用不断测试和需求变更)
又上了两盘,不够辣,又拿到后厨加了辣(敏捷的坏处,需求没有提前明确,反复迭代,增加了工作量)
到最后两盘时,客户要求换两个菜,还没炒好(迭代的好处,随时接受需求变更)
客户吃完,很满意(基本满足了全部要求)

瀑布模型开发:

客户到餐厅来点菜(新项目)
不确定客户想吃什么的时候,通常选好餐厅之后看餐厅的菜单(客户往往提不出具体的需求)
根据图文菜单,客户点了十个菜(根据原型和设计稿,基本确定了需求)
后厨开始准备(项目启动)
根据客户的下单配菜,炒菜(基本上不会主动去了解完整需求)
半个小时了,菜还没上,客户饿极了(项目启动后很长一段时间客户什么都看不到)
再过了二十分钟,十个菜都一起上来了(项目最终一次交付)
客户说,有几个菜挺好的,但是有个菜味道淡了,有两个不够辣,还有两盘重复了想换掉(我是买单的,我要变需求)
这时,大堂经理来了,说味道淡了可以加盐,不辣可以加辣,但是换菜不行(瀑布模型的坏处,需求变更比较麻烦)
于是,后厨只给客户加了盐,加了辣
客人吃完,不是很满意,下次不来了(没有满足需求)

七、总结

总的来说,在现在管理项目过程中,并没有严格的按照完全的敏捷或者完全的瀑布模型,都是各自掺杂了其他的方式。在实际项目过程中,过于强调模式并没有意义,重要的是能不能预防问题的发生,在问题发生之后能不能用最小的成本解决,模式更多的起一个参考作用

原文链接:https://blog.csdn.net/qq_42539533/article/details/93514126

赞(0)
未经允许不得转载:91coding » 对敏捷开发的理解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

立即登录   注册

91CODING 小白轻松上手,大牛稳健进步

关于我们免责声明