Vous êtes sur la page 1sur 20

eXtreme Programming

Jose M Cubel Navarro

Laboratorio de Sistemas de Informacin Facultad de Informtica Universidad Politcnica de Valencia


04/02/03 1

Qu es XP?
Proceso software ligero Diseado para entornos dinmicos Ideal para equipos pequeos (hasta 10 programadores) Basado en el cdigo Alta dependencia en la comunicacin informal, verbal

04/02/03

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 metodologa C3 concluy exitosamente en 1997

04/02/03

Qu es XP?
Valores que intenta fomentar la filosofia XP: Comunicacin Simplicidad Retroalimentacin Coraje

04/02/03

Actores
Programador (Programmer) Responsable de decisiones tcnicas Responsable de construir el sistema Sin distincin entre analistas, diseadores o codificadores En XP, los programadores disean, programan y realizan las pruebas

Cliente (Customer) Es parte del equipo Determina qu construir y cundo Escribe tests funcionales para determinar cundo est completo un determinado aspecto

04/02/03

Actores
Entrenador (Coach) El lder 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 histricos
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

Prcticas clave en XP

El juego de planificacin (The planning game) Entregas pequeas (Short releases) Metfora (Metaphor) Diseos simples (Simple designs) Pruebas (Testing) Refactorizacin (Refactoring)

04/02/03

Prcticas clave en XP

Programacin en parejas (Pair programming) Dominio colectivo del cdigo (Collective code ownership) Integracin contnua (Continuous integration) Semana de 40 horas (40-hour week) Cliente in situ (On site customer) Estndares de codificacin (Coding standard)

04/02/03

La gran foto
De forma aislada, cualquier prctica 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, es decir, todo el conjunto

04/02/03

10

La gran foto

04/02/03

11

OK, 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 nmero de proyectos Han aparecido sitios web, grupos de noticias, incluso artculos en el Economist Por qu? Tiene el visto bueno de algunos de los mejores: Booch, Gamma, Fowler, Cockburn, De Marco, Ambler Proceso para gente que odia los procesos Tiene sentido
04/02/03 12

Deberias probar XP?


Tienes ya un proceso en su lugar? Reacciona bien a los cambios? Est tu equipo feliz con l? Quizs deberas esperar Se estn recogiendo datos sobre XP Sers capar de hacer comparaciones

04/02/03

13

Deberias probar XP?


Si no tienes ningn 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 aadido

04/02/03

14

Cmo 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: Implantacin progresiva de las prcticas Muy pocos usan XP al completo Prcticas ms utilizadas: Iteraciones cortas Refactorizacin Evolucin progresiva (planning game) Problemas surgidos: Objetivos mezclados Falta de comunicacin
04/02/03 16

Resumen

XP es una forma de desarrollar software bien definida y bien estructurada Est hecho para equipos de trabajo pequeos que trabajan en la misma localizacin Especialmente idneo para entornos dinmicos Prometedor pero no probado

04/02/03

17

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

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

04/02/03

20

Vous aimerez peut-être aussi