敏捷开发

author author     2022-08-27     426

关键词:

转自维基百科

敏捷软件开发

敏捷软件开发英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发过程中人的作用。

原则

雪鸟会议共同起草了敏捷软件开发宣言。其中最重要的部分就是对一些与会者一致同意的软件开发价值观的表述。其中包括了以下方针:

  • 个体和互动:高于 流程和工具。
  • 工作的软件:高于 详尽的文档。
  • 客户合作:高于 合同谈判。
  • 响应变化:高于 遵循计划。

其中左边的描述是右边原则的重点。

宣言中还包括以下原则:

  • 对我们而言,最重要的是通过尽早和不断交付有价值的软件满足客户需要。
  • 我们欢迎需求的变化,即使在开发后期。敏捷过程能够驾驭变化,保持客户的竞争优势。
  • 经常交付可以工作的软件,从几星期到几个月,时间尺度越短越好。
  • 业务人员和开发者应该在整个项目过程中始终朝夕在一起工作。
  • 围绕斗志高昂的人进行软件开发,给开发者提供适宜的环境,满足他们的需要,并相信他们能够完成任务。
  • 在开发小组中最有效率也最有效果的信息传达方式是面对面的交谈。
  • 可以工作的软件是进度的主要度量标准。
  • 敏捷过程提倡可持续开发。出资人、开发人员和用户应该总是维持不变的节奏。
  • 对卓越技术与良好设计的不断追求将有助于提高敏捷性。
  • 简单——尽可能减少工作量的艺术至关重要。
  • 最好的架构、需求和设计都源自自我组织的团队。
  • 每隔一定时间,团队都要总结如何更有效率,然后相应地调整自己的行为。

对比其他的方法

敏捷方法有时候被误认为是无计划性和纪律性的方法,实际上更确切的说法是敏捷方法强调适应性而非预见性。

适应性的方法集中在快速适应现实的变化。当项目的需求起了变化,团队应该迅速适应。这个团队可能很难确切描述未来将会如何变化.

对比迭代方法

相比迭代式开发两者都强调在较短的开发周期提交软件,敏捷方法的周期可能更短,并且更加强调队伍中的高度协作。

对比瀑布式开发

两者没有很多的共同点,瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。

瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。

相对来讲,敏捷方法则在几周或者几个月的时间内完成相对较小的功能,强调的是能将尽早将尽量小的可用的功能交付使用,并在整个项目周期中持续改善和增强。

有人可能在这样小规模的范围内的每次迭代中使用瀑布式方法,另外的人可能将选择各种工作并行进行,例如极限编程。

敏捷方法的适用性

在敏捷方法其独特之处以外,他和其他的方法也有很多共同之处,比如迭代开发,关注互动沟通,减少中介过程的无谓资源消耗。通常可以在以下方面衡量敏捷方法的适用性:从产品角度看,敏捷方法适用于需求萌动并且快速改变的情况,如系统有比较高的关键性、可靠性、安全性方面的要求,则可能不完全适合;从组织结构的角度看,组织结构的文化、人员、沟通则决定了敏捷方法是否适用。跟这些相关联的关键成功因素有:

  • 组织文化必须支持谈判
  • 人员彼此信任
  • 人少但是精干
  • 开发人员所作决定得到认可
  • 环境设施满足成员间快速沟通之需要

最重要的因素恐怕是项目的规模。规模增长,面对面的沟通就愈加困难,因此敏捷方法更适用于较小的队伍,40、30、20、10人或者更少。大规模的敏捷软件开发尚处于积极研究的领域。

另外的问题是项目初期的大量假定或者快速收集需求可能导致项目走入误区,特别是客户对其自身需要毫无概念的情况下。与之类似,人之天性很容易造成某个人成为主导并将项目目标和设计引入错误方向的境况。开发者经常能把不恰当的方案授予客户,并且直到最后发现问题前都能获得客户认同。虽然理论上快速交互的过程可以限制这些错误的发生,但前提是要有效的“负反馈”,否则错误会迅速膨胀,并在最终提交时造成极大返工。

用于敏捷开发团队的项目管理工具

已经有一些项目管理工具用于敏捷开发,可以用它们来帮助规划,跟踪,分析和整合工作。 这些工具在敏捷开发中扮演的重要的角色,也是知识管理的一种方法。

通常包括:版本控制整合,进度跟踪,工作分配,集成发布和迭代规划,论坛和软件缺陷的报告和跟踪。

敏捷软件开发

...rks(中国)在西安举办的暑期特训营,因此我也接触到了敏捷软件开发思想。但是我对其理解还是不够,在这里整理整理,增加认知。敏捷软件开发(Agilesoftwaredevelopment)敏捷软件开发又称敏捷开发,是一种从1990年代开始逐渐... 查看详情

敏捷开发感想

  敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,目标是提高开发效率和响应能力。除了原则和实践,模式也是很重要的,... 查看详情

敏捷开发

传统软件开发流程:敏捷开发流程: 查看详情

什么叫敏捷开发?

参考技术A问题一:敏捷开发到底是什么意思其实就是一种思想,有别于传统的瀑布开发思路,传统的是可研,需求,设计,开发,测试,上线......敏捷看重的是快速实现交付物,快速的响应用户需求......极限编程是敏捷的一种... 查看详情

敏捷开发实施方案

今天把前段时间,给公司讲解敏捷开发流程的PPT文档发出来。由于近来比较喜欢用Markdown编写文档,发现博客园不支持Markdown编辑,有点失望。小小吐槽,O(∩_∩)O~ 敏捷开发实施流程 敏捷开发实施流程1、迭代计划2、... 查看详情

什么是敏捷开发?

1、什么是敏捷开发?  敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。  在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。  简单地来说... 查看详情

敏捷软件开发与传统软件工程

敏捷软件开发与传统软件工程  摘要:本文从敏捷软件、传统软件的概念,提出相关开发模型等方面对敏捷软件工程和传统软件工程进行描述。 一、敏捷软件开发       敏捷型软件开发是一种... 查看详情

敏捷开发

转自维基百科敏捷软件开发敏捷软件开发(英语:Agilesoftwaredevelopment),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理... 查看详情

敏捷开发

敏捷开发是一种应对快速变化的需求的一种软件开发能力。敏捷开发的原则:1.以最有效率的方式交付使客户满意的软件。2.在开发期间开发人员与业务人员必须天天在一起。3.在开发团队中要以面对面方式交流。4.每隔一段时间... 查看详情

敏捷开发-敏捷基础知识导入

...的滑雪胜地雪鸟(Snowbird)雪场。经过两天的讨论,“敏捷”(Agile)这个词为全体聚会者所接受,用以概括一套全新的软件开发价值观。这套价值观,通过一份简明扼要的《敏捷宣言》传递给世界,同时即宣告了敏捷开发... 查看详情

敏捷开发:最通俗易懂的敏捷开发漫画

...一:小灰在餐厅场景二:无奈的项目经理什么是敏捷开发?敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切 查看详情

何为敏捷开发

  何为敏捷开发?简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。   敏捷开发... 查看详情

关于敏捷开发的学习

1.知识储备敏捷开发(Agiledevelopment)敏捷开发概述  敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换... 查看详情

敏捷开发与传统开发方式的比较

敏捷开发的起源在90年代末期,传统软件开发的方式因为其繁杂的过程,以及对文档的过于严格的要求,造成了很大程度上的效率下降,也就是人们所说的“重型化危机”。因为这一原因,人们开始反思传统方法的利弊,并对其... 查看详情

scrum敏捷开发规则一栏

敏捷、敏捷开发这类词近期非常火!敏捷开发,就是指可以在需求迅速变化的情况下高速开发软件。我们接触最多的和敏捷相关的名词是:极限编程(XP)、结对编程、測试驱动开发(TDD)等。敏捷建模(AgileModeling,AM),的价&... 查看详情

敏捷开发

1.敏捷开发是相对于传统的开发的一种新的开发模式,敏捷开发适用于互联网企业比较多,特别是微服务的迅速崛起,对于当今高并发的需求,微服务是技术方案,敏捷开发是开发方法,两者相辅相成,共同推进项目的迅速落地... 查看详情

什么是敏捷开发?(扫盲)

敏捷开发的4句宣言个体与交互胜过过程与工具可以工作的软件胜过面面俱到的文挡客户协作胜过合同谈判响应变化胜过遵循计划 最近一直听人说“敏捷开发”,一脸懵逼,根本不知道什么是敏捷开发,然后百度了一下,上... 查看详情

关于敏捷开发

目录前言什么是敏捷开发敏捷软件开发宣言敏捷的项目管理--追求最大价值的成功总结 一、前言    在这瞬息万变的环境里,企业的生存与发展状况取决于其快速响应变化的能力,而敏捷运作是构建该能力的核... 查看详情