敏捷软件开发

  上了这么久的软件课,编了这么多的程序,其实了解以前也接触过类似的编程模式,但并没有系统的了解过。那么到底什么是敏捷开发呢?

   我们都见过因为开发过程测冗余、笨重、繁杂而失败的项目。世上应该有一种更好的软件开发方法——只关注真正的事情,少关注那些占用大量时间而无甚裨益的事情。

   于是在2001年2月,17位志愿者聚集在美国犹他州雪鸟度假胜地,讨论一个新的软件开发趋势,这个趋势被不严格的称谓"轻型软件开发过程---敏捷".

敏捷软件开发宣言

对于敏捷软件开发方法来说,这段话给我留下了深刻的印象

即:

敏捷的原则:

   最高目标是能持续地、及早地向客户交付软件;

   拥抱变化;

   频繁地发布可运行的软件;

   客户和开发人员在一起工作;

   以人为本;

   最重要的衡量开发过程的手段,是可工作的软件;

   稳定的开发速度;

   敏捷高效的设计;

   简单有效;

   重视Teamwork;

   积极的调整。

敏捷的开发方法:

  XP -eXtreme Programing极限编程: 思想源自Kent Beck和Ward Cunningham在软件项目中的合作经历。

   SCRUM: 是一种迭代的增量化过程,用于产品开发或工作管理 。

   水晶方法Crystal: 由Alistair Cockburn在1990年代末提出。把不同类型的项目采用不同的方法。

    FDD-特性驱动 Feature Driven Development, 由Peter Coad、Jeff de Luca 、Eric Lefebvre共同开发,是一套针对中小型软件开发项目的开发模式。它强调的是简化、实用、 易于被开发团队接受,适用于需求经常变动的项目。

    DSDM-Dynamic System Development Methodology, 它倡导以业务为核心,快速而有效地进行系统开发, 在英国等欧洲国家比较流行。

     ASD-Adaptive Software Development, 由Jim Highsmith在1999年正式提出。ASD强调开发方法的适应性(Adaptive)

Scrum编程方法:

    SCRUM来源于橄榄球运动,指:“在橄榄球比赛中,双方前锋站在一起紧密相连,当球在他们之间投掷时他们奋力争球。”

     Scrum提供了一种经验方法,它使得团队成员能够独立地,集中地在创造性的环境下工作。它发现了软件工程的社会意义。这一过程是迅速,有适应性,自组织的,它代表了从   顺序开发过程以来的重大变化。

    (Ken Schwaber) Scrum是一种灵活的软件管理过程,它可以帮助驾驭迭代、递增的软件开发过程。

   Scrum于1995年提出,并在2001年同其他方法论一起组成“敏捷联盟(Agile Alliance)” 。 Scrum这个轻量的过程可以作为包装器,也就是说你可以把Scrum与其它灵活的过程框架组合起来。

      

  极限编程方法:

      极限的含义:软件开发中的优点发挥到极致(Kent Beck).

      XP:给程序员提供了明确的方法,使得程序员尽管面对需求的改变,却能够从容应对,即使着重变化发生在项目的后期,仍然能够编出代码。

      XP核心:沟通、简明、反馈和勇气 XP重视沟通,客户、开发人员、管理者共同组成团队。

      XP是一个实践系统 13个实践 XP方法的贡献 以拥抱变化的思想,协作的团队,简单的规则等为原则的13个具体实践 是知名度最高的敏捷开发方法

     XP的关键实践:、

      

原文地址:https://www.cnblogs.com/sulindong/p/3629953.html