敏捷开发到底是什么意思呢?

最近应聘时老是听说到敏捷开发什么的,有谁在项目开发过程中有用到吗?最好具体给解释下~~~

个人见解仅供参考。
敏捷开发,追求的是开发速度,也就是快速开发。简单地说就是只跟随客户当前提出的需求,而不去挖掘或揣摩那些潜在的功能扩展,当客户再提出新的需求或变更时再继续开发。
表面上看这么做很轻率,效率肯定也不会高,但我认为这么干实际上对开发和设计人员有更高的要求。
成功的敏捷开发建立在高内聚低耦合的基础上,我们的工作表面上看起来是不考虑以后的扩展性能,但实际上真正的敏捷开发必须做到:当客户新的需求提出来,我们能很快做出响应,拿出对策。这就意味着,我们不但要对项目的整体业务有比较深刻的认识,还要有高内聚低耦合的编码功力。
只有这样,敏捷开发才是真事,而不是彼此忽悠。

写得不错。

关于高内聚低耦合的编码功力,我个人认为使用MDD模型驱动开发或DDD领域驱动开发可以实现。

可以这么说:要实现敏捷开发,必须有OO基础,能够MDD才是真正敏捷开发,大家围绕一个统一的模型语言,模型就是灯塔,可以照耀到项目中每个参与角色,从需求客户 分析师 设计师 程序员 测试员,都能够理解这一统一语言,没有误解,才是敏捷。

还有必须以大量测试用例做保障,没这个就只是表面功夫。

团队内的沟通也非常重要,最好有一位导师类的人领导大家。

2009年11月13日 10:34 "ampatient"的内容
个人见解仅供参考。
敏捷开发,追求的是开发速度,也就是快速开发。简单地说就是只跟随客户当前提出的需求,而不去挖掘或揣摩那些潜在的功能扩展,当客户再提出新的需求或变更时再继续开发。
表面上看这么做很轻率,效率肯定也不会高,但我认为这么干实际上对开发和设计人员有更高的要求。
成功的敏捷开发建立在高内聚低耦合的基础上,我们的工作表面上看起来是不考虑以后的扩展性能,但实际上真正的敏捷开发必须做到:当客户新的需求提出来,我们能很快做出响应,拿出对策。这就意味着,我们不但要对项目的整体业务有比较深刻的认识,还要有高内聚低耦合的编码功力。
只有这样,敏捷开发才是真事,而不是彼此忽悠。

恩,很精辟~~对敏捷开发的理解有点清晰的认识

2009年11月13日 10:34 "ampatient"的内容
个人见解仅供参考。
敏捷开发,追求的是开发速度,也就是快速开发。简单地说就是只跟随客户当前提出的需求,而不去挖掘或揣摩那些潜在的功能扩展,当客户再提出新的需求或变更时再继续开发。
表面上看这么做很轻率,效率肯定也不会高,但我认为这么干实际上对开发和设计人员有更高的要求。
成功的敏捷开发建立在高内聚低耦合的基础上,我们的工作表面上看起来是不考虑以后的扩展性能,但实际上真正的敏捷开发必须做到:当客户新的需求提出来,我们能很快做出响应,拿出对策。这就意味着,我们不但要对项目的整体业务有比较深刻的认识,还要有高内聚低耦合的编码功力。
只有这样,敏捷开发才是真事,而不是彼此忽悠。

我认为敏捷开发在速度之外更加注重团队的管理和软件质量,有了好的团队管理自然会使得组员之间的沟通更加顺畅,人与人,需求与需求之间的盲点就更少,对于技术的合作程度也就更高,这样做可以进一步弱化传统的“个人英雄主义”编程风格,降低项目对于个人角色的依赖!
现在banq老师倡导的ddd模式开发,就需要有客户代表(可以决定需求),分析人员,架构人员,开发人员等具体角色,通过敏捷式开发实践,这些人员就不必像瀑布模型里面的不同角色在不同阶段实现自己的工作(这会造成需求理解的多重错误叠加,就像一般的传话筒,对传的过程中的每个人的理解要求都非常高),而是从最开始(需求获取)就全部介入。各种角色从最开始就密切配合,需求共享,在开发过程中,某些功能实现配对编程,不仅仅可以实现需求的共享,更重要的是可以对关键模块的开发实现分析共享以及不断重构!
敏捷开发实践的确很有吸引力啊!!!个人愚见,还望各位同僚斧正!