Definición - ¿Qué significa Extreme Programming (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 del desarrollo de software (SDLC). Estas etapas son: Integración continua para descubrir y reparar problemas temprano en el proceso de desarrollo Participación del cliente y retroalimentación rápida Estas disciplinas de la metodología XP se derivan de los siguientes cuatro valores clave de Kent Beck, creador de XP: Comunicación: La comunicación entre los miembros del equipo y los clientes debe ocurrir con frecuencia y dar lugar a 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 del proyecto actual. Comentarios: los comentarios deben obtenerse en varios niveles distintos, por ejemplo, pruebas unitarias, revisión de código e integración. Coraje: Implementar decisiones difíciles pero necesarias.
Techinfo 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 del 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 provoca una 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 entregables 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 filtración del alcance). Necesita un cambio cultural para su adopción. (Puede funcionar solo para desarrolladores senior) Es costoso, es decir, requiere comunicaciones / reuniones frecuentes a cargo del cliente, lo que puede conducir a negociaciones difíciles. Tiene posible ineficacia debido a los frecuentes cambios de código en varias iteraciones. Por supuesto, como con cualquier metodología de desarrollo, todo esto es muy subjetivo y depende de las preferencias personales.