敏捷开发:通过快速迭代和小规模的持续改进,以快速适应变化。
敏捷开发 = 迭代开发 + 增量开发
在每一次的迭代过程中处理一个小规模增量,通过小规模性的经常性的迭代、增量流程实现软件的完善开发。"增量开发",指的是软件的每个版本,都会新增一个用户可以感知的完整功能。也就是说,按照新增功能来划分迭代。增量开发加上迭代开发,才算真正的敏捷开发。
敏捷宣言:
- 程序员的主观能动性,以及程序员之间的互动,优于既定流程和工具。
- 软件能够运行,优于详尽的文档。
- 跟客户的密切协作,优于合同和谈判。
- 能够响应变化,优于遵循计划
十二条敏捷开发的原则。
- 通过早期和持续交付有价值的软件,实现客户满意度。
- 欢迎不断变化的需求,即使是在项目开发的后期。要善于利用需求变更,帮助客户获得竞争优势。
- 不断交付可用的软件,周期通常是几周,越短越好。
- 项目过程中,业务人员与开发人员必须在一起工作。
- 项目必须围绕那些有内在动力的个人而建立,他们应该受到信任。
- 面对面交谈是最好的沟通方式。
- 可用性是衡量进度的主要指标。
- 提倡可持续的开发,保持稳定的进展速度。
- 不断关注技术是否优秀,设计是否良好。
- 简单性至关重要,尽最大可能减少不必要的工作。
- 最好的架构、要求和设计,来自团队内部自发的认识。
- 团队要定期反思如何更有效,并相应地进行调整。