1. 极限编程(XP,Extreme Programming)
  • 定义:XP是一种轻量(敏捷)、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方式。由价值观、原则、实践和行为四个部分组成,它们彼此相互依赖、关联,并通过行为贯穿于整个生命周期。
  • 与其他方法论的区别:

在更短的周期内,更早地提供具体、持续的反馈信息。

迭代地进行计划编制,首先在最开始迅速生成一个总体计划,然后在整个项目开发过程中不断地发展它。

依赖于自动测试程序来监控开发进度,并及早地捕获缺陷。

依赖于口头交流、测试和源程序进行沟通。

倡导持续的演化式的设计。

依赖于开发团队内部的紧密协作。

尽可能达到程序员短期利益和项目长期利益的平衡。

  • 4大核心价值观:沟通、简单、反馈和勇气。
  • 5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。贯彻的是"小步快走"的开发原则,通常采用测试先行的编码方式来提供支持。 
  • 12个最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户、编码标准。