您的位置:首页 > 其它

你认为Agile为什么会如此受欢迎?

2009-10-27 20:21 609 查看
Agile开发方法论自提出以来受到了广泛的关注,即便是那些曾经一直关注在非light-weight领域的组织如IBM/SEI等。那么为什么会这样呢?我们都知道一切东西的存在都有其合理性。既然如此,Agile的存在自然也有其存在的理由。那么是什么呢?
首先从agile产生的历史背景来看,Agile还没出世的时候,很多人都在讨论软件过程,特别是那么重型的软件开发过程,而这些软件开发过程要么是瀑布型的,要么是瀑布型加上迭代方法论,显而易见这些开发过程不同程度地从瀑布开发过程继承过来。我们知道瀑布开发过程是一个典型的自上而下的开发过程,从它继承的方法论自然也具有这样的特点。但是自上而下的方法论在很多时候和现实并不相协调,而且太多流程化的东西也并不容易被开发人员所接受,当然还有一点那就是这样的开发过程的提出者往往都不是一线的开发人员。总而言之,这些自上而下的开发过程太过官僚化,很不受开发人员的欢迎。
从大多数项目的特点来看,很多项目并不一开始都那么清晰,可以完全划分出来界限比较清晰的模块,相反项目开始的时候往往都是出于混沌的状态。很显然把自上而下的这种方式套用在这样的项目中是很不合适的。所以说很多项目都是通过自下而上的方式来完成的。
Agile的创建者和拥护者很多都是一线的开发人员,他们深深地了解大多数项目的特点,因为他们希望找到一个真正属于开发人员自己的开发过程。于是Agile产生了。Agile在最初的时候也只是提出了一些行动性的纲领和一些最佳实践。慢慢地,慢慢地,有更多的人加入了Agile团队。他们在不断加深认识和深入实践之后,在Agile思想的指导下发明了Scrum/XP等开发方法论,也为Agile增加了更多的最佳实践。简单地说来,Agile派系的方法论强调自下而上地开发软件,强调最佳实践,将开发人员从文档、流程等中解放出来。
通过以上的对比不难知道,Agile开发方法论占尽了天时、人和,与现实、人结合为“一”,我认为这就是它如此受欢迎的缘故。
如果符合事物的发展规律,新的东西总是慢慢地会将旧的东西取而代之。
Agile就是这样的一个新事物,它符合现在软件开发方法论的潮流。
但是Agile也是有一定的局限性的,它不适合团队太大的情况,它不适合已经有详尽的需求的情况,等等。
因此很多组织并不是单纯的Agile的,而且综合参考了Agile和其他重型开发方法论如RUP/CMMI等,为什么会如此呢?
我认为大多数项目虽然看起来是自下而上的,但是软件工程毕竟是软件工程,它拥有工程的一些基本特点,那就是统一组织、统一管理,所以从组织、管理这个角度来说它又是自上而下的。所以我们在构建自己的开发过程的时候,需要综合Agile和RUP/CMMI。
所以我认为,自上而下和自下而上的结合才是未来开发方法论的趋势。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: