Está en la página 1de 8

Especializacin en Telemtica

Programacin Extrema (XP)

Arquitecturas de Sistemas Telem Telemticos


Dr. Ing. lvaro Rendn Galln Cali, abril de 2011

Temario
Antecedentes El costo del cambio Valores y Principios Las prcticas El ciclo de vida

Antecedentes
Desarrollado por Ken Beck en un proyecto iniciado en 1996 para Chrysler, y presentado oficialmente en 1999

Se denomina extremo porque lleva un conjunto de tcnicas y principios conocidos a niveles extremos Un aporte importante de XP es su actitud frente al cambio:
"Todo en el software cambia. Los requisitos cambian. El diseo cambia. El negocio cambia. La tecnologa 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

Es un desarrollo conducido por pruebas Est dirigido a grupos de desarrollo pequeos (2 a 10 programadores) con un potente entorno de desarrollo

Las cuatro variables del desarrollo


Costo Alcance

Tiempo

Calidad

Estn fuertemente relacionadas No se pueden establecer a priori los valores de las cuatro Los clientes y directores de proyecto (las fuerzas externas al equipo de desarrollo) eligen el valor de tres, y el equipo de desarrollo establece el valor de la cuarta En XP, los programadores eligen el Alcance

El costo del cambio


Las grandes decisiones se toman al principio!

Costo del cambio

Grado de incertidumbre de los requisitos

Curva tradicional = Punto de partida de RUP

El costo del cambio


Las grandes decisiones se toman lo ms tarde posible!!
Costo del cambio

Grado de incertidumbre de los requisitos

Curva de Beck = Punto de partida de XP

El costo del cambio

Slo se implementa lo que Las grandes decisiones Las grandes decisiones se toman lo ms se toman tarde lo ms tarde se debe El diseo se mejora a posible!! posible!! medida que avanza el proyecto Mantener bajo el costo del cambio requiere el uso de las tecnologas y prcticas adecuadas

El costo del cambio

XP: Pequeas versiones Iteraciones de 1 a 3 semanas

Valores y Principios
Valores
Comunicacin:
oral, espacio comn de trabajo

Principios
Realimentacin rpida:
para garantizar aprendizaje

Sencillez:
hacer la cosa ms simple que pueda funcionar

Asumir la sencillez:
resolver hoy los problemas de hoy, maana los de maana

Realimentacin:
pruebas de unidad y aceptacin, cliente in situ

Cambio incremental:
los problemas se resuelven con pequeos cambios

Valenta:
disear para hoy y no para maana, recodificar

Aceptar el cambio:
considerar todas las opciones

Trabajar con calidad:


los nicos valores posibles: excelente y muy excelente

10

Las prcticas
Planificacin
Determinar rpidamente el alcance de la siguiente versin

11

Versiones pequeas
Poner rpidamente en produccin un sistema sencillo, seguido de versiones de ciclos cortos

Metfora
Guiar todo el desarrollo con una historia compartida de cmo funciona el sistema Parte de la arquitectura se captura en la metfora del sistema. En la primera iteracin se eligen las historias de usuario que obliguen a crear la arquitectura global

Las prcticas
Diseo simple
Disear el sistema tan simple como sea posible. La complejidad extra se elimina (recodificacin)

12

Pruebas
Los programadores escriben las pruebas de unidad antes del cdigo Los clientes (in situ) escriben pruebas funcionales (de aceptacin)

Recodificacin
Cada vez que haya oportunidad, se reestructura el sistema, sin cambiar comportamiento, para eliminar duplicacin, mejorar comunicacin y sencillez, o aadir flexibilidad

Las prcticas
Programacin en parejas

13

Todo el cdigo es escrito por grupos de dos programadores en una misma mquina, que se intercambian en el da

Propiedad colectiva del cdigo


Cualquiera puede cambiar cualquier parte del cdigo en cualquier momento (y correr todas las pruebas)

Integracin continua
Cada vez que se termina una tarea (mximo 1 da), se integra al sistema (y se corren todas las pruebas) Se requiere una mquina dedicada a integracin

Las prcticas
40 horas semanales
No se trabaja ms de 40 horas a la semana

14

Cliente en el sitio
Se incluye en el equipo de trabajo un usuario real, disponible tiempo completo

Estndares de codificacin
Todo el cdigo se escribe siguiendo reglas que enfatizan la comunicacin a travs del cdigo

El ciclo de vida

15

Planeacin

Exploracin

Iteraciones para entrega

Produccin

Mantenimiento
http://members.cox.net/cobbler/XPDangers.htm

Referencias
Kent Beck. Una explicacin de la Programacin Extrema. Aceptar el cambio, (Traduccin: F.J. Zapata). Addison Wesley. Madrid. 2002.

16

C. F. Acebal y J.M. Cueva. eXtreme Programming (XP): un nuevo mtodo de desarrollo de software. Novtica, 156, marzo/abril, 2002. Don Wells . Extreme Programming: A gentle introduction. 2009. http://www.extremeprogramming.org/ Ronald E Jeffries. XProgramming.com - an Agile Software Development Resource. 2010. http://www.xprogramming.com/ Patrick Emery. The dangers of extreme programming. 2002. http://members.cox.net/cobbler/XPDangers.htm

También podría gustarte