La Programación Extrema (XP) es una metodología ágil de desarrollo de software basada en valores como la comunicación, simplicidad y retroalimentación. Siguiendo prácticas como historias de usuario, diseño, codificación y pruebas, XP busca aumentar la productividad. Las historias de usuario especifican brevemente los requisitos funcionales y no funcionales del sistema desde la perspectiva del cliente.