agentic-qe 1.9.4 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +95 -1336
  2. package/.claude/agents/qe-chaos-engineer.md +152 -1211
  3. package/.claude/agents/qe-code-complexity.md +144 -707
  4. package/.claude/agents/qe-coverage-analyzer.md +147 -743
  5. package/.claude/agents/qe-deployment-readiness.md +143 -1496
  6. package/.claude/agents/qe-flaky-test-hunter.md +132 -1529
  7. package/.claude/agents/qe-fleet-commander.md +12 -12
  8. package/.claude/agents/qe-performance-tester.md +150 -886
  9. package/.claude/agents/qe-production-intelligence.md +155 -1396
  10. package/.claude/agents/qe-quality-analyzer.md +6 -6
  11. package/.claude/agents/qe-quality-gate.md +151 -648
  12. package/.claude/agents/qe-regression-risk-analyzer.md +132 -1150
  13. package/.claude/agents/qe-requirements-validator.md +149 -932
  14. package/.claude/agents/qe-security-scanner.md +157 -797
  15. package/.claude/agents/qe-test-data-architect.md +96 -1365
  16. package/.claude/agents/qe-test-executor.md +8 -8
  17. package/.claude/agents/qe-test-generator.md +145 -1540
  18. package/.claude/agents/qe-visual-tester.md +153 -1257
  19. package/.claude/agents/qx-partner.md +248 -0
  20. package/.claude/agents/subagents/qe-code-reviewer.md +40 -136
  21. package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +40 -480
  22. package/.claude/agents/subagents/qe-data-generator.md +41 -125
  23. package/.claude/agents/subagents/qe-flaky-investigator.md +55 -411
  24. package/.claude/agents/subagents/qe-integration-tester.md +53 -141
  25. package/.claude/agents/subagents/qe-performance-validator.md +54 -130
  26. package/.claude/agents/subagents/qe-security-auditor.md +56 -114
  27. package/.claude/agents/subagents/qe-test-data-architect-sub.md +57 -548
  28. package/.claude/agents/subagents/qe-test-implementer.md +58 -551
  29. package/.claude/agents/subagents/qe-test-refactorer.md +65 -722
  30. package/.claude/agents/subagents/qe-test-writer.md +63 -726
  31. package/.claude/skills/accessibility-testing/SKILL.md +144 -692
  32. package/.claude/skills/agentic-quality-engineering/SKILL.md +176 -529
  33. package/.claude/skills/api-testing-patterns/SKILL.md +180 -560
  34. package/.claude/skills/brutal-honesty-review/SKILL.md +113 -603
  35. package/.claude/skills/bug-reporting-excellence/SKILL.md +116 -517
  36. package/.claude/skills/chaos-engineering-resilience/SKILL.md +127 -72
  37. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +209 -404
  38. package/.claude/skills/code-review-quality/SKILL.md +158 -608
  39. package/.claude/skills/compatibility-testing/SKILL.md +148 -38
  40. package/.claude/skills/compliance-testing/SKILL.md +132 -63
  41. package/.claude/skills/consultancy-practices/SKILL.md +114 -446
  42. package/.claude/skills/context-driven-testing/SKILL.md +117 -381
  43. package/.claude/skills/contract-testing/SKILL.md +176 -141
  44. package/.claude/skills/database-testing/SKILL.md +137 -130
  45. package/.claude/skills/exploratory-testing-advanced/SKILL.md +160 -629
  46. package/.claude/skills/holistic-testing-pact/SKILL.md +140 -188
  47. package/.claude/skills/localization-testing/SKILL.md +145 -33
  48. package/.claude/skills/mobile-testing/SKILL.md +132 -448
  49. package/.claude/skills/mutation-testing/SKILL.md +147 -41
  50. package/.claude/skills/performance-testing/SKILL.md +200 -546
  51. package/.claude/skills/quality-metrics/SKILL.md +164 -519
  52. package/.claude/skills/refactoring-patterns/SKILL.md +132 -699
  53. package/.claude/skills/regression-testing/SKILL.md +120 -926
  54. package/.claude/skills/risk-based-testing/SKILL.md +157 -660
  55. package/.claude/skills/security-testing/SKILL.md +199 -538
  56. package/.claude/skills/sherlock-review/SKILL.md +163 -699
  57. package/.claude/skills/shift-left-testing/SKILL.md +161 -465
  58. package/.claude/skills/shift-right-testing/SKILL.md +161 -519
  59. package/.claude/skills/six-thinking-hats/SKILL.md +175 -1110
  60. package/.claude/skills/skills-manifest.json +683 -0
  61. package/.claude/skills/tdd-london-chicago/SKILL.md +131 -448
  62. package/.claude/skills/technical-writing/SKILL.md +103 -154
  63. package/.claude/skills/test-automation-strategy/SKILL.md +166 -772
  64. package/.claude/skills/test-data-management/SKILL.md +126 -910
  65. package/.claude/skills/test-design-techniques/SKILL.md +179 -89
  66. package/.claude/skills/test-environment-management/SKILL.md +136 -91
  67. package/.claude/skills/test-reporting-analytics/SKILL.md +169 -92
  68. package/.claude/skills/testability-scoring/README.md +71 -0
  69. package/.claude/skills/testability-scoring/SKILL.md +245 -0
  70. package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -0
  71. package/.claude/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
  72. package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
  73. package/.claude/skills/testability-scoring/scripts/run-assessment.sh +70 -0
  74. package/.claude/skills/visual-testing-advanced/SKILL.md +155 -78
  75. package/.claude/skills/xp-practices/SKILL.md +151 -587
  76. package/CHANGELOG.md +110 -0
  77. package/README.md +55 -21
  78. package/dist/agents/QXPartnerAgent.d.ts +146 -0
  79. package/dist/agents/QXPartnerAgent.d.ts.map +1 -0
  80. package/dist/agents/QXPartnerAgent.js +1831 -0
  81. package/dist/agents/QXPartnerAgent.js.map +1 -0
  82. package/dist/agents/index.d.ts +1 -0
  83. package/dist/agents/index.d.ts.map +1 -1
  84. package/dist/agents/index.js +82 -2
  85. package/dist/agents/index.js.map +1 -1
  86. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  87. package/dist/agents/lifecycle/AgentLifecycleManager.js +34 -31
  88. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  89. package/dist/cli/commands/debug/agent.d.ts.map +1 -1
  90. package/dist/cli/commands/debug/agent.js +19 -6
  91. package/dist/cli/commands/debug/agent.js.map +1 -1
  92. package/dist/cli/commands/debug/health-check.js +20 -7
  93. package/dist/cli/commands/debug/health-check.js.map +1 -1
  94. package/dist/cli/commands/init-claude-md-template.d.ts +1 -0
  95. package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
  96. package/dist/cli/commands/init-claude-md-template.js +18 -3
  97. package/dist/cli/commands/init-claude-md-template.js.map +1 -1
  98. package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
  99. package/dist/cli/commands/workflow/cancel.js +4 -3
  100. package/dist/cli/commands/workflow/cancel.js.map +1 -1
  101. package/dist/cli/commands/workflow/list.d.ts.map +1 -1
  102. package/dist/cli/commands/workflow/list.js +4 -3
  103. package/dist/cli/commands/workflow/list.js.map +1 -1
  104. package/dist/cli/commands/workflow/pause.d.ts.map +1 -1
  105. package/dist/cli/commands/workflow/pause.js +4 -3
  106. package/dist/cli/commands/workflow/pause.js.map +1 -1
  107. package/dist/cli/init/claude-config.d.ts.map +1 -1
  108. package/dist/cli/init/claude-config.js +3 -8
  109. package/dist/cli/init/claude-config.js.map +1 -1
  110. package/dist/cli/init/claude-md.d.ts.map +1 -1
  111. package/dist/cli/init/claude-md.js +44 -2
  112. package/dist/cli/init/claude-md.js.map +1 -1
  113. package/dist/cli/init/database-init.js +1 -1
  114. package/dist/cli/init/index.d.ts.map +1 -1
  115. package/dist/cli/init/index.js +13 -6
  116. package/dist/cli/init/index.js.map +1 -1
  117. package/dist/cli/init/skills.d.ts.map +1 -1
  118. package/dist/cli/init/skills.js +2 -1
  119. package/dist/cli/init/skills.js.map +1 -1
  120. package/dist/core/SwarmCoordinator.d.ts +180 -0
  121. package/dist/core/SwarmCoordinator.d.ts.map +1 -0
  122. package/dist/core/SwarmCoordinator.js +473 -0
  123. package/dist/core/SwarmCoordinator.js.map +1 -0
  124. package/dist/core/memory/AgentDBIntegration.d.ts +24 -6
  125. package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -1
  126. package/dist/core/memory/AgentDBIntegration.js +66 -10
  127. package/dist/core/memory/AgentDBIntegration.js.map +1 -1
  128. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +341 -0
  129. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -0
  130. package/dist/core/memory/UnifiedMemoryCoordinator.js +986 -0
  131. package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -0
  132. package/dist/core/memory/index.d.ts +5 -0
  133. package/dist/core/memory/index.d.ts.map +1 -1
  134. package/dist/core/memory/index.js +23 -1
  135. package/dist/core/memory/index.js.map +1 -1
  136. package/dist/core/metrics/MetricsAggregator.d.ts +228 -0
  137. package/dist/core/metrics/MetricsAggregator.d.ts.map +1 -0
  138. package/dist/core/metrics/MetricsAggregator.js +482 -0
  139. package/dist/core/metrics/MetricsAggregator.js.map +1 -0
  140. package/dist/core/metrics/index.d.ts +5 -0
  141. package/dist/core/metrics/index.d.ts.map +1 -0
  142. package/dist/core/metrics/index.js +11 -0
  143. package/dist/core/metrics/index.js.map +1 -0
  144. package/dist/core/optimization/SwarmOptimizer.d.ts +190 -0
  145. package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -0
  146. package/dist/core/optimization/SwarmOptimizer.js +648 -0
  147. package/dist/core/optimization/SwarmOptimizer.js.map +1 -0
  148. package/dist/core/optimization/index.d.ts +9 -0
  149. package/dist/core/optimization/index.d.ts.map +1 -0
  150. package/dist/core/optimization/index.js +25 -0
  151. package/dist/core/optimization/index.js.map +1 -0
  152. package/dist/core/optimization/types.d.ts +53 -0
  153. package/dist/core/optimization/types.d.ts.map +1 -0
  154. package/dist/core/optimization/types.js +6 -0
  155. package/dist/core/optimization/types.js.map +1 -0
  156. package/dist/core/orchestration/AdaptiveScheduler.d.ts +190 -0
  157. package/dist/core/orchestration/AdaptiveScheduler.d.ts.map +1 -0
  158. package/dist/core/orchestration/AdaptiveScheduler.js +460 -0
  159. package/dist/core/orchestration/AdaptiveScheduler.js.map +1 -0
  160. package/dist/core/orchestration/PriorityQueue.d.ts +54 -0
  161. package/dist/core/orchestration/PriorityQueue.d.ts.map +1 -0
  162. package/dist/core/orchestration/PriorityQueue.js +122 -0
  163. package/dist/core/orchestration/PriorityQueue.js.map +1 -0
  164. package/dist/core/orchestration/WorkflowOrchestrator.d.ts +189 -0
  165. package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -0
  166. package/dist/core/orchestration/WorkflowOrchestrator.js +845 -0
  167. package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -0
  168. package/dist/core/orchestration/index.d.ts +7 -0
  169. package/dist/core/orchestration/index.d.ts.map +1 -0
  170. package/dist/core/orchestration/index.js +11 -0
  171. package/dist/core/orchestration/index.js.map +1 -0
  172. package/dist/core/orchestration/types.d.ts +96 -0
  173. package/dist/core/orchestration/types.d.ts.map +1 -0
  174. package/dist/core/orchestration/types.js +6 -0
  175. package/dist/core/orchestration/types.js.map +1 -0
  176. package/dist/core/recovery/CircuitBreaker.d.ts +176 -0
  177. package/dist/core/recovery/CircuitBreaker.d.ts.map +1 -0
  178. package/dist/core/recovery/CircuitBreaker.js +382 -0
  179. package/dist/core/recovery/CircuitBreaker.js.map +1 -0
  180. package/dist/core/recovery/RecoveryOrchestrator.d.ts +186 -0
  181. package/dist/core/recovery/RecoveryOrchestrator.d.ts.map +1 -0
  182. package/dist/core/recovery/RecoveryOrchestrator.js +476 -0
  183. package/dist/core/recovery/RecoveryOrchestrator.js.map +1 -0
  184. package/dist/core/recovery/RetryStrategy.d.ts +127 -0
  185. package/dist/core/recovery/RetryStrategy.d.ts.map +1 -0
  186. package/dist/core/recovery/RetryStrategy.js +314 -0
  187. package/dist/core/recovery/RetryStrategy.js.map +1 -0
  188. package/dist/core/recovery/index.d.ts +8 -0
  189. package/dist/core/recovery/index.d.ts.map +1 -0
  190. package/dist/core/recovery/index.js +27 -0
  191. package/dist/core/recovery/index.js.map +1 -0
  192. package/dist/core/skills/DependencyResolver.d.ts +99 -0
  193. package/dist/core/skills/DependencyResolver.d.ts.map +1 -0
  194. package/dist/core/skills/DependencyResolver.js +260 -0
  195. package/dist/core/skills/DependencyResolver.js.map +1 -0
  196. package/dist/core/skills/DynamicSkillLoader.d.ts +96 -0
  197. package/dist/core/skills/DynamicSkillLoader.d.ts.map +1 -0
  198. package/dist/core/skills/DynamicSkillLoader.js +353 -0
  199. package/dist/core/skills/DynamicSkillLoader.js.map +1 -0
  200. package/dist/core/skills/ManifestGenerator.d.ts +114 -0
  201. package/dist/core/skills/ManifestGenerator.d.ts.map +1 -0
  202. package/dist/core/skills/ManifestGenerator.js +449 -0
  203. package/dist/core/skills/ManifestGenerator.js.map +1 -0
  204. package/dist/core/skills/index.d.ts +9 -0
  205. package/dist/core/skills/index.d.ts.map +1 -0
  206. package/dist/core/skills/index.js +24 -0
  207. package/dist/core/skills/index.js.map +1 -0
  208. package/dist/core/skills/types.d.ts +118 -0
  209. package/dist/core/skills/types.d.ts.map +1 -0
  210. package/dist/core/skills/types.js +7 -0
  211. package/dist/core/skills/types.js.map +1 -0
  212. package/dist/core/transport/QUICTransport.d.ts +320 -0
  213. package/dist/core/transport/QUICTransport.d.ts.map +1 -0
  214. package/dist/core/transport/QUICTransport.js +711 -0
  215. package/dist/core/transport/QUICTransport.js.map +1 -0
  216. package/dist/core/transport/index.d.ts +40 -0
  217. package/dist/core/transport/index.d.ts.map +1 -0
  218. package/dist/core/transport/index.js +46 -0
  219. package/dist/core/transport/index.js.map +1 -0
  220. package/dist/core/transport/quic-loader.d.ts +123 -0
  221. package/dist/core/transport/quic-loader.d.ts.map +1 -0
  222. package/dist/core/transport/quic-loader.js +293 -0
  223. package/dist/core/transport/quic-loader.js.map +1 -0
  224. package/dist/core/transport/quic.d.ts +154 -0
  225. package/dist/core/transport/quic.d.ts.map +1 -0
  226. package/dist/core/transport/quic.js +214 -0
  227. package/dist/core/transport/quic.js.map +1 -0
  228. package/dist/mcp/server.d.ts +9 -9
  229. package/dist/mcp/server.d.ts.map +1 -1
  230. package/dist/mcp/server.js +1 -2
  231. package/dist/mcp/server.js.map +1 -1
  232. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  233. package/dist/mcp/services/AgentRegistry.js +4 -1
  234. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  235. package/dist/types/index.d.ts +2 -1
  236. package/dist/types/index.d.ts.map +1 -1
  237. package/dist/types/index.js +2 -0
  238. package/dist/types/index.js.map +1 -1
  239. package/dist/types/qx.d.ts +429 -0
  240. package/dist/types/qx.d.ts.map +1 -0
  241. package/dist/types/qx.js +71 -0
  242. package/dist/types/qx.js.map +1 -0
  243. package/dist/visualization/api/RestEndpoints.js +2 -2
  244. package/dist/visualization/api/RestEndpoints.js.map +1 -1
  245. package/dist/visualization/api/WebSocketServer.d.ts +44 -0
  246. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -1
  247. package/dist/visualization/api/WebSocketServer.js +144 -23
  248. package/dist/visualization/api/WebSocketServer.js.map +1 -1
  249. package/dist/visualization/core/DataTransformer.d.ts +10 -0
  250. package/dist/visualization/core/DataTransformer.d.ts.map +1 -1
  251. package/dist/visualization/core/DataTransformer.js +60 -5
  252. package/dist/visualization/core/DataTransformer.js.map +1 -1
  253. package/dist/visualization/emit-event.d.ts +75 -0
  254. package/dist/visualization/emit-event.d.ts.map +1 -0
  255. package/dist/visualization/emit-event.js +213 -0
  256. package/dist/visualization/emit-event.js.map +1 -0
  257. package/dist/visualization/index.d.ts +1 -0
  258. package/dist/visualization/index.d.ts.map +1 -1
  259. package/dist/visualization/index.js +7 -1
  260. package/dist/visualization/index.js.map +1 -1
  261. package/docs/reference/skills.md +63 -1
  262. package/package.json +16 -58
@@ -1,665 +1,229 @@
1
1
  ---
2
2
  name: xp-practices
3
- 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.
3
+ 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."
4
+ category: methodology
5
+ priority: medium
6
+ tokenEstimate: 1000
7
+ agents: [qe-quality-analyzer, qe-test-executor, qe-code-reviewer]
8
+ implementation_status: optimized
9
+ optimization_version: 1.0
10
+ last_optimized: 2025-12-03
11
+ dependencies: []
12
+ quick_reference_card: true
13
+ tags: [xp, agile, pair-programming, tdd, continuous-integration, collaboration]
4
14
  ---
5
15
 
6
16
  # Extreme Programming (XP) Practices
7
17
 
8
- ## Core Philosophy
9
-
10
- XP emphasizes technical excellence, rapid feedback, and sustainable pace. It's about doing the simple thing that could possibly work, then iterating based on real feedback.
11
-
12
- ## The Five Values
13
-
14
- 1. **Communication** - Everyone knows what everyone else is doing
15
- 2. **Simplicity** - Do the simplest thing that could possibly work
16
- 3. **Feedback** - Get feedback early and often
17
- 4. **Courage** - Tell the truth about progress and estimates, adapt when needed
18
- 5. **Respect** - Everyone contributes value, treat team members well
19
-
20
- ## Core XP Practices
18
+ <default_to_action>
19
+ When applying XP practices:
20
+ 1. START with practices that give immediate value
21
+ 2. BUILD supporting practices gradually
22
+ 3. ADAPT to your context
23
+ 4. MEASURE results
24
+
25
+ **Core XP Practices (Prioritized):**
26
+ | Practice | Start Here | Why First |
27
+ |----------|------------|-----------|
28
+ | TDD | Yes | Foundation for everything |
29
+ | Continuous Integration | ✅ Yes | Fast feedback |
30
+ | Pair Programming | ✅ Yes | Knowledge sharing |
31
+ | Collective Ownership | After CI+TDD | Needs safety net |
32
+ | Small Releases | After CI | Infrastructure dependent |
33
+
34
+ **Pairing Quick Start:**
35
+ ```
36
+ Driver-Navigator (Classic):
37
+ - Driver: Writes code
38
+ - Navigator: Reviews, thinks ahead
39
+ - Rotate every 20-30 min
21
40
 
22
- ### 1. Pair Programming
41
+ Ping-Pong (with TDD):
42
+ A: Write failing test
43
+ B: Make test pass + refactor
44
+ B: Write next failing test
45
+ A: Make test pass + refactor
46
+ ```
47
+ </default_to_action>
23
48
 
24
- **Definition:** Two developers working together at one workstation. One writes code (driver), the other reviews each line as it's typed (navigator).
49
+ ## Quick Reference Card
25
50
 
26
- #### Pairing Styles
51
+ ### The Five XP Values
27
52
 
28
- **Driver-Navigator (Classic)**
29
- - Driver: Writes code
30
- - Navigator: Reviews, suggests, thinks ahead
31
- - Rotate every 20-30 minutes
53
+ | Value | Meaning | Practice |
54
+ |-------|---------|----------|
55
+ | **Communication** | Everyone knows what everyone does | Daily standups, pairing |
56
+ | **Simplicity** | Simplest thing that works | YAGNI, small design |
57
+ | **Feedback** | Get feedback early and often | TDD, CI, short iterations |
58
+ | **Courage** | Tell truth, adapt | Refactor, admit mistakes |
59
+ | **Respect** | Everyone contributes value | Sustainable pace, pairing |
32
60
 
33
- **Ping-Pong Pairing (with TDD)**
34
- ```
35
- Person A: Writes failing test
36
- Person B: Makes test pass
37
- Person B: Refactors
38
- Person B: Writes next failing test
39
- Person A: Makes test pass
40
- [Continue...]
41
- ```
61
+ ### Core Practices
42
62
 
43
- **Strong-Style Pairing**
44
- - "For an idea to go from your head to the computer, it must go through someone else's hands"
45
- - Great for mentoring/knowledge transfer
63
+ | Practice | Description | Benefit |
64
+ |----------|-------------|---------|
65
+ | **Pair Programming** | Two devs, one workstation | Quality + knowledge sharing |
66
+ | **TDD** | Red-Green-Refactor | Confidence + design |
67
+ | **CI** | Integrate multiple times/day | Fast feedback |
68
+ | **Collective Ownership** | Anyone can change anything | No bottlenecks |
69
+ | **Sustainable Pace** | 40-hour weeks | Long-term productivity |
70
+ | **Small Releases** | Ship frequently | Risk reduction |
46
71
 
47
- #### When to Pair
72
+ ---
48
73
 
49
- **ALWAYS pair for:**
50
- - Complex or risky code
51
- - Learning new technology
52
- - Onboarding new team members
53
- - Critical bug fixes
54
- - Architectural decisions
74
+ ## Pair Programming
55
75
 
56
- **CAN pair for:**
57
- - Regular feature development
58
- - Refactoring sessions
59
- - Code reviews (live pairing review)
76
+ ### When to Pair
60
77
 
61
- **DON'T pair for:**
62
- - Simple, well-understood tasks
63
- - Spikes/research (pair to discuss findings)
64
- - Personal learning time
65
- - Admin work
78
+ | Context | Pair? | Why |
79
+ |---------|-------|-----|
80
+ | Complex/risky code | Always | Needs multiple perspectives |
81
+ | New technology | ✅ Always | Learning accelerator |
82
+ | Onboarding | ✅ Always | Knowledge transfer |
83
+ | Critical bugs | ✅ Always | Two heads better |
84
+ | Simple tasks | ❌ Skip | Not worth overhead |
85
+ | Research spikes | ❌ Skip | Pair to discuss findings |
66
86
 
67
- #### Making Pairing Work
87
+ ### Pairing Dos and Don'ts
68
88
 
69
89
  **Do:**
70
- - ✅ Switch roles regularly (20-30 min)
90
+ - ✅ Switch roles every 20-30 min
71
91
  - ✅ Take breaks together
72
- - ✅ Speak your thoughts aloud
92
+ - ✅ Think out loud
73
93
  - ✅ Ask questions
74
- - ✅ Challenge ideas respectfully
75
94
  - ✅ Keep sessions 2-4 hours max
76
95
 
77
96
  **Don't:**
78
97
  - ❌ Grab keyboard without asking
79
- - ❌ Check phone/email while pairing
80
- - ❌ Dominate the conversation
81
- - ❌ Pair all day every day (exhausting)
82
- - ❌ Pair with same person exclusively
83
-
84
- #### Remote Pairing Tools
98
+ - ❌ Check phone while pairing
99
+ - ❌ Dominate conversation
100
+ - ❌ Pair all day (exhausting)
85
101
 
86
- - **VS Code Live Share** - Shared editing, debugging
87
- - **Tuple** - Low-latency screen sharing for pairing
88
- - **Zoom/Meet** - Standard video with screen share
89
- - **tmux/screen** - Terminal sharing for CLI work
90
-
91
- ### 2. Ensemble Programming (Mob Programming)
102
+ ---
92
103
 
93
- **Definition:** 3+ developers working together on the same code at the same workstation.
104
+ ## Ensemble (Mob) Programming
94
105
 
95
- #### Ensemble Setup
106
+ **Setup:** 3+ developers, one screen, rotating driver
96
107
 
97
108
  ```
98
- [Projector/Large Screen]
99
-
100
- [Computer with Code]
101
-
102
- [Driver]
103
- ← ← ←
109
+ [Screen]
110
+
111
+ [Driver] Directions from navigators
112
+
104
113
  [Navigator 1] [Navigator 2] [Navigator 3]
105
114
  ```
106
115
 
107
- **Rotation:** Driver switches every 5-10 minutes
108
-
109
- #### Ensemble Patterns
110
-
111
- **Strong-Style Mob**
112
- - Navigators direct, driver types
113
- - Driver doesn't add own ideas while driving
114
- - Forces clear communication
115
-
116
- **Rotating Facilitator**
117
- - One person manages time/rotation
118
- - Keeps discussion focused
119
- - Rotates like driver position
120
-
121
- **Expert Learning**
122
- - Expert explains while driving
123
- - Others learn and ask questions
124
- - Useful for knowledge transfer
116
+ **Rotation:** Driver switches every 5-10 min
125
117
 
126
- #### When to Ensemble
127
-
128
- **Great for:**
118
+ **Best for:**
129
119
  - Complex problem solving
130
- - Architectural decisions
120
+ - Architectural decisions
131
121
  - Learning new frameworks
132
- - Kickstarting difficult features
133
122
  - Resolving blockers
134
123
 
135
- **Not great for:**
136
- - Simple, well-understood tasks
137
- - When people need deep focus
138
- - Long-term (unsustainable)
139
-
140
- ### 3. Continuous Integration
141
-
142
- **Definition:** Integrate code into shared repository frequently (multiple times per day), with automated build and tests.
124
+ ---
143
125
 
144
- #### CI Workflow
126
+ ## Continuous Integration
145
127
 
128
+ **CI Workflow:**
146
129
  ```
147
- Developer:
148
130
  1. Pull latest from main
149
- 2. Make small change (<2 hours work)
131
+ 2. Make small change (<2 hrs work)
150
132
  3. Run tests locally (all pass)
151
- 4. Commit and push to main
133
+ 4. Commit and push
152
134
  5. CI runs tests automatically
153
- 6. If tests fail → fix immediately
154
-
155
- Pipeline:
156
- main ← commit
157
-
158
- [Run Tests]
159
-
160
- [Build]
161
-
162
- [Deploy to Staging]
163
- ```
164
-
165
- #### CI Best Practices
166
-
167
- **Commit frequently:**
168
- - Small commits (< 2 hours of work)
169
- - Each commit should pass all tests
170
- - Commit to main/trunk (no long-lived branches)
171
-
172
- **Keep build fast:**
173
- - Full build + tests < 10 minutes
174
- - Faster feedback = more valuable
175
- - Parallelize slow tests
176
-
177
- **Fix broken builds immediately:**
178
- - Broken build = top priority
179
- - Don't commit more code until fixed
180
- - Revert commit if fix takes too long
181
-
182
- **Automate everything:**
183
- - Tests run automatically
184
- - Build happens automatically
185
- - Deploy to staging automatically
186
-
187
- ### 4. Test-Driven Development (TDD)
188
-
189
- (See `tdd-london-chicago` skill for deep dive)
190
-
191
- **Red-Green-Refactor cycle:**
192
- 1. Write failing test (Red)
193
- 2. Write minimal code to pass (Green)
194
- 3. Refactor while keeping tests green
195
-
196
- **XP emphasis:** Tests as executable specifications, safety net for refactoring.
197
-
198
- ### 5. Simple Design
199
-
200
- **Four Rules of Simple Design** (Kent Beck):
201
- 1. Passes all tests
202
- 2. Reveals intention (clear, expressive)
203
- 3. No duplication (DRY principle)
204
- 4. Fewest elements (no speculative code)
205
-
206
- **Apply in order - tests first!**
207
-
208
- #### Examples
209
-
210
- **Not simple:**
211
- ```javascript
212
- // Speculative generalization
213
- class PaymentProcessor {
214
- process(payment, options = {}) {
215
- // Supports 15 payment types we might need someday
216
- // Has configuration for every possible scenario
217
- // 500 lines of "just in case" code
218
- }
219
- }
220
- ```
221
-
222
- **Simple:**
223
- ```javascript
224
- // Just what we need today
225
- class PaymentProcessor {
226
- processCreditCard(cardInfo) {
227
- // Does one thing well
228
- // 30 lines of clear code
229
- }
230
- }
231
-
232
- // Add complexity only when needed
233
- ```
234
-
235
- ### 6. Refactoring
236
-
237
- **Definition:** Improving code structure without changing behavior.
238
-
239
- #### When to Refactor
240
-
241
- **The Rule of Three:**
242
- 1. First time: Just do it
243
- 2. Second time: Wince and duplicate
244
- 3. Third time: Refactor
245
-
246
- **Refactor when:**
247
- - Tests are green
248
- - You see duplication
249
- - Code is hard to understand
250
- - Adding feature reveals poor design
251
- - During green phase of TDD
252
-
253
- **Don't refactor when:**
254
- - Tests are failing
255
- - Under deadline pressure (address later)
256
- - Code works and rarely changes
257
-
258
- #### Safe Refactoring
259
-
260
- **Always:**
261
- 1. Have tests that pass
262
- 2. Refactor in small steps
263
- 3. Run tests after each step
264
- 4. Commit working code frequently
265
-
266
- **Common Refactorings:**
267
- - Extract method
268
- - Rename for clarity
269
- - Remove duplication
270
- - Introduce parameter object
271
- - Replace conditional with polymorphism
272
-
273
- ### 7. Collective Code Ownership
274
-
275
- **Principle:** Anyone can improve any part of the codebase.
276
-
277
- **Benefits:**
278
- - No bottlenecks (no waiting for "that one person")
279
- - Knowledge spreads across team
280
- - Code quality improves (more eyes)
281
- - Bus factor > 1
282
-
283
- **Requirements:**
284
- - Comprehensive test suite (safety net)
285
- - Coding standards (consistency)
286
- - Continuous integration (catch issues fast)
287
- - Code reviews or pairing (maintain quality)
288
-
289
- **In practice:**
290
- ```
291
- ❌ "That's Alice's module, only she can change it"
292
- ✅ "I see an issue in this module, I'll pair with Alice to fix it"
293
- ✅ "I need to change this module, I'll write tests first"
294
- ```
295
-
296
- ### 8. Coding Standards
297
-
298
- **Purpose:** Consistency makes collaboration easier.
299
-
300
- **What to standardize:**
301
- - Formatting (use auto-formatter: Prettier, Black)
302
- - Naming conventions
303
- - File structure
304
- - Testing patterns
305
- - Documentation style
306
-
307
- **How to maintain:**
308
- - Automated linting (ESLint, Pylint)
309
- - Pre-commit hooks
310
- - CI enforcement
311
- - Pair/ensemble programming (natural alignment)
312
-
313
- **Don't:**
314
- - Have 50-page style guides no one reads
315
- - Enforce arbitrary preferences
316
- - Spend hours debating tabs vs spaces (use formatter)
317
-
318
- ### 9. Sustainable Pace
319
-
320
- **Principle:** Team should work at a pace they can sustain indefinitely.
321
-
322
- **40-hour work week:**
323
- - No routine overtime
324
- - Regular hours = sustainable productivity
325
- - Tired developers write bugs
326
-
327
- **Warning signs of unsustainable pace:**
328
- - Regular late nights/weekends
329
- - Increasing bug rate
330
- - Declining code quality
331
- - Team burnout/turnover
332
- - Decreased morale
333
-
334
- **How to maintain:**
335
- - Realistic estimates
336
- - Buffer time in plans
337
- - Say no to unrealistic deadlines
338
- - Measure velocity, plan accordingly
339
- - Take vacations
340
-
341
- ### 10. Small Releases
342
-
343
- **Principle:** Release working software frequently.
344
-
345
- **Benefits:**
346
- - Fast feedback from users
347
- - Reduced risk (small changes)
348
- - Easier to debug (what changed?)
349
- - Business value delivered sooner
350
-
351
- **How small?**
352
- - Deploy to production: daily or weekly
353
- - Internal release: multiple times per day
354
- - Feature flags for incomplete work
355
-
356
- **Continuous Deployment:**
357
- ```
358
- Commit → CI Tests → Deploy Staging → Automated Tests → Deploy Production
359
- [All automated, happens multiple times per day]
360
- ```
361
-
362
- ### 11. On-Site Customer
363
-
364
- **Modern interpretation:** Product Owner embedded with team.
365
-
366
- **Customer responsibilities:**
367
- - Writes user stories
368
- - Prioritizes backlog
369
- - Answers questions immediately
370
- - Accepts completed work
371
- - Makes scope decisions
372
-
373
- **Not realistic:** Customer physically present 40hrs/week
374
-
375
- **Practical compromise:**
376
- - Daily standup attendance
377
- - Available for questions (Slack/quick calls)
378
- - Sprint planning and review
379
- - Regular demo sessions
380
-
381
- ### 12. Metaphor / Ubiquitous Language
382
-
383
- **Principle:** Shared vocabulary between technical and non-technical team members.
384
-
385
- **Example - E-commerce System:**
386
- ```
387
- Shared language:
388
- - "Cart" (not "session shopping container")
389
- - "Checkout" (not "payment initialization workflow")
390
- - "Order" (not "purchase transaction record")
391
-
392
- Everyone uses same terms:
393
- - Product owner writes stories using these words
394
- - Developers name classes/methods using these words
395
- - Tests use these words
396
- - Documentation uses these words
397
- ```
398
-
399
- **Benefits:**
400
- - Clearer communication
401
- - Code reflects business domain
402
- - Less translation needed
403
- - Easier onboarding
404
-
405
- ## Combining XP Practices
406
-
407
- ### Practice Synergies
408
-
409
- **TDD + Pair Programming**
135
+ 6. If fail → fix immediately
410
136
  ```
411
- Ping-pong pairing with TDD:
412
- Person A writes test → Person B makes it pass
413
- High quality code, fast feedback, knowledge sharing
414
- ```
415
-
416
- **Collective Ownership + CI + Tests**
417
- ```
418
- Anyone can change anything because:
419
- - Tests catch regressions immediately
420
- - CI runs tests on every commit
421
- - Broken builds fixed immediately
422
- No fear of stepping on toes
423
- ```
424
-
425
- **Simple Design + Refactoring**
426
- ```
427
- Start with simplest design
428
- When requirements change → refactor
429
- Tests give confidence to refactor
430
- Never build more than needed
431
- ```
432
-
433
- ## Adapting XP for Your Context
434
-
435
- ### Startup Context
436
- - **Keep:** TDD, CI, Simple Design, Small Releases
437
- - **Adapt:** Pair occasionally (not always), lighter standards
438
- - **Skip:** Might not need dedicated on-site customer
439
-
440
- ### Enterprise Context
441
- - **Keep:** All practices, especially sustainable pace
442
- - **Adapt:** More formal standards, documentation requirements
443
- - **Add:** Architecture reviews, security scans
444
-
445
- ### Remote Team
446
- - **Keep:** All core practices
447
- - **Adapt:** Remote pairing tools, async communication
448
- - **Add:** Over-communicate, document decisions
449
-
450
- ### Legacy Codebase
451
- - **Start with:** Tests for changes, CI, Refactoring
452
- - **Build towards:** TDD for new code, Collective ownership
453
- - **Be patient:** Can't adopt everything at once
454
-
455
- ## Common Objections (and Responses)
456
-
457
- **"Pair programming is twice as slow"**
458
- → Studies show 15% slower to write, 15% fewer bugs, better design. Net positive.
459
-
460
- **"We don't have time for TDD"**
461
- → You don't have time NOT to. Debugging takes longer than writing tests.
462
-
463
- **"Continuous integration is too hard to set up"**
464
- → Start simple: GitHub Actions with one test. Build from there.
465
-
466
- **"Collective ownership will create chaos"**
467
- → Only with poor tests and no CI. Fix those first.
468
-
469
- **"40-hour weeks won't work for our deadlines"**
470
- → Your deadlines are based on unsustainable pace. Adjust estimates.
471
137
 
472
- ## XP in Quality Engineering
138
+ **Best Practices:**
139
+ - Commit frequently (small changes)
140
+ - Keep build fast (<10 min)
141
+ - Fix broken builds immediately
142
+ - Never commit to broken build
473
143
 
474
- ### QE-Specific Applications
475
-
476
- **Ensemble Testing Sessions**
477
- - 3-5 people exploring together
478
- - Share testing heuristics in real-time
479
- - Rapid bug discovery and investigation
480
-
481
- **Test Code Pairing**
482
- - Pair on test automation
483
- - Share testing patterns
484
- - Improve test quality
485
-
486
- **Quality as Team Responsibility**
487
- - Developers write tests
488
- - QE does exploratory testing
489
- - Everyone owns quality
490
-
491
- **Continuous Testing**
492
- - Tests run on every commit
493
- - Fast feedback on quality
494
- - No separate QE phase
495
-
496
- ## Measuring XP Success
497
-
498
- **Code Quality Metrics:**
499
- - Test coverage trend
500
- - Defect density
501
- - Code churn
502
-
503
- **Team Health Metrics:**
504
- - Velocity consistency
505
- - Team satisfaction surveys
506
- - Turnover rate
507
-
508
- **Delivery Metrics:**
509
- - Deployment frequency
510
- - Lead time for changes
511
- - Mean time to recovery
512
-
513
- **Don't measure:**
514
- - Lines of code written
515
- - Hours worked
516
- - Number of commits
517
-
518
- ## Resources
144
+ ---
519
145
 
520
- **Books:**
521
- - **Extreme Programming Explained** by Kent Beck
522
- - **Extreme Programming Installed** by Jeffries, Anderson, Hendrickson
523
- - **Pair Programming Illuminated** by Williams & Kessler
146
+ ## Four Rules of Simple Design
524
147
 
525
- **Modern Practices:**
526
- - Remote mob programming techniques
527
- - DevOps integration with XP
528
- - Continuous deployment patterns
148
+ (In priority order)
149
+ 1. **Passes all tests** - Works correctly
150
+ 2. **Reveals intention** - Clear, expressive code
151
+ 3. **No duplication** - DRY principle
152
+ 4. **Fewest elements** - No speculative code
529
153
 
530
- ## Using with QE Agents
154
+ ---
531
155
 
532
- ### Agent-Human Pair Testing
156
+ ## Agent Integration
533
157
 
534
- **qe-test-generator** + Human QE:
535
158
  ```typescript
536
- // Ping-pong pattern with AI agent
537
- // Human writes test charter
538
- const charter = "Test payment processing edge cases";
159
+ // Agent-human pair testing
160
+ const charter = "Test payment edge cases";
161
+ const tests = await Task("Generate Tests", { charter }, "qe-test-generator");
162
+ const reviewed = await human.review(tests);
163
+ await Task("Implement", { tests: reviewed }, "qe-test-generator");
539
164
 
540
- // Agent generates test code
541
- const test = await qe-test-generator.generate(charter);
165
+ // Continuous integration with agents
166
+ await Task("Risk Analysis", { prDiff }, "qe-regression-risk-analyzer");
167
+ await Task("Generate Tests", { changes: prDiff }, "qe-test-generator");
168
+ await Task("Execute Tests", { scope: 'affected' }, "qe-test-executor");
542
169
 
543
- // Human reviews and refines
544
- const refinedTest = await human.review(test);
545
-
546
- // Agent implements refinements
547
- await qe-test-generator.implement(refinedTest);
170
+ // Sustainable pace: agents handle grunt work
171
+ const agentWork = ['regression', 'data-generation', 'coverage-analysis'];
172
+ const humanWork = ['exploratory', 'risk-assessment', 'strategy'];
548
173
  ```
549
174
 
550
- ### Ensemble Testing with Multiple Agents
551
-
552
- ```typescript
553
- // Mob testing: Multiple agents + human coordinator
554
- const ensemble = await FleetManager.startEnsemble({
555
- facilitator: 'human',
556
- participants: [
557
- 'qe-test-generator',
558
- 'qe-coverage-analyzer',
559
- 'qe-security-scanner'
560
- ],
561
- rotation: '10min',
562
- charter: 'Design test strategy for new payment API'
563
- });
564
-
565
- // Human directs, agents execute and suggest
566
- // Rotate which agent is "driving" every 10 minutes
567
- ```
568
-
569
- ### Continuous Integration with Agents
570
-
571
- ```yaml
572
- # AI agents in CI pipeline
573
- name: XP CI with Agents
574
-
575
- on: [push]
576
-
577
- jobs:
578
- test:
579
- steps:
580
- # Agent runs risk analysis
581
- - name: Risk Analysis
582
- run: aqe agent run qe-regression-risk-analyzer
583
-
584
- # Agent generates tests for changes
585
- - name: Generate Tests
586
- run: aqe agent run qe-test-generator
175
+ ---
587
176
 
588
- # Agent executes all tests
589
- - name: Execute Tests
590
- run: aqe agent run qe-test-executor
177
+ ## Agent Coordination Hints
591
178
 
592
- # Agent analyzes coverage
593
- - name: Coverage Check
594
- run: aqe agent run qe-coverage-analyzer
179
+ ### Memory Namespace
595
180
  ```
596
-
597
- ### Collective Code & Test Ownership
598
-
599
- ```typescript
600
- // Agents help maintain collective ownership
601
- // Any team member can improve any test
602
- // Agents ensure consistency
603
-
604
- await qe-quality-analyzer.enforceStandards({
605
- scope: 'all-tests',
606
- standards: ['naming-conventions', 'test-structure', 'assertions'],
607
- autoFix: true // Agent fixes simple violations
608
- });
181
+ aqe/xp-practices/
182
+ ├── pairing-sessions/* - Pair/ensemble session logs
183
+ ├── ci-metrics/* - CI health metrics
184
+ ├── velocity/* - Team velocity data
185
+ └── retrospectives/* - XP retrospective notes
609
186
  ```
610
187
 
611
- ### Sustainable Pace with Agent Assistance
612
-
188
+ ### Fleet Coordination
613
189
  ```typescript
614
- // Agents handle grunt work, humans focus on high-value tasks
615
- const workDistribution = {
190
+ const xpFleet = await FleetManager.coordinate({
191
+ strategy: 'xp-workflow',
616
192
  agents: [
617
- 'Repetitive regression testing',
618
- 'Log analysis and pattern detection',
619
- 'Test data generation',
620
- 'Coverage gap analysis',
621
- 'Performance monitoring'
193
+ 'qe-test-generator', // TDD support
194
+ 'qe-test-executor', // CI integration
195
+ 'qe-code-reviewer' // Collective ownership
622
196
  ],
623
- humans: [
624
- 'Exploratory testing',
625
- 'Risk assessment',
626
- 'Test strategy decisions',
627
- 'Domain-specific edge cases',
628
- 'Stakeholder communication'
629
- ]
630
- };
631
-
632
- // Result: 40-hour work week, sustainable, high productivity
197
+ topology: 'parallel'
198
+ });
633
199
  ```
634
200
 
635
201
  ---
636
202
 
637
- ## Related Skills
203
+ ## Common Objections
638
204
 
639
- **Core Quality Practices:**
640
- - [agentic-quality-engineering](../agentic-quality-engineering/) - Agents as pair partners
641
- - [holistic-testing-pact](../holistic-testing-pact/) - Whole-team quality practices
642
- - [context-driven-testing](../context-driven-testing/) - Adapt XP to context
205
+ | Objection | Response |
206
+ |-----------|----------|
207
+ | "Pairing is 2x slower" | 15% slower writing, 15% fewer bugs, net positive |
208
+ | "No time for TDD" | Debugging takes longer than testing |
209
+ | "CI is hard to setup" | Start simple: one action, one test |
210
+ | "Collective ownership = chaos" | Only without tests + CI |
643
211
 
644
- **Development Practices:**
645
- - [tdd-london-chicago](../tdd-london-chicago/) - TDD within XP workflow
646
- - [refactoring-patterns](../refactoring-patterns/) - Safe refactoring techniques
647
- - [code-review-quality](../code-review-quality/) - Review as pairing alternative
212
+ ---
648
213
 
649
- **Testing Specializations:**
650
- - [exploratory-testing-advanced](../exploratory-testing-advanced/) - Ensemble exploration
651
- - [test-automation-strategy](../test-automation-strategy/) - CI/CD integration
214
+ ## Related Skills
215
+ - [tdd-london-chicago](../tdd-london-chicago/) - TDD deep dive
216
+ - [refactoring-patterns](../refactoring-patterns/) - Safe refactoring
217
+ - [pair-programming](../pair-programming/) - AI-assisted pairing
652
218
 
653
219
  ---
654
220
 
655
221
  ## Remember
656
222
 
657
- XP practices work together as a system. Don't cherry-pick randomly:
658
- - Start with practices that give immediate value
659
- - Build supporting practices gradually
660
- - Adapt to your context
661
- - Measure results
662
-
663
- **The goal:** Sustainable delivery of high-quality software through technical excellence and teamwork.
223
+ **XP practices work as a system.** Don't cherry-pick randomly:
224
+ - TDD enables collective ownership
225
+ - CI enables small releases
226
+ - Pairing enables collective ownership
227
+ - Sustainable pace enables everything
664
228
 
665
- **With Agents**: XP practices amplify agent effectiveness. Pair humans with agents for best results. Agents handle repetitive work, humans provide judgment and creativity.
229
+ **With Agents:** Agents amplify XP. Pair humans with agents. Agents handle repetitive work, humans provide judgment and creativity.