我理解的敏捷价值观

2001年2月11日到13日,十七位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地Snowbird雪场。经过两天的讨论,敏捷(Agile)这个词为全体聚会者所接受,用来概括一套全新的软件开发价值观。这套价值观,通过一份简明扼要的《敏捷宣言》,传递给世界,宣告了敏捷开发运动的开始。宣言内容如下:

我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下的价值观:

  • 个体和交互 胜过 过程和工具
  • 可以工作的软件 胜过 完备的文档
  • 客户合作 胜过 合同谈判
  • 响应变化 胜过 遵循计划

虽然右项也有价值,但左项具有更大的价值。

随后敏捷运动在全世界轰轰烈烈展开,攻城略地,像潮水一样淹没了整个软件开发行业。XP、Scrum、TSP、PSP等等敏捷流派如雨后春笋般涌现,成为“显学”,传统的瀑布式开发模式销声匿迹,即使有的公司、团队或个人实际上仍在采用瀑布式开发,也腆颜宣称自己是采用敏捷方式的,否则不好意思见人。RUP等重型方法论也开始改头换面,支持开发者对其过程进行裁剪,变得越来越敏捷了。最具标志性的事件是美国国防部,这个瀑布式开发的坚强堡垒,“计划与控制”式管理模式的死忠支持者,最近也被敏捷方法论攻陷了。他们邀请Jeff Sutherland博士(Scrum软件开发过程的发明者、Scrum公司的CEO)指导他们进行敏捷转型。

只有神州天朝例外。

在我国,客户、软件公司和开发者都没有任何敏捷的概念,遑论采用。他们口中念念有词“需求阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段”;认为可以用流程和工具规范码农,像管理农民工一样管理开发者;对文档的强调达到偏执的程度;认为客户和软件公司的利益是零和的,要在谈判桌上寸步不让;通过编排到几个月的详细计划和漂亮的甘特图骗人骗己。

人家已经在机械化生产,我们还在刀耕火种;人家船坚炮利,我们只有黑鸡白狗血;人家在革故鼎新,我们在抱残守缺。

面向对象思想和编程语言已经出现了三十多年,我们还在用面向对象的编程语言写面向过程的代码;敏捷方法论风行了十多年,我们还在瀑布式开发中疲于奔命。我们落后于世界何止一点半点。

下面我会将自己对四个敏捷价值观的理解拿出来和大家分享,每天一个,希望能够对大家有所助益。

我理解的敏捷价值观

时间: 2024-08-04 11:29:55

我理解的敏捷价值观的相关文章

谈谈我理解的敏捷开发

"敏捷开发" 几乎成了互联网家户喻晓的一个热门话题.每个人都在聊敏捷.Scrum.XP. 我对"敏捷"的认识还算是在一个正在探索的阶段.网上有非常多的资料,五花八门,对于初学者来说无形之中会设了很多的坎.刚好借此机会写个文章帮助自己进行知识的梳理和总结,另外一方面也希望对刚接触的人有所帮助. "敏捷开发" 知多少? 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方式. 它并不是一门技术,而是一种开发方式,也就

谈谈我理解的敏捷开发--转载

"敏捷开发" 几乎成了互联网家户喻晓的一个热门话题.每个人都在聊敏捷.Scrum.XP. 我对"敏捷"的认识还算是在一个正在探索的阶段.网上有非常多的资料,五花八门,对于初学者来说无形之中会设了很多的坎.刚好借此机会写个文章帮助自己进行知识的梳理和总结,另外一方面也希望对刚接触的人有所帮助. "敏捷开发" 知多少? 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方式. 它并不是一门技术,而是一种开发方式,也就

敏捷价值观之敏捷宣言(转载)

     一.个体和交互胜过过程和工具 人是软件项目获得成功最为重要的因素 合作.沟通能力以及交互能力比单纯的软件编程能力和工具更为重要 方法和工具是死的,人是活的,人要是太“面”或者协作不好,再强大的方法和工具都是白扯:      二.可以工作的软件胜过面面俱到的文档 过多的面面俱到的文档往往比过少的文档更糟 软件开发的主要和中心活动是创建可以工作的软件 直到迫切需要并且意义重大时,才进行文档编制 编制的内部文档应尽量短小并且主题突出      三.客户合作胜过合同谈判 客户不可能做到一次性地

敏捷软件开发简述

前言:由于我读了邹欣老师的<构建之法:现代软件工程(第二版)>,因此对敏捷软件开发有了比较大的兴趣.于是我在网上找了一些论文,比如Requirements Engineering and Agile Software Development.A decade of agile methodologies: Towards explaining agile software development.在读了这些论文之后,对敏捷软件开发有了大致的了解.这篇博文主要是简单介绍敏捷软件开发,重点集中在主

敏捷软件开发?什么是敏捷?

敏捷软件开发?什么是敏捷? 敏捷开发(Agile development)是如今软件工程项目中一个大热的词汇,很多大大小小的开发团队都喜欢高举敏捷开发的旗号,搞出一套显得大大不同于传统的运行模式来区分自己的团队博取眼球,他们手头所做的事情,只是套用一套流行的敏捷开发模板,如Scrum,Crystal,XP到自己的开发流程中,就认为自己的整个开发体系会有一个质的飞越.然而他们是否能真正驾驭所谓的敏捷开发?他们是否理解了敏捷开发的核心理念?这都是要划一个大大的问号. 笔者我在刚刚接触这个词的时候,下

敏捷软件工程(agile software development) VS传统软件工程(traditional software development)

敏捷软件工程(agile software development) VS传统软件工程(traditional software development)      Agile principle    The Agile Manifesto is based on twelve principles(敏捷开发12原则) 1. Customer satisfaction by early and continuous delivery of valuable software 2. Welcom

敏捷开发 Scrum 综述

敏捷开发 Scrum 综述 这一星期学习了敏捷开发,然后阅读了相关的书籍,从网上查找了很多相关的资料,对敏捷开发scrum有了更加深刻了理解,对敏捷开发做了如下总结: 一.什么是敏捷开发? 敏捷开发提倡的“增量迭代.及时交付”的思想.这种模式能最大程度地不偏离客户需求的本质. 敏捷不是指某一种具体的方法论.过程或框架,而是一组价值观和原则.符合敏捷价值观和原则的开发方法包括:极限编程( XP), Scrum, 精益软件开发( Lean Software Development), 动态系统开发方

敏捷测试和瀑布测试的关联

什么是敏捷? 在敏捷开发在软件和互联网产品开发领域日渐普及的情况下,我们从敏捷开发认识敏捷,继而接触到周金根老师的敏捷人生,<managemeng 3.0>又将敏捷的概念带到管理层面,但到目前为止我们谈敏捷都基于一个特定背景,如开发.管理,所以如果脱离背景,敏捷究竟具有哪些特质?和塔勒布先生提出的Anti-fragile有何相同和不同之处? 被浏览 10391 4 个回答 Waterwalker 「敏捷销售」教练,公众号ID: agilesales2015 终于在提出问题一年后可以亲自谈谈对&

何谓敏捷软件开发?与传统软件工程的对比

大家好,下面的内容将阐述我对于敏捷软件开发的产生背景.理解以及在实际运用中对于敏捷开发的误解.如果有理解阐述不正确的地方,欢迎指正! 敏捷软件开发 Agile software Development 敏捷开发是一种软件开发方法,基于迭代和增量开发,通过自组织,跨团队,沟通协作完成开发工作.[1] 想必大家会看到过下面这张图,对于整个庞大的复杂的软件项目,在背景知识需求了解的基础上,首先要尽可能的将项目进行模块的划分,并且尽量减少耦合,对于每一个小的模块 进入该部分的冲刺阶段,通过不断的交付可以