La programación extrema es un método ágil para el desarrollo de software que pone más énfasis en la adaptabilidad que en la previsibilidad. Se basa en iteraciones cortas que incluyen exploración, planificación, producción e iteraciones frecuentes con el cliente para obtener retroalimentación continua. Sus valores fundamentales son la simplicidad, comunicación, retroalimentación, coraje y respeto.