在2001年,敏捷联盟( The Agile Alliance )制定并发布了软件行业历史上最为重要的文件之一——《敏捷宣言》。敏捷宣言的内容包含了4条价值观和12条原则。到目前,《敏捷宣言》已被翻译成了60多种语言,并作为一种信仰被推广至全球以及非软件行业。

一、敏捷宣言的价值观
我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观:

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

也就是说,尽管右项有一定的价值,我们更重视左项的价值。

二、敏捷宣言遵循的12条原则
我们遵循以下原则:

01.我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。

02.欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。

03.经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。

04.业务人员和开发人员必须相互合作,项目中的每一天都不例外。

05.激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。

06.不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。

07.可工作的软件是进度的首要度量标准。

08.敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。

09.坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。

10.以简洁为本,它是极力减少不必要工作量的艺术。

11.最好的架构、需求和设计出自自组织团队。

12.团队定期地反思如何能提高成效,并依此调整自身的举止表现。

三、敏捷宣言的诞生

2001年2月11日至13日,在犹他州瓦萨奇山的雪鸟(Snowbird)滑雪胜地洛奇酒店,17位软件开发领域的领军人物聚在一起聊天、滑雪、放松、并试图找到共同点 。

参与者们分享了互相竞争的几种方式:极限编程(XP);透明化;自适应软件开发(ASD);特征驱动开发(FDD);动态系统开发方法(DSDM)。所有这些方式都是“轻量版”的框架,因为这些方法使用更少,更简单的规则来适应快速变化的环境。 不少与会者都觉得“轻量”这个术语非常适用。

经过为期三天的讨论,他们在价值观和原则层面上达成共识,选择了 Agile 一词并为其赋予了特殊的意义,制定并发布了软件行业历史上最为重要的文件之一:敏捷宣言。

参会者将自己命名为“敏捷联盟( The Agile Alliance )”,希望能够帮助软件行业中的其他人以新的、更敏捷的方式思考软件开发、方法和组织。而“敏捷宣言”则被展示在一个网站上(https://agilemanifesto.org/ ) ,到目前已被翻译成了60多种语言,并作为一种信仰被推广至全球以及非软件行业。

四、敏捷宣言解读
1、价值观
个体与互动高于流程和工具:意味着虽然流程和工具重要(尤其是大型组织),但是它们无法替换有能力的个体和高效的互动。个体的技能和他们之间的互动才是最关键的。

当我们开发产品、解决问题或改进工作方式时,我们要寻找改进互动和提高能力的方法
在项目期间,产品管理和开发团队必须在一起工作
在项目期间,架构师、设计师和测试人员必须每天在一起工作
面对面沟通是极其重要的,它不能被其它形式完全替换
工作的软件高于详尽的文档:意味着已集成、已测试、潜在准备发布的产品才是关键度量,它能够有效地跟踪项目进度和对发布做出决策。

要以小步增量的方式构建产品:做一些分析、设计,然后开始编码和测试以验证设计
设计需要做,比如敏捷建模工作坊(设计与文档不一样)。如果需要传递信息给客户、维护工作的人员,简易文档还是必要的
好架构是持续开发产品的关键,架构是设计出来的,建立一个可实现的简单架构是持续化开发的第一步。随着时间的推移,架构会演进,所以持续追求卓越技术和好设计能够增强产品敏捷性。
客户合作高于合同谈判:意味着我们应该超越谈判并尝试提升与客户的合作。我们还应该建立以合作为基础的关系,而不是靠公司内的正式接口。

在实践中,意味着产品经理、市场或销售人员在产品开发期间要经常从客户那里请求反馈并排列优先级。
在与我们自己的业务方合作中,我们应该寻找开发期间增进和改善合作的方法。
产品管理和开发应该密切合作,而不是通过契约或手续。
响应变化高于遵循计划:意味着欢迎需求变化,哪怕是开发后期。

首先,预先知道所有需求是不可能的。每个项目都会有浮现和继承的需求。
如果我们对客户需求变更做的好,我们就会增强客户的竞争优势还有我们自己。
为了鼓励响应变化并使其更容易操作,需要建立流程和工作方式。承认计划的不确定性
计划是必要的,但计划必须适应变化:我们需要持续调整计划。前期花很长时间制定详尽的计划的结果会导
致大量的返工。同时,我们需要有足够的计划水平来评估业务需求和对其长期影响的判断。这是一种平衡的艺术。
2、敏捷原则
1、我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。

客户满意和有价值的软件是关键词。要确保我们开发的软件产品能够给客户带来真正的价值,这完全取决于在开发期间与客户的密切合作。产品管理是确保客户需求在开发期间被正确理解的关键。我们应该集中精力在对客户最有价值的工作上。
尽早并持续交付的能力是满足客户的关键。及时交付部分功能比最后交付全量功能更好,至少我们应该给我们客户一个选择。
2、欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。

我们的目标是为了开发能够帮助客户提升价值的产品,要支持任何变化。变化不是一种否定,它体现了团队和产品负责人在敏捷开发过程中的一种工作方式。
3、经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。

开发周期和发布周期完全不同。尽管有发布周期,但我们的目标是短开发周期。发布周期的长度依赖业务决策,并且和客户的期望紧密关联。短开发周期的频繁交付缩短了反馈周期并增强了学习。频繁交付还能让团队及早暴露弱点并及时移除障碍,增加了敏捷性和灵活性。
4、业务人员和开发人员必须相互合作,项目中的每一天都不例外。

只要在业务和研发之间建立起桥梁,我们就能从中受益。业务人员和产品管理知道市场状况、客户需求和客户的价值。开发团队知道产品和技术可行性。如何将这两方面结合?我们需要作出睿智的决策
5、激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。

知识类工作(比如软件开发)是由具有技能和激情的人来做的。为了激发个体的斗志和创造力,自由是最重要因素。要让角色去适应人而不是让人去适应角色。
6、不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。

面对面交谈在分布式开发中尤为重要。当我们看到人们彼此交谈时,信息更多以听说的形式被传递。文档(虽然它很重要)不能代替交谈,将每件事都写下来简直是不可能的。我们不应该只依靠写文档来传递重要信息。
7、可工作的软件是进度的首要度量标准。

跟踪有多少功能已经实现,集成,测试是一种更可靠的进度度量。
8、敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。

目标是为了消除高负荷工作并保持可持续的速度工作(例如,不加班工作)。质量问题通常牺牲长期收益,人们越是疲劳创造力就越低。因此可持续开发吧!
9、坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。

任何技术负债(代码缺陷、架构缺陷)都会使开发减慢。我们不应该让技术负债积压,所以要持续地做重构,更改发现的缺陷,持续关注实现架构的质量。
10、以简洁为本,它是极力减少不必要工作量的艺术。

这种简单原则既适用于产品的功能特性也适用于流程。多余的功能不要增加。所有流程步骤应该时刻面临挑战(例如,这步真的需要吗? 谁会读这个文档?…)。
11、最好的架构、需求和设计出自自组织团队。

架构、设计和需求会随着团队一起工作慢慢浮现,并且团队会从中学到很多。一些前置需求、架构和设计工作是需要的,但是不能把它们定义在纸面上传递。架构师和系统工程师是自管理研发团队的一部分,不要成为“孤岛”。
12、团队定期地反思如何能提高成效,并依此调整自身的举止表现。

花时间反思和从经验中学习能够促进持续化开发。因此“检查与调整”是敏捷核心实践之一。

敏捷宣言及完整解读(转)相关推荐

  1. 敏捷开发宣言 新时代解读

    敏捷开发宣言 新时代解读 敏捷开发时代背景 在解读敏捷开发宣言之前,我们先来了解下敏捷开发提出来时的时代背景.敏捷开发是在九几年提出来,到2001年确定成型. 在当年这个时代背景下,主流的软件研发项目 ...

  2. 【软件工程】敏捷宣言

    [转载]: 敏捷宣言以及敏捷开发的特点 - 鸿鹄当高远 - 博客园 敏捷宣言的简单介绍 - SuperZhang828 - 博客园 http://agilemanifesto.org/iso/zhch ...

  3. 对敏捷宣言的原则进行风险评估

    对敏捷宣言的原则进行风险评估 题目要求:在敏捷宣言遵循的12条原则中挑选1条你感兴趣的原则进行风险评估. 风险评估 大型软件项目的风险管理:大型项目存在诸多风险因素,在不同程度上对软件开发过程和软件产 ...

  4. [项目管理]敏捷宣言

    目录 Manifesto for Agile Software Development 四大核心价值: 十二条原则: 敏捷开发已成为当今软件开发模型中最靓的仔,但敏捷宣言却鲜为人知,就让我们重温敏捷开 ...

  5. 敏捷.0.敏捷宣言、原则、概念-结构化记忆

    敏捷宣言 我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人.由此我们建立了如下价值观: 1. 个体和互动 高于 流程和工具 2. 工作的软件 高于 详尽的文档 3. 客户合作 高于 合 ...

  6. 敏捷宣言和敏捷的十二原则

    敏捷宣言和敏捷的十二原则 1.为什么需要敏捷 在我们的项目实施的过程常常会使用不同的开发模型,例如瀑布型:"项目立项-需求分析-软件设计-软件开发-软件测试-项目验收",前一个工作 ...

  7. [敏捷开发][1][敏捷宣言]

    1 敏捷宣言 敏捷软件开发宣言也称敏捷宣言,由17位志同道合的IT人于2001年在犹他州盐湖城外群山中的Snowbirt Retreat旅馆写就. 下面是宣言的完整内容 我们一直在实践中探寻更好的软件 ...

  8. 回望2001年的雪鸟城:引发全球软件革命的“敏捷宣言”是如何诞生的?

    将人们置于流程之上.专注于开发可以工作的软件,而不是软件的文档.和你的客户一起工作,而不是为一份合同而争吵.在此过程中,要对改变持开放态度. 编者按:"敏捷"(Agile)这个对于 ...

  9. 敏捷宣言遵循的十二条原则

    敏捷宣言遵循的十二条原则Twelve Principles behind the Agile Manifesto 我们遵循以下原则: We follow these principles: 我们最重要 ...

最新文章

  1. ASP 三十二条精华代码
  2. alertdialog.builder 自定义弹窗
  3. 从零实现一个简易jQuery框架之一—jQuery框架概述
  4. 【图像】Dog(高斯差分)检测角点
  5. 知乎:国家何时整治程序员的高薪现象?
  6. BZOJ-1057: [ZJOI2007]棋盘制作(单调栈)
  7. ajax 传递参数中文乱码解决办法
  8. 还不会docker+k8s?2020年,就要面对现实了...
  9. Opencv中Mat的data数据只定义为uchar*类型,
  10. python定位网页元素_python爬虫技术:如何定位网页上的内容?xpath定位元素
  11. 非齐次线性方程组解的结构暂记
  12. java运维工程师简历_运维工程师个人简历怎么写?
  13. 什么是yum源,yum的工作原理又是什么
  14. 用于RF收发器的简单基带处理器详细教程
  15. Python批量爬取华语天王巨星周杰伦的音乐
  16. 块闻热点:做最真实的区块链资讯宣传媒体
  17. 通过Python爬取QQ空间说说并通过Pyechart进行可视化分析
  18. vue 定时刷新按钮控制
  19. web端 刷卡器_web工程集成身份证读卡器,高拍仪
  20. mysql 安装启动服务器一直失败_mysql安装后服务器启动失败的几种解决办法

热门文章

  1. Kubernetes集群(k8s)- 介绍和部署
  2. 中国区块链开发者真实现状:半数只懂皮毛; 数据分析师吃香; Java/Python或成为主流开发语言...
  3. 自动驾驶数据掘金就像大海捞鱼,你有什么样的捕鱼工具?丨WAIC2021
  4. 读《文明之光》第三册 吴军
  5. simplify逆向_Simplify-SDK-一种以代码形式管理基础架构的框架。
  6. 「AI简史」从1950到2020
  7. socket编程之listen()
  8. Linux(Centos)环境下FPGA EDA软件启动命令
  9. 迈普光彩北区销售部签订辽宁某会议室55寸LCD液晶拼接显示屏项目
  10. 半路算法之二项树与二项堆