中文 英语
知识中心
导航
知识中心

敏捷

一种软件开发方法,侧重于持续交付和对需求变化的灵活性
受欢迎程度

描述

软件开发是一个创造性的过程

敏捷软件开发的宣言是由一组软件开发人员在2001年撰写的。在犹他州的一个周末静修会上,这群提倡不同软件开发方法的不同的人聚在一起讨论软件开发的当前状态。尽管存在分歧,但小组成员一致认为,许多组织所遵循的自上而下、以流程为中心、大量文档记录、令人痛苦的深思熟虑的风格越来越不成功。吉姆·海史密斯写道www.agilemanifesto.org,所有人都同意,“为了在新经济中取得成功,公司必须摆脱那种为创造工作而制造的呆伯特式表现和晦涩难懂的政策。”

两天会议的激烈讨论导致了敏捷软件开发宣言的诞生。对于它的签署人来说,宣言是一个出发点,他们和其他志同道合的开发人员可以从中解开经典项目管理技术,特别是瀑布开发模型对软件开发造成的损害。

瀑布模型的基本前提是,一些产品的设计和构建可以通过构建详细的项目计划提前定义。然后,开发就变成了一个很大程度上机械的过程,即根据计划分阶段执行。

敏捷软件从业者说,将瀑布模型应用于软件开发的一个根本缺陷是,设计和构建软件的行为不能预先可靠地定义。他们认为,软件开发是一个创造性的过程,由于其固有的不确定性,不能事先准确地计划;在开发过程中,产品愿景、客户需求、目标市场、目标技术和团队动态可能会有很大的变化,而且是不可预测的。因此,对于像软件开发这样的创造性过程,敏捷性和适应性比瀑布式开发中密集的前期计划更能提高成功率。

敏捷软件开发宣言

直接从www.agilemanifesto.org,敏捷软件开发宣言中的四个价值观如下:

我们正在发现开发软件的更好方法,方法是自己动手并帮助别人去做。通过这项工作,我们认识到:

个人和交互胜于过程和工具
工作软件优于全面的文档
客户合作胜过合同谈判
对变化做出反应,而不是遵循计划

也就是说,虽然右边的项目有价值,但我们更看重左边的项目。

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn
沃德·坎宁安,马丁·福勒,詹姆斯·格兰宁,吉姆·海史密斯
Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin
史蒂夫·梅勒,肯·施瓦伯,杰夫·萨瑟兰,戴夫·托马斯

©2001,以上作者本声明可以任何形式自由复制,但其全文只能通过本通知。

宣言的作者承认,软件开发将继续依赖传统上与软件开发相关的价值——描述为右边的项目——同时建议必须更加强调人员和交流在创造过程中的价值。

此外,敏捷宣言还列出了12条原则,进一步强调了开发人员的创造性作用、沟通、适应性、包容性和基于工作软件的客观进度度量。

常见的敏捷开发框架

极限编程
Scrum

页面内容最初由尼尔•约翰逊,首席顾问XtremeEDA

Baidu