2008-09-24 15:52:557110浏览 | 2评论
2001年2月11日到13日,17位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场。经过两天的讨论,“敏捷”(Agile)这个词为全体聚会者所接受,用以概括一套全新的软件开发价值观。这套价值观,通过一份简明扼要的《敏捷宣言》,传递给世界,宣告了敏捷开发运动的开始。
——引子:中国软件业所缺少的,不是士兵,而是军官,不是新兵训练营,而是黄埔军校。
序:敏捷宣言及其12准则
对话软件大师之马丁·福勒
第一部分:重构
第二部分:设计原则与代码所有权
第三部分:进化型设计
第四部分:灵活性与复杂性
第五部分:测试驱动开发
第六部分:性能与过程调优
我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下价值观:
个体与交互 重于 过程和工具
在每对比对中,后者并非全无价值,但我们更看重前者。
Kent Beck
我们遵循以下准则:
1. 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。
2. 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。
3. 要不断交付可用的软件,周期从几周到几个月不等,且越短越好。
4.项目过程中,业务人员与开发人员必须在一起工作。
5. 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。
6. 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。
7. 可用的软件是衡量进度的主要指标。
8. 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
9. 对技术的精益求精以及对设计的不断完善将提升敏捷性。
10. 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。
11. 最佳的架构、需求和设计出自于自组织的团队。
12. 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。