zoukankan      html  css  js  c++  java
  • 软考知识点梳理--敏捷方法

        敏捷方法是一种以人为核心、迭代、循序渐进的开发方法,适用于一开始并没有或不能完整地确定出需求和范围的项目,或者需要应对快速变化的环境,或者需求和范围难以事先确定,或者能够以有利于干系人的方式定义较小的增量改进。 敏捷方法,也叫适应型生命周期、或者变更驱动方法。
        在软件项目的敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷方法的目的在于应对大量变更,获取干系人的持续参与。敏捷方法里迭代很快(通常2~4剧迭代1次),而且所需时间和资源是固定的。虽然早期的迭代更多地聚焦于H。划活动,但通常在每次迭代中都会执行多个过程。
        敏捷方法是一系列方法的总称,虽然这些方法的名称、理念、过程、术语都不尽相同,但相对于“非敏捷”而言,它们更强调开发团队与用户之间的紧密协作、面对面 的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队等,也更注重人的作用。
        敏捷方法强调,让客户满意和软件尽早增量发布;小而高度自主的项目团队;非 正式的方法;最小化软件工程工作产品以及整体精简开发。产生这种情况的原因是,在绝大多数软件开发过程中,提前预测哪些需求是稳定的和哪些需求会变化非常 困难;对于软件项目构建来说,设计和实现是交错的;从指定计划的角度来看,分析、设计、实现和测试并不容易预测;可执行原型和部分实现的可运行系统是了解 用户需求和反馈的有效媒介。
     目前,主要的敏捷方法有极限编程(eXtreme Programming,XP)、自适应软件开发(Adaptive Software Development,ASD)、水晶方法(Crystal)、特性驱动开发(Feature Driven Development,FDD)、动态系统开发方法(Dynamic Systems Development Method,DSDM)测试驱动开发(Test-Driven Development,TDD)、敏捷数据库技术(Agile Database Techniques,AD)和精益软件开发(Lean Software Development)和Scrum等。虽然这些过程模型在实践上有差异,但都是遵循了敏捷宣言或者是敏捷联盟所定义的基本原则。
        敏捷方法是一 种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷 方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。
         与UP相比,敏捷方法的周期可能更短。敏捷方法在几周或几个月的时间内完成相对较小的功能,强调的是能尽早将尽量小的可用的功能交付使用,并在整个项目周期中持续改善和增强,并且更加强调团队中的高度协作。相对而言,敏捷方法主要适用于以下场合: (1)项目团队的人数不能太多,适合于规模较小的项目。 (2)项目经常发生变更。敏捷方法适用于需求萌动并且快速改变的情况,如果系统有比较高的关键性、可靠性、安全性方面的要求,则可能不完全适合。 (3)高风险项目的实施。 (4)从组织结构的角度看,组织结构的文化、人员、沟通性决定了敏捷方法是否适用。与这些相关联的关键成功因素有组织文化必须支持谈判、人员彼此信任、人少但是精干、开发人员所作的决定得到认可、环境设施满足团队成员之间快速沟通的需要。
        敏捷宣言,也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法。 敏捷宣言强调的敏捷软件开发的四个核心价值是:
    (1)个体和互动高于流程和工具
     (2)工作的软件高于详尽的文档
    (3)客户合作高于合同谈判
    (4)响应变化高于遵循计划 敏捷选择提出的12条原则已经应用于管理大量的业务以及与IT相关项目中,包括商业智能(BI)。
        12原则包括:
    (1)通过早期和连续型的高价值工作交付满足“客户”。
    (2)大工作分成可以迅速完成的较小组成部门。
    (3)识别最好的工作是从自我组织的团队中出现的,
     (4)为积极员工提供他们需要的环境和支持,并相信他们可以完成工作。
    (5)创建可以改善可持续工作的流程。
    (6)维持完整工作的不变的步调。
    (7)欢迎改变的需求,即使是在项目后期。
    (8)在项目期间每天与项目团队和业务所有者开会。
    (9)在定期修正期,让团队反映如何能高效,然后进行相应地行为调整。
    (10)通过完车的工作量计量工作进度。
     (11)不断地追求完善。
    (12)利用调整获得竞争优势。
    软考知识点梳理--敏捷方法

  • 相关阅读:
    Java基础(五):数组和Java方法
    Java基础(四):Java Number & Math 类、Character 类、String 类、StringBuffer & StringBuilder 类
    Java基础(三):修饰符、运算符、循环结构和分支结构
    Java基础(二):基本数据类型和变量类型
    Java基础(一):简介
    变量声明置顶规则、函数声明及函数表达式和函数的arguments属性初始化
    JS操作JSON常用方法
    站点的良好体验在网络优化中极为重要
    JVM基础(二) 实现自己的ClassLoader
    [DLX精确覆盖] hdu 3663 Power Stations
  • 原文地址:https://www.cnblogs.com/jianlian/p/9537095.html
Copyright © 2011-2022 走看看