agile3
Foundations

Technical Excellence

Keeping code and design quality high so the product stays easy and safe to change.

2 min read · Beginner

In 30 seconds

  • Good engineering is what keeps agile fast over time.
  • Practices: automated tests, refactoring, CI, simple design, code review.
  • Skipping it creates technical debt that slows every future change.

Why it matters

The ninth agile principle says continuous attention to technical excellence and good design enhances agility. Without it, each sprint builds on shakier code, and the team slows down until change feels risky.

Core practices

  • Automated tests at several levels
  • Continuous integration: merge and test many times a day
  • Refactoring as part of everyday work
  • Simple design: build only what's needed now
  • Code review or pair programming

Many of these come from Extreme Programming.

Making room for it

  • Put quality steps in the Definition of Done
  • Estimate stories including tests and refactoring, not separately
  • Show the cost of technical debt to the Product Owner in plain terms

Myth vs reality

Myth · Excellence means gold-plating.
Reality · It means keeping code easy to change, not perfect.
Myth · Quality slows delivery.
Reality · Poor quality slows delivery more, just later.
Myth · It's only the developers' concern.
Reality · Everyone pays for low quality through slower change.

FAQ

How do we justify the time?

Track how long changes take; rising cycle time is the cost of neglect.

Should refactoring be a separate story?

Usually no; do it as part of the work that needs it.

Is technical excellence about tools?

Mostly about habits; tools help enforce them.