zoukankan      html  css  js  c++  java
  • 敏捷开发方法概述

    敏捷开发方法的核心思想:适应变化和以人为中心  

    敏捷型与滞重型方法显著的区别:

    反映在文档:

    敏捷型不是很面向文档,对于一项任务,它们通常只要求尽可能少的文档。

     

    敏捷型方法是适配性而非预设性

    重型方法试图对一个软件开发项目在很长的时间跨度内作出详细的计划,然后依计划进行开发,在计划制定完成后拒绝变化。

    敏捷型方法则欢迎变化。目的就是成为适应变化的过程,甚至能允许改变自身来适应变化。 

    敏捷型方法是面向人(people-oriented) 而非面向过程的 (process-oriented)。 它们试图使软件开发工作顺应人的天性而非逆之。它们强调软件开发应当是一项愉快的活动。

     

     

    敏捷开发方法:

     

    极限编程( XP 

    的主要目的是降低需求变化的成本。它引入一系列优秀的软件开发方法,并将它们发挥到极致。比如,为了能及时得到用户的反馈, XP 要求客户代表每天都必须与开发团队在一起。同时, XP 要求所有的编程都采用结对编程( pair-programming )的方式。这种方式是传统的同行审查( peer review )的一种极端表现,或者可以说是它的替代方式。

     

    Scrum 

    是一个敏捷开发框架,它由一个开发过程,几种角色以及一套规范的实施方法组成。它可以被运用于软件开发,项目维护,也可以被用来作为一种管理敏捷项目的框架。在 Scrum 中,产品需求被定义为产品需求积压( product backlogs )。产品需求积压可以是用户案例,独立的功能描述,技术要求等。所有的产品需求积压都是从一个简单的想法开始,并逐步被细化,直到可以被开发。Scrum 提供一个敏捷开发框架,其他许多敏捷方法都可以被集成到 Scrum 中。比如测试驱动开发( test-driven development )和结对编程( pair programming )等都可以被整合到 Scrum 中。

     

    精益软件开发模式

    是从丰田公司的产品系统开发方法中演化而来。它主要包括两个部分:一部分是核心思想及原则,另外一部分由一些在相应的工具构成。精益开发的核心思想是查明和消除浪费。在软件开发过程中,错误( bugs ),没用的功能,等待以及其他任何对实现结果没有益处的东西都是浪费。浪费及其源头必须被分析查明,然后设法制止。精益软件更重要的是不断完善开发过程的一种思维方式。因此,将精益模式与其他敏捷开发模式一起使用将会取得很好的效果。

     

    动态系统开发方法( DSDM 

    是由快速应用程序开发( RAD )方法演变而来的敏捷开发模式。 DSDM 在普遍的敏捷价值和原则的基础上,定义了更加详细的流程,以涵盖更完整的项目生命周期。它们包括项目前期活动( pre-project activities ),项目可行性研究,功能建模,设计和开发,实施或部署,项目后期维护( post-project maintenance ),等等。同时,每个过程都定义了诸如如何将每个功能模型转化为实际代码,如何将原型交付最终用户使用并审查,如何处理反馈信息等的详细步骤。因此, DSDM 相比于其它敏捷方法在过程上显得比较繁重。

     

    特征驱动开发( FDD 

    是另一种敏捷开发方式,它将用户的功能需求划分成更小的功能特征,然后逐步地在每个迭代周期中开发实现这些产品特征。与 DSDM 方式一样, FDD 仍然会在项目初期对整个项目做较大的规划和建模,以获得对该系统的全面了解。但是相比较 DSDM 来说, FDD 在这些方面更简捷。

     

    Crystal Clear 是另一种形式的敏捷方法。 Crystal Clear 更专注于人。相比于其他的敏捷方法,它可使人获得更大的解放。据称这种方法更适合于较小规模的开发小组(由 2-8 个人组成)和非关键项目。 Crystal Clear 定义了七种属性。前 3 个属性 - 频繁的交付( frequent delivery ),渗透交流( osmotic communication ),反思提高( reflective improvement  - 反映出基本的敏捷开发做法和价值,如周期较短的迭代式开发,自我管理的开发团队和反馈带动增量发展等等。另外的 4 个属性分别是:个人安全( personal safety ),集中( focus),容易接触专家用户( easy access to expert users )和技术环境( technical environment )。其中,容易接触专家用户实际就是敏捷方法中提到的客户持续参与,但 Crystal Clear 对此要求较宽松。 Crystal Clear 也提供了一些通用的做法,比如,它提供了三种回顾分析的方法:访谈,问卷调查和工作组。 Crystal Clear 的过程也是相当简单,其中涉及短的迭代周期,日常会议及持续集成等。

     

      还有其他一些敏捷方法如敏捷统一过程( Agile Unified process ),上下文驱动开发( Context Driven Development ), Getting Real 等。敏捷方法都是增量和迭代开发过程,并且强调人多过于整个过程。各种敏捷方法的区别在于它们对敏捷的不同阐释和不同侧重。理解他们可以帮助我们从多个角度理解敏捷开发,并且搜集更多的最佳应用。

     

     

  • 相关阅读:
    老人与小孩
    搭讪
    VIM 如何使用系统的剪切板
    Linux 下如何安装 .rpm 文件
    Linux 下如何安装 .bin 文件
    Tomorrow Is A New Day
    Hive 学习(五) Hive之HSQL基础
    Hive 学习(二) hive安装
    Hive 学习(四) Hive的数据类型
    Hive 学习(三) Hive的DDL操作
  • 原文地址:https://www.cnblogs.com/fengxiaolan/p/3612184.html
Copyright © 2011-2022 走看看