Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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
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
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
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
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