| name | xp-practices |
| description | Apply XP practices including pair programming, ensemble programming, continuous integration, and sustainable pace. Use when implementing agile development practices, improving team collaboration, or adopting technical excellence practices. |
| category | methodology |
| priority | medium |
| tokenEstimate | 1000 |
| agents | ["qe-quality-analyzer","qe-test-executor","qe-code-reviewer"] |
| implementation_status | optimized |
| optimization_version | 1 |
| last_optimized | "2025-12-03T00:00:00.000Z" |
| dependencies | [] |
| quick_reference_card | true |
| tags | ["xp","agile","pair-programming","tdd","continuous-integration","collaboration"] |
| trust_tier | 0 |
| validation | null |
Extreme Programming (XP) Practices
<default_to_action>
When applying XP practices:
- START with practices that give immediate value
- BUILD supporting practices gradually
- ADAPT to your context
- MEASURE results
Core XP Practices (Prioritized):
| Practice | Start Here | Why First |
|---|
| TDD | ✅ Yes | Foundation for everything |
| Continuous Integration | ✅ Yes | Fast feedback |
| Pair Programming | ✅ Yes | Knowledge sharing |
| Collective Ownership | After CI+TDD | Needs safety net |
| Small Releases | After CI | Infrastructure dependent |
Pairing Quick Start:
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>
Quick Reference Card
When to Pair
| Context | Pair? | Why |
|---|
| Complex/risky code | ✅ Always | Needs multiple perspectives |
| New technology | ✅ Always | Learning accelerator |
| Onboarding | ✅ Always | Knowledge transfer |
| Critical bugs | ✅ Always | Two heads better |
| Simple tasks | ❌ Skip | Not worth overhead |
| Research spikes | ❌ Skip | Pair to discuss findings |
Agent Integration
const charter = "Test payment edge cases";
const tests = await Task("Generate Tests", { charter }, );
reviewed = human.(tests);
(, { : reviewed }, );
(, { prDiff }, );
(, { : prDiff }, );
(, { : }, );
agentWork = [, , ];
humanWork = [, , ];