Rational Unified Proccess (RUP) 的衍生。而 Waterfall 执行的时候,也不全是犹如瀑布,那么死硬的一条线地一泻而下不可回返,所以就有了个变种 Spiral - 螺旋体 (我自己的话)。而产生螺旋体的动机,催生了 RUP,并由此推动及成熟了 Agile 的说法。
Agile 和 Waterfall 之间,没有什么谁好谁不好的问题。
Waterfall 是最早的软件开发的管理方法;后来硬件及操作系统各方面的提高加速,Waterfall 不再适应新形势下的开发管理,就有很多五花八门的说法或方法产生了。但基本都保留了 waterfall 的系列流程,因为那是开发软件必须要经过的共性流程,只是周期缩短了或各个流程部分,更为灵活地被布置和重复执行直至新系统付合要求的完善而已。
新形势下 Waterfall 的致命不适应缺点就是一旦启动,要修改或落实客户新要求,很麻烦也会影响预定交贸日期,因为流程是一步紧挨一步的。等到分析设计流程完事刚开始写 code,形势变了,再回头分析设计如此几次一搞,整个系统的落实投产,就成了猴年马月的事情了。
RUP 和 Agile 或多或少解决了 waterfall 所面临的这些问题。再之后,五花八门的就来了,比如 XP - extreme programming 等等,再加些怪异的说法,比如 Scrum 或 Scrum Master 什么的。
XP 和 Scrum 也分别是 Agile 的另类变种。它们都离不了 RUP 提倡的 iteration 的周期方式,即短周期性地重复软件开发的基本流程,把大的系统分成相对独立的小部分来单独完成并投产。就这样一个接一个并非一条线地分析设计落实并投产从而构成最初确定所需要的大系统。
简单地说,就这么回事。
钦此!