You are on page 1of 20

eXtreme Programming

Jose Mª Cubel Navarro

Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia
04/02/03 1

¿Qué es XP?
 Proceso software ligero  Diseñado para entornos dinámicos  Ideal para equipos pequeños (hasta 10 programadores)  Basado en el código  Alta dependencia en la comunicación informal, verbal

04/02/03

2

¿Qué es XP?  Creado por Kent Beck para la plantilla del proyecto C3 en Chrysler  Kent fue contratado para dirigir el proyecto  Durante el proceso nació una nueva metodología  C3 concluyó exitosamente en 1997 04/02/03 3 .

¿Qué es XP?  Valores que intenta fomentar la filosofia XP:  Comunicación  Simplicidad  Retroalimentación  Coraje 04/02/03 4 .

programan y realizan las pruebas Cliente (Customer)  Es parte del equipo  Determina qué construir y cuándo  Escribe tests funcionales para determinar cuándo está completo un determinado aspecto 04/02/03 5 . los programadores diseñan.Actores  Programador (Programmer)   Responsable de decisiones técnicas  Responsable de construir el sistema  Sin distinción entre analistas. diseñadores o codificadores  En XP.

Actores  Entrenador (Coach)  El líder del equipo .toma  Probador (Tester) las decisiones  Ayuda al cliente con importantes las pruebas  Principal responsable funcionales del proceso  Se asegura de que los  Tiende a estar en un tests funcionales se segundo plano a medida ejecutan que el equipo madura  Rastreador (Tracker)  Metric Man  Observa sin molestar  Conserva datos históricos 04/02/03 6 .

El proceso Mientras(sistema_es_útil) { Captar requisitos  User Stories  Methaphor Planificar  Release planning  Iteration planning Desarrollar  Programming Presentar la entrega  Releasing } 04/02/03 7 .

Prácticas clave en XP       El juego de planificación (The planning game) Entregas pequeñas (Short releases) Metáfora (Metaphor) Diseños simples (Simple designs) Pruebas (Testing) Refactorización (Refactoring) 04/02/03 8 .

Prácticas clave en XP       Programación en parejas (Pair programming) Dominio colectivo del código (Collective code ownership) Integración contínua (Continuous integration) Semana de 40 horas (40-hour week) Cliente in situ (On site customer) Estándares de codificación (Coding standard) 04/02/03 9 .

es decir.La gran foto  De forma aislada. todo el conjunto 04/02/03 10 . cualquier práctica individual de XP tiene poco sentido  Pero en conjunto. unas compensan las carencias que las otras puedan tener  Para evaluar XP tienes que mirar la gran foto.

La gran foto 04/02/03 11 .

¿pero XP funciona?  Probablemente  No hay datos concretos y reales en el índice de éxito de proyectos  No obstante está teniendo un gran crecimiento  Aumento en el número de proyectos  Han aparecido sitios web. grupos de noticias. Fowler. Cockburn. Ambler  Proceso para gente que odia los procesos  Tiene sentido 04/02/03 12 . incluso artículos en el “Economist”  ¿Por qué?  Tiene el visto bueno de algunos de los mejores: Booch. De Marco.OK. Gamma.

¿Deberias probar XP?  ¿Tienes ya un proceso en su lugar?  ¿Reacciona bien a los cambios?  ¿Está tu equipo feliz con él?  Quizás deberías esperar  Se están recogiendo datos sobre XP  Serás capar de hacer comparaciones 04/02/03 13 .

¿Deberias probar XP?  Si no tienes ningún proceso  Si no eres capaz de responder a cambios  Si tu cliente no está feliz  XP es una gran forma de empezar  Facil de financiar  A los programadores les gustará XP  A los clientes les gustará el control añadido 04/02/03 14 .

¿Cómo empezar?  Incrementalmente  De “Extreme Programming Explained”:  Escoge tu peor problema  Resuelvelo al estilo XP  Repite 04/02/03 15 .

Experiencias con XP  XP 2000 Conference:  Implantación progresiva de las prácticas  Muy pocos usan XP al completo  Prácticas más utilizadas:  Iteraciones cortas  Refactorización  Evolución progresiva (planning game)  Problemas surgidos:  Objetivos mezclados  Falta de comunicación 04/02/03 16 .

Resumen  XP es una forma de desarrollar software bien definida y bien estructurada  Está hecho para equipos de trabajo pequeños que trabajan en la misma localización  Especialmente idóneo para entornos dinámicos  Prometedor pero no probado 04/02/03 17 .

zip Seminario de Ing.mx/ingsoft/seminario/XPresentation.html Is Design Dead? (Martin Fowler. 2327/07/2001 http://www.martinfowler.html The XP 2000 Conference http://www.com/articles/xp2000.html An Introduction to XP O'Reilly Open Source Convention in San Diego.xprogramming.org/ Web de XP http://www.oreillynet.com Object Mentor . Chief Scientist.extremeprogramming. de Software del CIMAT.htm La importancia de un estándar para el desarrollo de sistemas (por Fernando Pincirolli) http://www.Dónde encontrar más URL’s http://www.com/pub/a/linux/2001/05/04/xp_intro.objectmentor.Extreme Programming at the Speed of Change 04/02/03 18 . Conferencia sobre XP.ar/cemun/cemun/hgest-pincirolli. Pedro Pinto.martinfowler. 22/01/2001 http://linux.edu.cimat. ThoughtWorks) http://www.com An Extreme Programming Resource http://www. CA.ucongres.com/articles/designDead.

Martin.Dónde encontrar más URL’s http://www. Laurie et al. Tom. Addison Wesley  Strengthening the Case for Pair Programming Williams. Kent. IEEE SOFTWARE. Addison Wesley  Principles of Software Engineering Management  Gilb. Ron et al.martinfowler.com/articles/newMethodology.com/group/extremeprogramming Discussion of Extreme Programming practices and principles http://www. Addison Wesley  Extreme Programming Installed Jeffries. Addison Wesley  Planning Extreme Programming Beck. Kent et al..egroups.html The New Methodology LIBROS / REVISTAS  Extreme Programming Explained Beck. July/August 2000 04/02/03 19 . Addison Wesley  Refactoring – Improving the Design of Existing Code Fowler.

04/02/03 20 .