EXtreme Programming

eXtreme Programming
eXtreme Programming




Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo. XP se basa en realimentación continua entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en las soluciones implementadas y coraje para enfrentar los cambios. XP se define como especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo técnico. Los principios y prácticas son de sentido común pero llevadas al extremo, de ahí proviene su nombre. Kent Beck, el padre de XP, describe la filosofía de XP en sin cubrir los detalles técnicos y de implantación de las prácticas. Posteriormente, otras publicaciones de experiencias se han encargado de dicha tarea. A continuación presentaremos las características esenciales de XP organizadas en los tres apartados siguientes: historias de usuario, roles, proceso y prácticas.


En qué consiste XP

La Programación Extrema es una metodología ligera de desarrollo de software que se basa en la simplicidad, la comunicación y la realimentación o reutilización del código desarrollado. XP surgió como respuesta y posible solución a los problemas derivados del cambio en los requerimientos. Se plantea como una metodología a emplear en proyectos de riesgo y aumenta la productividad.


Origen de la metodología XP                                                          

Desarrollada por Kent Beck. «Todo en el software cambia. Los requisitos cambian. El diseño cambia. El negocio cambia. La tecnología cambia. El equipo cambia. Los miembros del equipo cambian. El problema no es el cambio en sí mismo, puesto que sabemos que el cambio va a suceder; el problema es la incapacidad de adaptarnos a dicho cambio cuando éste tiene lugar.» Kent Beck


Las cuatro variables

  • Coste: Máquinas, especialistas y oficinas
  • Tiempo: Total y de Entregas
  • Calidad: Externa e Interna
  • Alcance: Intervención del cliente


Planificación  
Diseño          
Desarrollo     
Prueba          
Historias de usuario
Simplicidad
Disponibilidad del usuario
Unidades de test o pruebas
Rotaciones
Elegir una metáfora para el sistema
Estándares de implementación
Implantación
Reuniones
Tarjetas CRC
Unidades de prueba o test
Protección contra fallos
Correcciones

Programación parejas
Pruebas de aceptación


Integración del código



Frecuencia en la integración del código





Roles XP

Programador Cliente Encargado de pruebas (Tester) Encargado de seguimiento (Tracker) Entrenador (Coach) Consultor Gestor (Big boss)


Características de XP

La metodología se basa en:

Pruebas Unitarias: se basa en las pruebas realizadas a los principales procesos con el objetivo de detectar futuros errores Re fabricación: se basa en la reutilización de código, para lo cual se crean patrones o modelos estándares, siendo más flexible al cambio. Programación en pares: una particularidad de esta metodología es que propone la programación en pares, la cual consiste en que dos desarrolladores participen en un proyecto en una misma estación de trabajo. Cada miembro lleva a cabo la acción que el otro no está haciendo en ese momento.

Lo fundamental en este tipo de metodología es: La comunicación, entre los usuarios y los desarrolladores La simplicidad, al desarrollar y codificar los módulos del sistema La retroalimentación, concreta y frecuente del equipo de desarrollo, el cliente y los usuarios finales.


Fuente