• Developers frequently integrate code into a shared repository.
  • Automated builds and tests are run to detect issues early.
  • Encourages smaller, more manageable code changes.