《Agile Method – by Martin Fowler》敏捷开发 感想


敏捷开发听上去就很能理解其特点,感觉上是一种不同于平常的软件开发方法。

下面是具体的敏捷开发特点:

  • 敏捷型方法是“适应性”而非“预见性” 工程方法试图对一个软件开发项目在很长的时间跨度内作出详细的计划, 然后依计划进行开发。这类方法在一般情况下工作良好,但(需求、环境等) 有变化时就不太灵了。因此它们本质上是拒绝变化的。而敏捷型方法则欢迎 变化。其实,它们的目的就是成为适应变化的过程,甚至能允许改变自身来适 应变化。
  • 敏捷型方法是“面向人”的(people-oriented) 而非“面向过程”的 (process-oriented) 工程型方法的目标是定义一个过程,不管是谁用都工作。而敏捷型方法 则认为没有任何过程能代替开发组的技能,过程起的作用是对开发组的 工作提供支持

敏捷开发的出现是因为“正规方法” 的消耗太大,是软件开发的成本持续的无法下降。而且,有50%的工作是花在设计上。传统的开发方法也无法处理需求持续变化的情况。

一般遇到需求不断变化的情况,解决的最好办法就是迭代。

几种敏捷开发:

XP(Extreme Programming -- 极限编程〕

SCRUM

水晶(Crystal)系列

相关环境驱动测试(Context Driven Testing)

Lean Development(精悍开发)

(理性)统一开发

最后,在看过关于敏捷开发的描述过后,我感觉敏捷开发是一个可行的东西。但是敏捷开发也有其特定的适合人群,如果一个项目的成功性是第一目标的话,敏捷开发必定不是首选,那是因为敏捷开发是一种提高效率,缩短时间的方法。而不是确保项目成功的一个好方法。相反,能可能对项目的成功有一定的影响。所以是否选择敏捷开发是一件应该慎重的事情。

原文链接:http://martinfowler.com/articles/newMethodology.html

posted @ 2012-11-14 00:04  炫律  阅读(331)  评论(0编辑  收藏  举报