关于 qe-xp-practices
面向软件开发团队的极限编程(XP)实践技能,介绍 TDD、持续集成、结对编程等方法及其协作方式。内容强调逐步采用实践、结合团队情境调整并衡量效果。
主要功能
- 01介绍 XP 的价值观与核心实践
- 02提供结对及群体编程的角色和轮换方式
- 03说明持续集成的步骤与构建习惯
- 04给出简单设计的四项规则
- 05展示 Agent 参与测试与持续集成的方式
适用场景
- 01团队开始采用 TDD 和持续集成
- 02通过结对编程处理复杂或高风险任务
- 03用群体编程解决架构决策或阻塞问题
- 04将 Agent 纳入测试生成与代码审查流程
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill qe-xp-practices安装后在 Claude Code 中输入/qe-xp-practices确认已加载。
详细介绍
极限编程(XP)实践
<default_to_action> 应用 XP 实践时:
- 从能立即带来价值的实践开始
- 逐步构建支持性实践
- 根据你的情境调整
- 衡量结果
XP 核心实践(按优先级排序):
| 实践 | 从这里开始 | 优先原因 |
|---|---|---|
| TDD | ✅ 是 | 一切的基础 |
| 持续集成 | ✅ 是 | 快速反馈 |
| 结对编程 | ✅ 是 | 知识共享 |
| 集体所有权 | CI+TDD 之后 | 需要安全网 |
| 小步发布 | CI 之后 | 依赖基础设施 |
结对编程快速入门:
Driver-Navigator (Classic):
- Driver: Writes code
- Navigator: Reviews, thinks ahead
- Rotate every 20-30 min
Ping-Pong (with TDD):
A: Write failing test
B: Make test pass + refactor
B: Write next failing test
A: Make test pass + refactor
</default_to_action>
快速参考卡
XP 的五大价值观
| 价值观 | 含义 | 实践 |
|---|---|---|
| 沟通 | 每个人都了解彼此在做什么 | 每日站会、结对编程 |
| 简单 | 能正常工作的最简单方案 | YAGNI、小型设计 |
| 反馈 | 尽早且频繁地获取反馈 | TDD、CI、短迭代 |
| 勇气 | 说实话,灵活调整 | 重构、承认错误 |
| 尊重 | 每个人都能贡献价值 | 可持续的节奏、结对编程 |
核心实践
| 实践 | 说明 | 优势 |
|---|---|---|
| 结对编程 | 两名开发者,共用一台工作站 | 质量 + 知识共享 |
| TDD | 红-绿-重构 | 信心 + 设计 |
| CI | 每天多次集成 | 快速反馈 |
| 集体所有权 | 任何人都可以修改任何内容 | 没有瓶颈 |
| 可持续的节奏 | 每周工作 40 小时 | 长期生产力 |
| 小步发布 | 频繁发布 | 降低风险 |
结对编程
何时结对
| 情境 | 结对? | 原因 |
|---|---|---|
| 复杂 / 高风险代码 | ✅ 始终 | 需要多种视角 |
| 新技术 | ✅ 始终 | 加速学习 |
| 新人入职 | ✅ 始终 | 知识传递 |
| 关键 Bug | ✅ 始终 | 两人总比一人强 |
| 简单任务 | ❌ 跳过 | 不值得付出额外开销 |
| 调研探索 | ❌ 跳过 | 结对讨论发现 |
结对编程的注意事项
应该做:
- ✅ 每 20-30 分钟轮换角色
- ✅ 一起休息
- ✅ 边想边说
- ✅ 提出问题
- ✅ 每次最多结对 2-4 小时
不要做:
- ❌ 未经询问就拿键盘
- ❌ 结对时看手机
- ❌ 主导对话
- ❌ 整天结对(令人疲惫)
Ensemble(Mob)编程
**设置:**3 名以上开发者,一个屏幕,轮换驾驶员
[Screen]
↓
[Driver] ← Directions from navigators
↑
[Navigator 1] [Navigator 2] [Navigator 3]
**轮换:**每 5-10 分钟更换驾驶员
适用于:
- 解决复杂问题
- 架构决策
- 学习新框架
- 解决阻碍
持续集成
CI 工作流:
1. Pull latest from main
2. Make small change (<2 hrs work)
3. Run tests locally (all pass)
4. Commit and push
5. CI runs tests automatically
6. If fail → fix immediately
最佳实践:
- 频繁提交(小改动)
- 保持构建快速(<10 分钟)
- 立即修复失败的构建
- 切勿提交到失败的构建
简单设计的四项规则
(按优先级排序)
- 通过所有测试 - 正常工作
- 清晰表达意图 - 代码清晰、易读
- 没有重复 - DRY 原则
- 元素尽可能少 - 不编写推测性代码
Agent 集成
// Agent-human pair testing
const charter = "Test payment edge cases";
const tests = await Task("Generate Tests", { charter }, "qe-test-generator");
const reviewed = await human.review(tests);
await Task("Implement", { tests: reviewed }, "qe-test-generator");
// Continuous integration with agents
await Task("Risk Analysis", { prDiff }, "qe-regression-risk-analyzer");
await Task("Generate Tests", { changes: prDiff }, "qe-test-generator");
await Task("Execute Tests", { scope: 'affected' }, "qe-test-executor");
// Sustainable pace: agents handle grunt work
const agentWork = ['regression', 'data-generation', 'coverage-analysis'];
const humanWork = ['exploratory', 'risk-assessment', 'strategy'];
Agent 协调提示
记忆命名空间
aqe/xp-practices/
├── pairing-sessions/* - Pair/ensemble session logs
├── ci-metrics/* - CI health metrics
├── velocity/* - Team velocity data
└── retrospectives/* - XP retrospective notes
Fleet 协调
const xpFleet = await FleetManager.coordinate({
strategy: 'xp-workflow',
agents: [
'qe-test-generator', // TDD support
'qe-test-executor', // CI integration
'qe-code-reviewer' // Collective ownership
],
topology: 'parallel'
});
常见异议
| 异议 | 回应 |
|---|---|
| "结对速度慢了 2 倍" | 编码速度慢 15%,Bug 少 15%,总体仍有收益 |
| "没时间做 TDD" | 调试比测试耗时更长 |
| "CI 很难搭建" | 从简单开始:一个操作,一个测试 |
| "集体所有权 = 混乱" | 只有缺少测试和 CI 时才会如此 |
相关技能
- tdd-london-chicago - 深入了解 TDD
- refactoring-patterns - 安全重构
- pair-programming - AI 辅助结对编程
请记住
XP 实践应作为一个系统协同运作。 不要随意挑选:
- TDD 让集体所有权成为可能
- CI 让小步发布成为可能
- 结对让集体所有权成为可能
- 可持续的节奏让一切成为可能
与 Agent 协作: Agent 能放大 XP 的效果。让人类与 Agent 结对。Agent 负责处理重复性工作,人类则提供判断力和创造力。
评论
支持 Markdown