Menu

Earn Premium with Referrals

Invite your friends and earn Premium rewards through our referral program.

See how it works and start inviting friends.

Extreme Programming (XP)
SDLC

Extreme Programming (XP)

Discover Extreme Programming, a disciplined approach to software development that focuses on high-quality code and pair programming.

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

PracticeWhat it means
Pair programmingTwo developers, one keyboard. Driver writes, navigator reviews in real-time.
TDDWrite a failing test → write the minimal code to pass → refactor.
Continuous integrationMerge code to main branch multiple times per day.
RefactoringImprove code structure without changing behavior. Do it constantly.
Simple designBuild the simplest thing that works. Don’t add “what if” features.
Collective ownershipAnyone can change any code. No silos.
Coding standardsConsistent formatting and conventions across the team.
MetaphorA shared vocabulary/story for the system’s design.
Sustainable paceNo overtime. Burnout reduces quality.
Whole teamAll roles (devs, testers, customers) in one room.
Planning gameShort planning cycles based on business priorities and technical estimates.
Small releasesShip 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.

My Private Notes

Notes are auto-saved locally to this device.