敏捷开发:5种主流方法介绍

敏捷开发

敏捷开发的定义:

敏捷开发的总体目标是通过“尽可能早的,持续的对有价值的软件进行交付”使客户满意,通过在软件开发过程中加入灵活性,敏捷方法使用户能够在开发周期的后期增加或者改变需求。

敏捷方法概述

极限编程(XP)

XP是一种轻量级(敏捷)高效、低风险、柔性、可预测的、科学的软件开发方式。它由价值观、原则、实践和行为4个部分组成,彼此相互依赖、关联,并通过行为贯穿整个生存周期。
4大价值观:沟通、简单性、反馈和勇气。
5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。
12个最贱实践:计划游戏(快速制定计划、随着细节的不断变化而完善)、小型发布(系统的设计要能够尽可能的早地发布)、隐喻(找到合适的比喻传达信息)、简单设计(只处理当前的需求,使设计尽量的保持简单)、测试先行(先编写测试代码,然后再编写程序)、重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)、结对编程、集体代码所有制、持续集成(可以按日甚至按小时为客户提供可运行的版本)、每周工作40个小时、现场客户和编码标准。

水晶法(Crystal)

水晶法认为每一个不同的项目都需要一套不同的策略、约定和方法论,认为人对软件质量有重要的影响,因此随着项目质量和开发人员素质的提高,项目和过程的质量也随之提高。通过更好的交流和经常性的交互,软件的生产力得到提高。

并列争求法(Scrum)

并列争求法使用迭代的方法,其中,把每30天一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品。多个自组织和自治的小组并行的递增实现产品,协调是通过简短的日常情况会议来进行,就像橄榄球中的“并列争球”。

自适应软件开发(ASD)

ASD有6个基本的原则:有一个使命作为指导;特征被视为客户价值的关键点;过程中的等待是很重要的,因此“重做”和“做”是同样关键的;变化不被视为改正,而是视为对软件开发实际情况的调整;确定的交付时间迫使开发人员认真考虑每一个产生的版本的关键需求;风险也包含其中。

敏捷统一过程(AUP)

敏捷统一过程采用在“大型上连续”以及在“小型上迭代”的原理来构建软件系统,采用经典的UP性阶段活动(初始、精华、构建和转换),提供了一系列活动,能够使团队为软件项目构想出一个全面的过程流。在每个活动里,一个团队使用一个敏捷,并将有意义的软件增量尽可能快的交付给用户。每个AUP迭代执行以下活动:
1. 建模。建立对商业和问题域的模型描述,这些模型”足够好“即可,以便团队继续更近。
2. 实现。将模型翻译成源代码。
3. 测试。像XP一样,团队设计和执行一系列的测试来发现错误以保证源代码满足需求。
4. 部署。对软件增量的交付以及获取最终用户的反馈。
5. 配置及项目管理。着眼于变更管理、风险管理以及对团队的任一制品的控制。项目管理追踪和控制开发团队的工作进展并协调团队活动。
6. 环境管理。协调标准、工具以及使用于开发团队的支持技术等过程基础设施。

你可能感兴趣的:(Java,SpringBoot,敏捷流程,敏捷开发)