La programación extrema (XP) es un enfoque ágil para el desarrollo de software que se basa en la comunicación continua entre el cliente y el equipo de desarrollo, así como en la simplicidad de las soluciones. XP describe cuatro actividades básicas: codificación, pruebas, escuchar al cliente y diseño. Su objetivo es establecer las mejores prácticas para mejorar la productividad y garantizar la calidad del software.