敏捷流程破解瀑布式流程

下面就让我们来看看敏捷流程如何将瀑布式流程的问题逐一破解:

  ● 瀑布式流程问题之一:

  版本发布的时间越来越长。在敏捷流程中,版本是由一系列增量集成在一起组成的,这些增量通过一个一个迭代按顺序开发。我们还可以在任意时间停止迭代。一旦发现产品的价值已经达到最大,尤其是发现软件里过半的功能很少被使用的时候,就可以停止迭代。我们还可以在到达交付期限或者预算上限的时候,停止迭代并发布软件。我们只会开发并积累有价值的增量。

  ● 瀑布式流程问题之二:

  无法按时发布。在敏捷流程中,版本的发布延迟最多不会超过30天,因为每个迭代的最长期限就只有30天。当到达交付期限的时候,就可以交付累积的增量。由于不会在迭代中开发低价值的功能,因此可以比以往更早地发布完整的系统。在传统开发流程中,常用功能占所有功能总数的不到一半。而在敏捷流程中,我们根本不会在不常用的功能上浪费时间。

  ● 瀑布式流程问题之三:

  在版本发布的最后阶段让软件稳定的时间越来越长。在敏捷流程中,每个迭代所产生的增量都是完整和可用的,后续迭代所产生的增量都会包含之前所有迭代产生的增量,因此任何迭代产生的增量都是完成且可用的。也就是说,没有软件稳定化时期,因为软件一直保持稳定。

  ● 瀑布式流程问题之四:

  做计划的时间越来越长,而且不准确。在敏捷流程中我们不再做大而全的计划,而只是设定最终目标,然后确定为了达到该目标所需的高价值功能和特性,同时还会确定交付日期以及估算成本。这样在第一个迭代开始前做计划所需的时间通常只有瀑布式或预测型流程的20%。我们只会为即将到来的迭代的需求做详细的计划,因此我们把每个迭代的计划称为“及时雨计划”。另外值得注意的是,需求是涌现的,在评审迭代产生的软件增量的时候,我们可能会发现下一个迭代需要实现的最佳需求。

  ● 瀑布式流程问题之五:

  在发布期间很难进行改变。版本发布中期的概念在迭代增量式项目中已经不复存在了。我们能够以最小的代价,在每个迭代开始前发现或者提出需求。

  ● 瀑布式流程问题之六:

  质量持续恶化。在敏捷流程中,每个迭代产生的增量都是完整可用的。因此,增量必然已经通过质量测试。而后续迭代产生的增量同样要满足相同的质量要求,也就是说我们再也不必在项目的最后阶段为了赶上交付期限而牺牲质量,因为质量始终伴随着这个软件的整个开发过程。

  ● 瀑布式流程问题之七:

  拼命竞赛进度使员工士气受挫。版本稳定化阶段已经不再需要了,因此加班的“死亡之旅”也随之而去。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-25 16:07:20

敏捷流程破解瀑布式流程的相关文章

转载:敏捷的软件开发流程

速度是企业竞争致胜的关键因素,软件项目的最大挑战在于一方面要应付变动中的需求,一方面要在紧缩的时程内完成项目,所以软件团队除了在技术上必须日益精进,更需要运用有效的开发流程,以确保团队能够发挥综效.这正是 Agile Process (敏捷的软件开发流程) 于近年来兴起的主要原因,本文将介绍数种广为接受的软件开发流程,及其在运用上的建议. Agile Process - 敏捷的开发流程 几乎所有的软件项目都会在起始阶段面临选择开发流程的困难,一种是完备的开发流程,另一种是简易轻便的流程.虽然我们

B2C网站设计:用户注册登录流程和购买流程设计

网络购物网站根据买家和卖家的不同形态,主要分为三类商业模式:B2B  B2C  C2C ,这三种商业模式在传统的线下也有相对应的典型形态:  B2B 对应专业的批发市场  B2C 对应购物超市  C2C对应个体摊位组成的市场.所以说网络购物网站并不是完全意义上模式创新,它只是利用了新的媒介和新的平台来承载卖家和买家的商业活动,因此其网络购物购物流程和传统的是一样的,还是有借鉴意义的. 我们可以画出下面这个用户网络购物的基本流程图 这几个步骤是用户网络购物的基础环节,每个网站根据不同的需要增加相应

java-设计一个 流程执行器,流程需要任意步数,如果中间有任意要出错的,都要回滚?,如何理解设计?

问题描述 设计一个 流程执行器,流程需要任意步数,如果中间有任意要出错的,都要回滚?,如何理解设计? 面试java研发工程师时,面试馆提出来的,需要编码实现!我当时的理解是:1.按照题目中说的流程执行器是,我理解是一个抽象出来,通用的执行器,那么就需要对流程一开始方法的入参还有流程中存在调用的全局变量都需要回退,这样的理解我一时想不出来解决方案,2.如果是工作流模型的我认为建立节点,节点里是 操作对象(也就是方法),数据对象,状态,然后就想使用链表(工作流程)中存储一个操作节点,上一节点操作和下

通过ViewController的关键流程来理解流程建模

在最近解决某个问题的时候,发现在ViewDidDisappear中去获取self.navigationController为空.猛然间意识到,原来在VC的生命周期中存在一些细节问题需要注意.而且,最近一段时间,对基于流程(生命周期是特殊的流程)建模的编程思想也开始有些反思.所以就总结了一下VC生命周期的一些问题. 先说点比较抽象的东西,关于流程建模的.对于同一个对象而言,往往在不同的业务场景中其有不一样的流程.换句话说,对于一个对象而言其可能出在多个流程中.比如我们拿一个VC来说: 每一个OC的

link环境下制作一款《订餐软件》,复单走流程的同时允许不走流程,不走流程的怎么并单?

问题描述 link环境下制作一款<订餐软件>,复单走流程的同时允许不走流程,不走流程的怎么并单? link环境下制作一款<订餐软件>,复单走流程的同时允许不走流程,不走流程的怎么并单? 解决方案 无非就是你的程序中开两个数据库连接,然后执行相同的两次插入动作.

互联网企业安全高级指南3.10 流程与“反流程”

3.10 流程与"反流程" 1. 人的问题 在传统安全领域一直是强调流程的,但是互联网行业有一点反流程,甚至像Facebook这样的公司还表示除非万不得已否则不会新建一条流程来解决问题.那安全建设到底要不要流程.首先有流程肯定能解决问题,但流程化是不是最佳实践则不确定. 于是先解决第一个问题:有没有可能没有流程,什么情况下可能很少或接近于没有流程.假如公司的人很少,从工位上站起来就能看到全公司的人,要发布版本吼一嗓子全员都能听到,这种情况下确实不需要什么流程,不只是安全流程,其他的流程

基于开发流程的软件测试流程管理

0.引言 随着软件行业的发展.软件产品已经影响到我们社会的诸多领域,人们对软件作用的期望值也越来越高,对软件质量重要性的认识也逐渐增强. 然而,软件缺陷(bug)是伴随软件产品开发过程而产生的敷衍品,采用新的技术和方法,也不能完全消灭软件缺陷.因此,在软件开发过程中尽早地引入软件测试技术来保证软件质量,降低软件缺陷率,已经得到软件业的认可.软件开发过程中的每-个阶段都会有相应的文档和产品产生,对这些文档和产品进行严格评审和测试,可以尽早发现问题.及时找出与需求分析和项目计划中的不符合项.对软件的

php+ajax发起流程和审核流程(以请假为例)

上一篇随笔中已经提到如何新建流程,那么现在我们就来看一下如何发起一个流程和审核流程~~~ 先说一下思路: (1)登录用session获取到用户的id (2) 用户发起一个流程 注意:需要写申请事由 (3)处于节点的审核人去依次审核 注意:每审核通过一个,对应towhere字段要加1: 审核到最后时,对应的isok字段要变为1(此处1表示结束,0表示未结束) 共用到三张表: 第一步:先做一个简单的登录页面,用session获取用户名: denglu.php页面 <!DOCTYPE html> &

Android 一个抽奖应用的逆向破解全流程之加固自己应用

转自: <a href="http://www.pedant.cn/2014/07/22/crack-a-draw-app/">http://www.pedant.cn/2014/07/22/crack-a-draw-app/</a> 东窗事发 偶然见到一个应用内有抽奖的活动(应用具体名称就不便告知),而且是每天都可以抽.同时抽奖之前也不需要用户登录什么的,但限定了用户一天(自然天)只能抽奖一次.那么应用的服务端在用户没有登录的情况下是依据什么来判定当前用户今天