2001年2月11日到13日,十七位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地Snowbird雪场。经过两天的讨论,敏捷(Agile)这个词为全体聚会者所接受,用来概括一套全新的软件开发价值观。这套价值观,通过一份简明扼要的《敏捷宣言》,传递给世界,宣告了敏捷开发运动的开始。宣言内容如下:
我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下的价值观:
- 个体和交互 胜过 过程和工具
- 可以工作的软件 胜过 完备的文档
- 客户合作 胜过 合同谈判
- 响应变化 胜过 遵循计划
虽然右项也有价值,但左项具有更大的价值。
随后敏捷运动在全世界轰轰烈烈展开,攻城略地,像潮水一样淹没了整个软件开发行业。XP、Scrum、TSP、PSP等等敏捷流派如雨后春笋般涌现,成为“显学”,传统的瀑布式开发模式销声匿迹,即使有的公司、团队或个人实际上仍在采用瀑布式开发,也腆颜宣称自己是采用敏捷方式的,否则不好意思见人。RUP等重型方法论也开始改头换面,支持开发者对其过程进行裁剪,变得越来越敏捷了。最具标志性的事件是美国国防部,这个瀑布式开发的坚强堡垒,“计划与控制”式管理模式的死忠支持者,最近也被敏捷方法论攻陷了。他们邀请Jeff Sutherland博士(Scrum软件开发过程的发明者、Scrum公司的CEO)指导他们进行敏捷转型。
只有神州天朝例外。
在我国,客户、软件公司和开发者都没有任何敏捷的概念,遑论采用。他们口中念念有词“需求阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段”;认为可以用流程和工具规范码农,像管理农民工一样管理开发者;对文档的强调达到偏执的程度;认为客户和软件公司的利益是零和的,要在谈判桌上寸步不让;通过编排到几个月的详细计划和漂亮的甘特图骗人骗己。
人家已经在机械化生产,我们还在刀耕火种;人家船坚炮利,我们只有黑鸡白狗血;人家在革故鼎新,我们在抱残守缺。
面向对象思想和编程语言已经出现了三十多年,我们还在用面向对象的编程语言写面向过程的代码;敏捷方法论风行了十多年,我们还在瀑布式开发中疲于奔命。我们落后于世界何止一点半点。
下面我会将自己对四个敏捷价值观的理解拿出来和大家分享,每天一个,希望能够对大家有所助益。
原文地址:http://my.oschina.net/dayatang/blog/287996