概述
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。整个过程以价值为目标导向,以人为核心动力的一种开发流程;
敏捷的四个核心价值观
-
个体和互动 高于 流程和工具
工具很重要,但不要过分夸大工具的作用。
团队的构建,比环境的构建重要得多,合作、沟通的能力比单纯的编程能力更重要。 -
可工作的软件 高于 详尽的文档
没有文档的软件是一种灾难;但过多的文档比过少的文档更糟糕。 -
客户合作 高于 合同谈判
成功的项目需要有序、频繁的客户反馈。
不要依赖于合同或者关于工作的陈述,而要让软件的客户和开发团队密切地在一起工作,并尽量经常提供反馈 -
响应变化 高于 遵循计划
响应变化的能力常决定一个软件项目的成败。计划不能考虑过远。
较好的做计划的策略是:为下两周做详细的计划,为下三个月做初略的计划,再以后就做极为初略的计划。
敏捷宣言原则
- 主张简单
- 拥抱变化
- 快速反馈
- 高质量的工作
- 可用的软件
敏捷宣言
- 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。
- 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。
- 要不断交付可用的软件,周期从几周到几个月不等,且越短越好。
- 项目过程中,业务人员与开发人员必须在一起工作。
- 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。
- 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。
- 可用的软件是衡量进度的主要指标。
- 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
- 对技术的精益求精以及对设计的不断完善将提升敏捷性。
- 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。
- 最佳的架构、需求和设计出自于自组织的团队。
- 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。