12
XTREME PROGRAMMING Juan Antonio Sicardo Contreras Edgar Dante Torres Arroyo

Xtreme Programming

Embed Size (px)

Citation preview

Page 1: Xtreme Programming

XTREME PROGRAMMINGJuan Antonio Sicardo Contreras

Edgar Dante Torres Arroyo

Page 2: Xtreme Programming

¿QUÉ ES XTREME PROGRAMMING?

La Programación Extrema o XP, es una metodología de desarrollo de software ligera basada en una serie de ideologías y reglas con el objetivo de aumentar la productividad al máximo y reducir tiempos.

Está diseñada para ser aplicada en proyectos pequeños y de carácter urgente.

Las estrategias en las que se concentra XP son en darle prioridad a aquellas tareas que den resultados y reducir en la medida de lo posible la burocracia y la documentación que consume tiempo y no aporta al producto final.

Page 3: Xtreme Programming

VALORES DE XP

➤ Comunicación

➤ Simplicidad

➤ Retroalimentación

➤ Coraje

➤ Humildad

Page 4: Xtreme Programming

ALGUNAS ACTIVIDADES Y RECURSOS

➤ Diálogo entre cliente y equipo.

➤ Entregas y versiones pequeñas, pero con sentido.

➤ Describir al sistema y sus requerimientos de forma simple.

➤ Probar y simplificar el software.

➤ Codificar en parejas y tener en cuenta que ninguno es dueño del código.

➤ 40 horas semanales.

➤ Integrar al cliente en el equipo de trabajo.

➤ Mantener estándares de calidad.

Page 5: Xtreme Programming

FASES DEL PROCESO DE

DESARROLLOXtreme Programming

Page 6: Xtreme Programming

FASE DE INTERACCIÓN CON EL CLIENTE (PARTES 1 & 2)

El cliente describe de manera simple las características que desea en su sistema y asigna la prioridad a cada una de las tareas. El desarrollador hace la cotización y se definen los plazos aproximados.

Los desarrolladores comienzan a elaborar las primeras historias de cliente. Esta fase estará presente en cada iteración. Las historias de cliente cumplen la misma función que los diagramas UML pero estas están completamente basadas en las ideas del cliente y no del desarrollador.

Page 7: Xtreme Programming

FASE DE PLANIFICACIÓN

Los desarrolladores planifican las entregas. Se recomienda que se hagan muchas entregas de manera constante. En normal que después de algunas iteraciones, se tenga que revisar la planificación, por lo que esta fase aparecerá cada 3 a 5 iteraciones. Además de los tiempos, también se tienen que planear las iteraciones en sí, esto se hace justo antes de comenzar una iteración, a este tipo de planificación se le conoce como iterativa.

Page 8: Xtreme Programming

FASE DE DISEÑO

Para programación extrema el desarrollador debe revisar y mejorar constantemente el diseño cada que se agregue una funcionalidad, en lugar de diseñar un sistema completo desde el principio. A veces para sistemas y elementos complejos se organizan reuniones con desarrolladores expertos y el cliente para facilitar el diseño.

Page 9: Xtreme Programming

FASE DE DESARROLLO

El desarrollo del proyecto se lleva a cabo de una forma peculiar. Uno de los principales aspectos es siempre actualizar versiones del repositorio ya que en XP es común encontrarse con versiones obsoletas si no se actualizan.

Otro aspecto importante es la refactorización, que es quitar redundancias y funcionalidades innecesarias.

Page 10: Xtreme Programming

FASE DE PRUEBAS

Las pruebas unitarias se llevan a la par que la producción del código. Cada que se implemente una unidad al sistema, es prudente hacer sólo las pruebas necesarias para esa unidad. En este caso no hay un equipo de codificación y otro de pruebas, sino aquel que codifique hace las pruebas inmediatamente.

Page 11: Xtreme Programming

¿QUÉ ES UNA HISTORIA DE USUARIO?

Una historia de usuario es una forma simple de describir los requerimientos de un sistema, usando el lenguaje del mismo cliente, de tal forma que pueda dar a entender lo que espera del programa sin entrar en aspectos técnicos.  

Page 12: Xtreme Programming