原贴地址:http://www.newsmth.net/bbstcon.php?board=SoftEng&gid=80341
我个人认为:
敏捷名称的提出,是针对过去的重量级软件工程过程来提的,这个名称定义的时候肯定考虑了众多重量级软件工程过程,针对哪一个单独定反面的名称都不合适。而重量级软件工程过程最大的一个要点就是过程化,必须完成什么才能进行下一个阶段或者下一个步骤,即使是迭代模型即如后的各种重量级软件工程过程也是如此,常规观念中认为,工程的各个阶段性和递进行的要求,其中也包括前面曾经有人提到的验收标准等问题对于甲乙方之间的限制和作用。
敏捷提出的一些意愿中,针对重量级过程中的诸如会议、开发流程、迭代、阶段等都有了相对应的策略提出,也就是形成的所谓敏捷开发的二十六条军规。
这里我们不要拿整个项目来进行分析,那样会扩大分析的复杂度。
我们可以用某一个任务的执行过程形态来分析,这时候,就会出现:
需求、设计、编码、测试
需求、测试、设计、编码、测试
原型、设计、编码、测试
原型、测试、编码
……
多种表现形态。
在这诸多的形态中,还可能出现某一个任务到某一个阶段就被停止,以后不再开发,也可能停止一段时间后被重新启动,等等各种现象。
这里我并不是否认瀑布的作用,只是不认为瀑布是万型之模,同样,在2007年底的时候,ivar提出来他的ud是up和xp的基础,因此产生了一次争论,一些业内朋友也和我一样表示了对此的强烈反对——当时都有撰文表达过观点。
第二年ivar就不再提ud了,转而提一个什么概念来着,我一下子想不起来了。