XP 核心实践是什么
极限编程(XP)是一套以工程实践为核心的敏捷方法,实践分两侧:工程侧包括测试驱动开发、结对编程、重构、持续集成、小步发布、集体代码所有权与编码规范;协作侧包括现场客户、可持续节奏与计划游戏。它解决的具体问题是「怎么让快速迭代不牺牲质量」。这些实践相互支撑,单独抽取一项(例如只做结对编程)效果通常有限。
基本信息
| 工程实践 | 测试驱动开发、结对编程、重构、持续集成、小步发布、集体代码所有权 |
|---|---|
| 协作实践 | 现场客户、可持续节奏、计划游戏、统一编码规范 |
| 核心目标 | 在快速变更下维持可维护性与可预测的交付节奏 |
| 常见前置 | 自动化测试能力、可频繁发布的技术条件、团队协作意愿 |
| 度量参考 | 回归通过率、主干可发布状态、缺陷逃逸率、周期时间 |
典型使用场景
- 缺陷在后期集中暴露,需要把质量责任前移到编码阶段
- 关键模块只有一个人熟悉,需要用结对与集体所有权降低单点依赖
- 发布前需要长时间手工回归,需要用自动化测试支撑小步发布
- 技术债堆积导致每次改动都引发意外故障,需要用重构控制结构劣化
- 需求频繁变化,需要用测试用例承载验收标准并保持可回归
实践与目标
| 实践 | 做法 | 目标 |
|---|---|---|
| 测试驱动开发 | 先写失败测试再实现 | 需求可执行化,回归有保障 |
| 结对编程 | 两人协作编写与实时评审 | 实时评审与知识共享 |
| 重构 | 小步改进结构,不改变外部行为 | 控制技术债,保持可修改性 |
| 持续集成 | 频繁合并主干并保持可发布 | 集成问题早暴露 |
| 小步发布 | 短周期交付可用增量 | 降低单次发布风险 |
XP 实践互为支撑:测试驱动开发提供安全网,重构才敢小步进行;持续集成让结对与集体所有权不会造成主干混乱。逐项孤立引入,收益会被其他环节的瓶颈抵消。