The principles that bridge values and practices—the 'why' behind the 'what.'
Values tell you what's important. Practices tell you what to do. But how do you connect them? That's where principles come in.
Principles are the bridge. They're more concrete than values but more abstract than practices. When you're deciding whether to adopt a practice or modify it for your context, principles guide the way.
XP has many principles, but we'll focus on the most important ones.
Software is made by people, for people.
This principle reminds us that developers aren't interchangeable resources. People have needs:
XP practices should meet these needs. Pair programming meets belonging and intimacy needs. Test-driven development meets accomplishment and safety needs. Sustainable pace protects physical and mental health.
When a practice feels wrong, ask: "Is this violating human needs?"
If your 'agile' practices are burning people out, they're not agile. Sustainable pace isn't optional—it's core to XP.
Money matters. Time has value. Options have value.
XP takes economics seriously:
This principle supports small releases (deliver value early), incremental design (don't over-invest up front), and iterative planning (respond to what you learn).
It also supports sustainable pace: exhausted developers make expensive mistakes.
Every practice should benefit everyone involved.
The best XP practices are win-win-win:
Avoid practices that help one group at the expense of another. Documentation written only for compliance, never read by developers, fails mutual benefit. Code written to be clever rather than clear fails it too.
If a practice creates resentment, it probably violates mutual benefit.
Patterns that work at one scale often work at others.
XP applies the same patterns at different scales:
When you find something that works, try it at different scales. The planning game works for release planning and iteration planning. Code review principles work for design review and architecture review.
Start where you are and get better continuously.
XP doesn't demand perfection from day one. It demands movement. Start with what you can do today, and improve from there.
The goal isn't to be "doing XP." The goal is to be improving. XP is a direction, not a destination.
This principle also supports failing safely. Experiments that don't work are learning opportunities, not failures.
Deliver value continuously, not in big batches.
This principle aligns XP with lean thinking and Kanban. Big batches hide problems. Small batches surface them quickly.
Flow reduces work-in-progress, which reduces context switching, which improves focus and quality. It also gives customers value sooner and feedback faster.
If you're not releasing at least once a month, ask why. The obstacles you discover will point to real problems.
Quality is not negotiable.
This seems obvious, but the implications are profound. XP says you can trade scope or schedule, but never quality.
This means:
Why? Because quality is the foundation of speed. Poor quality creates bugs that slow you down. Poor quality creates code that's hard to change. Poor quality creates systems that are expensive to maintain.
Quality is the fastest way to go fast.
Take the smallest step that makes progress.
Big changes are risky. Small changes are safe. XP always prefers small steps:
Baby steps don't mean slow progress. A thousand small steps can cover more ground than ten big leaps—and with less chance of falling.
When you're stuck, ask: "What's the smallest thing I can do right now that makes progress?"