Tabla de contenido:
Definición: ¿Qué significa la Programación extrema (XP)?
Extreme Programming (XP) es una metodología de desarrollo de software intensa, disciplinada y ágil que se centra en la codificación dentro de cada etapa del ciclo de vida de desarrollo de software (SDLC). Estas etapas son: Integración continua para descubrir y reparar problemas al principio del proceso de desarrollo. Participación del cliente y retroalimentación rápida. Estas disciplinas de metodología XP se derivan de los siguientes cuatro valores clave de Kent Beck, el creador de XP: Comunicación: la comunicación entre los miembros del equipo y los clientes debe ocurrir con frecuencia y como resultado una discusión abierta del proyecto sin temor a represalias. Simplicidad: Esto implica utilizar el diseño, la tecnología, los algoritmos y las técnicas más simples para satisfacer las necesidades del cliente para la iteración actual del proyecto. Retroalimentación: la retroalimentación debe obtenerse en múltiples niveles distintos, por ejemplo, pruebas unitarias, revisión de código e integración. Coraje: Implementar decisiones difíciles pero requeridas.
Techopedia explica la programación extrema (XP)
Además de los valores clave, la implementación de la metodología XP también requiere el apoyo de los tres principios de cambio incremental, que abarca el cambio y el trabajo de calidad. También se deben seguir doce prácticas clave: algunos profesionales de la metodología tradicional critican XP como un proceso "irreal" que causa codificación imprudente. Varios desarrolladores de software tradicionales encuentran que XP es inflexible con poca funcionalidad y poco potencial creativo. Las críticas adicionales son que XP: no tiene estructura. Carece de documentación esencial. No tiene resultados claros, es decir, las estimaciones realistas son difíciles porque todo el alcance de los requisitos del proyecto no está completamente definido. (Esta falta de requisitos detallados hace que XP sea muy propenso a la fuga del alcance). Necesita cambios culturales para su adopción. (Puede funcionar solo para desarrolladores senior) Es costoso, es decir, requiere comunicación / reunión frecuente a expensas del cliente, lo que puede conducir a negociaciones difíciles. Tiene posible ineficiencia por cambios frecuentes de código dentro de varias iteraciones. Por supuesto, como con cualquier metodología de desarrollo, todo esto es muy subjetivo y depende de las preferencias personales.