You are on page 1of 17

Programación

Extrema

Leonardo Ramírez Z.

Contenido        Motivación ¿Qué es Programación Extrema? La filosofía detrás de la Programación Extrema El proceso XP Resumen de prácticas de la metodología Conclusiones Referencias .

Motivación       Ingeniería de software a escala menor Modelos estudiados difíciles de aplicar a la realidad Requisitos poco claros Requisitos poco estables Elevado costo de introducir cambios durante el desarrollo Elevado riesgo en contratos de desarrollo de software .

hacer todo esto un poco cada vez. a través de todo el proceso de desarrollo .¿Qué es Programación Extrema o XP?      Metodología liviana de desarrollo de software Conjunto de practicas y reglas empleadas para desarrollar software Basada en diferentes ideas acerca de cómo enfrentar ambientes muy cambiantes Originada en el proyecto C3 para Chrysler En vez de planificar. analizar y diseñar para el futuro distante.

Filosofía detrás de XP .

Simplicidad “Haz la cosa mas simple posible que funcione”  “Mantén el sistema en la condición mas simple posible”  .

Comunicación El cliente es parte del equipo de desarrollo  Comunicación entre gestión y desarrollo  Comunicación entre desarrolladores  .

Testeo Velocidad. pero además calidad  Testeo continuo a través de todo el proceso  Testeo como herramienta de especificación y desarrollo  Testeo como garantía de integridad del código frente a cambios  .

Agresividad  Reacción frente a los cambios .

El proceso XP .

Un proyecto XP Escenarios de testeo Historias de usuario requerimientos Metáfora de sistema Prototipo arquitectónico Historias nuevas Velocidad del proyecto Planificación de entregas Estimación incierta Plan de entregas Estimación confiable Prototipo Iteración bugs Versión mas reciente Tests de aceptación Próxima iteración Aprobación del cliente Pequeñas entregas .

Velocidad de proyecto Plan de entregas Próxima iteración Bugs Historias de usuario Velocidad de proyecto Tests de aceptación fallados Aprender y comunicar Planificación de iteración Plan de iteración Funcionalidades nuevas Desarrollo Corrección de bugs Día a día Versión mas reciente .Iteración Historias nuevas.

Desarrollo Aprender y comunicar Tareas sin terminar Plan de iteración tareas Demasiado por hacer Reunión de pie Día a día Tests de aceptación fallados Próxima tarea o test de aceptación fallido Programación en pares Reconstrucción de código Tests de unidad pasados al 100% Nueva funcionalidad Manejo colectivo del software Test de aceptación aprobado Corrección de bugs .

Manejo colectivo del código Mover Gente Cambio de par Próxima tarea o test de aceptación Pares Creación de unidad de testeo Unidad de testeo fallida Unidad de testeo aprobada Programación en pares Código complejo 100% de unidades de testeo pasados Se necesita ayuda Código simple Reconstrucción despiadada Ejecutar todas las unidades de testeo Ejecutar test de aceptación fallados Test de aceptación aprobado .

Resumen de prácticas       Proceso de planificación Entregas pequeñas Metáfora del sistema Diseño simple Testeo Reconstrucción       Programación en pares Propiedad colectiva Integración continua Semana de 40 horas Cliente siempre disponible Estándares de codificación .

Conclusiones      Apostolado de metodologías exitosas Aporte de la experiencia práctica a los modelos teóricos Enfoque de conjunto de prácticas como rompecabezas Tecnología en expansión Importancia de revisitar las metodologías desde la experiencia práctica .

xprogramming.Referencias        K. Cunningham and R. IEEE Software. Jeffries. pp 19-25 R.org http://c2. 17. 17. “Strenghthening the Case for Pair Programing”. 5 Oct. Computer. pp 12-13 C3 Team.com/cgi/wiki?ExtremeProgrammingRoadmap . 32. 1999. Vol. IEEE Software. No. Distributed Computing. “Extreme Programing Development through dialog”. No. Beck. “Embracing change with Extreme Programing”.com http://www. W. pp 24-28 http://www.extremeprogramming. “Chrysler goes to “Extremes”. Vol. Martin. 4 Jul/Aug 2000. Kessler. 4 Jul/Aug 2000. Vol. Oct 1998. R. No. Williams. pp 70-77 L.