Extreme Programming (XP)
En el artículo de esta semana continuamos con la temática de softskills y en concreto con la gestión de proyectos y equipos mediante metodologías ágiles. En artículos anteriores se han abordado los fundamentos de las metodologías ágiles, SCRUM y Kanban en 3 artículos (principios básicos, estrategias de optimización y ejemplos prácticos). Hoy es el turno de Extreme Programming (XP), que como hicimos con Kanban dividiremos en varios artículos.
Extreme Programming (XP) es una metodología de desarrollo de software que forma parte de la familia de las metodologías o marcos de trabajo ágiles. Su objetivo es mejorar la calidad del software y la capacidad de respuesta a las cambiantes necesidades del cliente mediante la adopción de prácticas basadas en valores de comunicación, simplicidad, retroalimentación, valentía y respeto. En el corazón de XP yacen varias técnicas clave que facilitan estos objetivos: Programación por parejas, Desarrollo Guiado por Pruebas (TDD) e Integración Continua.
Origen
El ideólogo detrás de XP es Kent Beck, un ingeniero de software conocido por su influencia en las prácticas de desarrollo ágil y es considerado el padre de la metodología, durante su trabajo en el proyecto del Sistema de Nómina de Chrysler (C3) a mediados de los 90. El proyecto C3 fue iniciado en 1993 por Tom Hadfield, director de sistemas de nómina, bajo la dirección de la CIO Susan Unger. Hadfield había desarrollado un pequeño prototipo orientado a objetos que inspiró el proyecto. El desarrollo en Smalltalk comenzó en 1994, con el objetivo de crear un nuevo sistema para soportar todo el procesamiento de nóminas para 87,000 empleados para 1999.
En 1996, el ingeniero de software Kent Beck fue contratado para supervisar el desarrollo, ya que no se veían avances en el proyecto y el sistema aún no había emitido una sola nómina, y Beck a su vez contrató a Ron Jeffries. En marzo de ese año, el equipo de desarrollo estimó que el sistema estaría listo para entrar en producción en aproximadamente un año. En 1997, el equipo de desarrollo adoptó una forma de trabajar que ahora está formalizada como Programación Extrema (Extreme Programming). Este proyecto se convirtió en el terreno de pruebas para las ideas de Beck, donde enfrentó desafíos reales y demostró la eficacia de sus métodos.
El término "Extreme Programming" proviene de la idea de llevar las prácticas de desarrollo de software beneficiosas al extremo. Beck y su equipo identificaron prácticas que consideraban efectivas para el desarrollo de software y decidieron intensificarlas. Por ejemplo, si la revisión de código era buena, la revisión constante (programación en parejas) sería mejor. Si las pruebas eran útiles, probar todo el tiempo (desarrollo guiado por pruebas, TDD) sería aún más útil. Este enfoque "extremo" de amplificar las mejores prácticas es lo que dio nombre a la metodología.
Valores y principios
El núcleo filosófico de Extreme Programming (XP) se cimienta en una serie de valores y principios que guían tanto las prácticas específicas de desarrollo como la cultura del equipo de trabajo. Estos valores y principios son esenciales para comprender no solo el "cómo" de XP, sino también el "por qué" detrás de sus métodos.
Recomendado por LinkedIn
XP se fundamenta en cinco valores esenciales:
Los principios de XP proporcionan orientación sobre cómo aplicar los valores en la práctica. Estos principios son los pilares sobre los que se construyen las prácticas específicas de XP y ayudan a los equipos a tomar decisiones alineadas con los valores de XP. Algunos de los principios clave incluyen:
Estos valores y principios no solo definen la esencia de Extreme Programming sino que también ofrecen un marco para abordar los retos del desarrollo de software de una manera que es humana, efectiva y profundamente respetuosa con todas las partes involucradas. La implementación de XP, entonces, se convierte en un ejercicio de aplicar estos valores y principios a través de prácticas concretas.
Y hasta aquí el primer artículo sobre XP continuaremos profundizando en la metodología en próximos artículos. Gracias por leerme, comentar y difundir.