XP takes proven software engineering practices and applies them “extremely” — hence the name. If code reviews are good, XP does them continuously (pair programming). If testing is good, XP writes tests before code (TDD). If integration is good, XP integrates multiple times daily.
The 12 Core Practices
| Practice | What it means |
|---|---|
| Pair programming | Two developers, one keyboard. Driver writes, navigator reviews in real-time. |
| TDD | Write a failing test → write the minimal code to pass → refactor. |
| Continuous integration | Merge code to main branch multiple times per day. |
| Refactoring | Improve code structure without changing behavior. Do it constantly. |
| Simple design | Build the simplest thing that works. Don’t add “what if” features. |
| Collective ownership | Anyone can change any code. No silos. |
| Coding standards | Consistent formatting and conventions across the team. |
| Metaphor | A shared vocabulary/story for the system’s design. |
| Sustainable pace | No overtime. Burnout reduces quality. |
| Whole team | All roles (devs, testers, customers) in one room. |
| Planning game | Short planning cycles based on business priorities and technical estimates. |
| Small releases | Ship working software every 1-3 weeks. |
Why XP Works (and Fails)
Works because it institutionalizes quality — bugs have no place to hide. Fails because it demands discipline: skipping any practice weakens the rest. Pair programming is expensive (2 people, 1 task). Not all organizations accept the “whole team” model.
Q: Is pair programming twice as expensive?
A: For the coding phase, yes — two people produce one output. But studies show it reduces bugs by 15-30% and improves knowledge sharing. The total project cost (including maintenance) often decreases because the code is higher quality.
Q: What’s the most important XP practice?
A: TDD. It forces you to think about what the code should do before writing it. This leads to better-designed, testable code. Most XP practitioners say if you only adopt one practice, make it TDD.
Q: How is XP different from Scrum?
A: Scrum focuses on management and planning (sprints, roles, ceremonies). XP focuses on engineering practices (pair programming, TDD, CI). They’re complementary — many teams use Scrum for project management and XP for technical practices.
Premium Content
Unlock Extreme Programming (XP) and all premium lessons with a subscription.
From ₹199.99/year — See plans