敏捷开发的价值观

  实际上敏捷开发运动在数年前就开始了,但它正式开始的标志是2001年2月的“敏捷宣言”(Agile Manifesto),这项宣言是由17位当时称之为“轻量级方法学家”所编写签署的,他们的价值观是:个人与交互重于开发过程与工具;可用的软件重于复杂的文档;寻求客户的合作重于对合同的谈判;对变化的响应重于始终遵循固定的计划。

  个人与交互重于开发过程与工具的原因:一个由优秀的人员组成但使用普通的工具,要比使用优秀的工具但由普通人组成、紊乱的小组做得更好。多年来人们花了很多时间试图建立一种过程,以便把人当作机器上的一个可以替代的齿轮,但结果却并不成功。敏捷过程是承认每个人都有特定的能力(以及缺点)对之加以利用,而不是把所有的人当成一样来看待。更重要的是,在这样的理念下,几个项目做下来,每个人的能力都从中得以提高。这种人的能力的提高,对公司是无价之宝。而不至于把人当成齿轮,随着时间的推移,人的能力慢慢被消耗掉,最后变成留之无用、弃之可惜的尴尬人物。

  可用的软件重于复杂的文档的原因:可用的软件可以帮助开发人员在每次迭代结束的时候,获得一个稳定的、逐渐增强的版本。从而允许项目尽早开始,并且更为频繁的收集对产品和开发过程的反馈。随着每次迭代完成软件的增长,以保证开发小组始终是处理最有价值的功能,而且这些功能可以满足用户的期待。

  寻求客户的合作重于对合同的谈判的原因:敏捷开发小组希望与项目有关的所有团体都在朝共同方向努力,合同谈判有时会在一开始就使小组和客户出于争执中。敏捷开发追求的是要么大家一起赢,要么大家一起输。换句话说,就是希望开发小组和客户在面对项目的时候,以一种合作的态度共同向目标前进。当然,合同是必需的,但是如何起草条款,往往影响到不同的团体是进行合作式的还是对抗式的努力。

  对变化的响应重于始终遵循固定的计划的原因:敏捷开发认为对变化进行响应的价值重于始终遵循固定的计划。他们最终的焦点是向用户交付尽可能多的价值。除了最简单的项目以外,用户不可能知道他们所需要的所有功能的每个细节。不可避免地在过程中会产生新的想法,也许今天看起来是必需的功能,明天就会觉得不那么重要了。随着小组获得更多的知识和经验,他们的进展速度会比开始的时候期望值慢或者快。对敏捷开发来说,一个计划是从某个角度对未来的看法,而具有多个不同的角度看问题是有可能的。

最新文章

  1. codis集群安装
  2. linux crontab 文件位置和日志位置
  3. Azure 负载均衡和可用性集
  4. Spring的注解方式
  5. 在学java继承中
  6. Pandas 0 数据结构Series
  7. 转 -Filebeat + Redis 管理 LOG日志实践
  8. 音视频处理概要 markdown
  9. 给页面点击链接加了转圈圈和解决遇到的bug
  10. 洛谷P2148 [SDOI2009]E&D(博弈论)
  11. JavaScript之子类构建工具
  12. Markdown 标题
  13. JavaWeb 基础学习
  14. Server SSL certificate verification failed: certificate has expired, issuer is not trusted
  15. 原生WebGL绘制3个点
  16. Mac OS下 selenium 驱动safari日志
  17. c# ajax从后台获取数据list数组 $.each再显示数据
  18. 互评Beta版本——可以低头,但没必要——取件帮
  19. 终于知道为什么我的mysql总是卸载的不干净以及老是找不到my.ini文件
  20. 初始加载时edittext不自动获取焦点的方法

热门文章

  1. iOS之开发程序之间的跳转及跳转到appStore
  2. posix thread概述(示例代码)
  3. js定时器window.setTimeout和setInterval
  4. vagrant yii2 Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002]
  5. .NET学习笔记(4) — C#数据类型
  6. JavaScript高级程序设计(第三版)学习笔记11、12、17章
  7. 基于mvc结构的前端页面框架搭建
  8. 导出Excel事例
  9. ASP防止盗链的一段代码
  10. Android M Developer Preview - API Preview(一)