Agile Technical Practices
The essential disciplines that let software teams deliver value continuously—without accumulating the technical debt that stalls most projects.
Technical Feedback Practices
TDD · Pair Programming
Create tight loops between intent and outcome.
Technical Design Practices
Refactoring · Simple Design
Keep the codebase healthy and malleable over time.
The Four Pillars
What they are and why they matter
Drawn from Extreme Programming and refined by decades of Software Craftsmanship, these four practices address both design quality and feedback speed.
Test-Driven Development
TDDWrite failing tests first, make them pass with the simplest code, then refactor. TDD has two major schools: the Classic (Chicago) school and the Outside-In (London) school.
Pair Programming
Two developers collaborating on the same code. One drives while the other navigates. Shortens feedback loops, spreads knowledge, and produces higher-quality designs.
Refactoring
Improve the internal structure of code without changing its observable behaviour. Keeps the design clean and prevents technical debt from accumulating.
Simple Design
Continuously pursue the simplest design that satisfies the requirements. Rigorous application of design principles prevents accidental complexity.
Why these four?
Most Agile frameworks—Scrum, Kanban, even the Agile Manifesto itself—specify no technical practices. That gap is exactly why so many projects stagnate under the weight of accumulated technical debt.
Extreme Programming (XP) was the first methodology to name them explicitly. From that list, TDD, Pair Programming, Refactoring, and Simple Design form a self-reinforcing system: design stays clean enough to refactor safely, tests give confidence to change anything, and pairing spreads that discipline across the whole team.
Together they enable continuous experimentation—the ability to try a design change, get immediate feedback from tests and your pair, and evolve the solution without fear.
"Optimism is an occupational hazard of programming: feedback is the treatment."
Recommended Reading
Agile Technical Practices Distilled
This page draws from Agile Technical Practices Distilled by Pedro Moreira Santos, Marco Consolaro, and Alessandro Di Gioia—a practitioner's guide that distils 20+ years of coaching and daily practice into a clear, progressive learning journey. It covers TDD (both schools), Pair Programming, Refactoring, Simple Design, BDD, DDD, and more.