Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SOFTWARE I
Extreme Programming (XP)
Introduccin
Proceso y Fases
Roles
Prcticas
Conclusiones
Extreme Programming - Introduccin
Proceso Pesado :
* fuerte dependencia de planificaciones
* se establecen actividades
* se establecen artefactos
* se establecen herramientas y notaciones
* ESTAMOS MUY CONTROLADOS
Extreme Programming - Introduccin
Caractersticas :
A los individuos y su interaccin por encima de los procesos y las herramientas
Resumen
Simplicidad
FeedBack
Una metodologa basada en el desarrollo incremental
iterativo de pequeas partes, con entregas y pruebas
frecuentes y continuas, proporciona un flujo de retro-
informacin valioso para detectar los problemas o
desviaciones.
De esta forma fallos se localizan muy pronto.
La planificacin no puede evitar algunos errores, que
slo se evidencian al desarrollar el sistema.
La retro-informacin es la herramienta que permite
reajustar la agenda y los planes.
Extreme Programming - Introduccin
Coraje
Implica saber tomar decisiones difciles.
Reparar un error cuando se detecta
Mejorar el cdigo siempre que tras el feedback y las
sucesivas iteraciones se manifieste susceptible de
mejora
Tratar rpidamente con el cliente los desajustes de
agendas para decidir qu partes y cundo se van a
entregar
Extreme Programming - Introduccin
Comunicacin
5. Vuelve al paso 1
Extreme Programming Proceso y Fases
Historias de Usuario
Tcnica para especificar los reqs.
Fases
Exploracin
Planificacin de la Entrega
Iteraciones
Produccin
Mantenimiento
Muerte del Proyecto
Extreme Programming Proceso y Fases
Reglas y prcticas de XP
Conjunto de actividades simples que guan
los diferentes aspectos del desarrollo para
seguir el proceso.
Se dividen en reas del desarrollo
Planificacin
Diseo
Codificacin
Verificacin
Reglas y prcticas de XP - Planificacin
El Juego de la Planificacin
Planificacin se vuelve emocional
Todos quieren planificar mejor
Conflictos
Mirar la planificacin como un Juego
Objetivos
Jugadores
Piezas
Reglas
Reglas y prcticas de XP - Planificacin
El Juego de la Planificacin
Piezas: Historias de Usuario
Objetivo: Poner en produccin la mayor
cantidad de Historias de Usuario
Jugadores: Desarrolladores y Encargados del
Negocio
Reglas y prcticas de XP - Planificacin
El Juego de la Planificacin
Movimientos:
Escribir Historia de Usuario
Estimarla
Comprometerse a realizar:
Por Historia
Por Fecha
Valor y Riesgo Primero
Recuperacin por Sobrecarga
Cambio de Valor de Historia
Introducir nueva Historia
Dividir una Historia
Salto
Re-estimar
Reglas y prcticas de XP - Planificacin
Diseo simple:
Implementar la solucin ms simple que
pueda funcionar
La complejidad innecesaria y el cdigo extra
debe ser removido inmediatamente
No agregar nuevas funcionalidades antes de
que sean agendadas
Reglas y prcticas de XP - Diseo
Metforas:
El sistema es definido mediante una metfora
o un conjunto de metforas compartidas por el
cliente y el equipo de desarrollo
Es una historia compartida que describe cmo
debera funcionar el sistema
Solventan el hecho de no contar con una
definicin de la arquitectura desde el
comienzo, ya que en XP la arquitectura se
asume evolutiva
Reglas y prcticas de XP - Diseo
Tarjetas CRC:
Las Tarjetas CRC (Class, Responsibilities and
Collaboration) sirven para disear el sistema
en conjunto entre todo el equipo
Permiten reducir el modo de pensar
procedural y apreciar la tecnologa de objetos
Reglas y prcticas de XP - Diseo
Refactorizacin:
Es una actividad constante de
reestructuracin del cdigo con el objetivo de
remover duplicacin de cdigo, mejorar su
legibilidad, simplificarlo y hacerlo ms flexible
para facilitar los posteriores cambios
Mejora la estructura interna del cdigo sin
alterar su comportamiento externo
Nos ahorra tiempo e incrementa la calidad
Reglas y prcticas de XP - Codificacin
Estndares de programacin:
XP enfatiza la comunicacin de los
programadores a travs del cdigo, con lo
cual es indispensable que se sigan ciertos
estndares de programacin
Mantienen el cdigo legible para los miembros
del equipo, facilitando los cambios
Reglas y prcticas de XP - Codificacin
Pruebas unitarias:
La produccin de cdigo est dirigida por las
pruebas unitarias
Las pruebas unitarias son establecidas antes
de escribir el cdigo y son ejecutadas
constantemente ante cada modificacin del
sistema
Otros desarrolladores podrn ver como usar el
cdigo observando las pruebas
Reglas y prcticas de XP - Codificacin
Programacin en parejas:
Incrementa la calidad del software sin
impactar el tiempo para cumplir lo prometido
Muchos errores son detectados conforme son
introducidos en el cdigo
Los diseos son mejores y el tamao del
cdigo menor
Los problemas de programacin se resuelven
ms rpido
Reglas y prcticas de XP - Codificacin
Integracin secuencial:
Solo una pareja de desarrolladores puede
integrar, testear y liberar cambios al
repositorio de cdigo en un momento
determinado
Se permite que la ltima versin est
consistentemente identificada
Reglas y prcticas de XP - Codificacin
Integracin continua:
Cada pieza de cdigo es integrada en el
sistema una vez que est lista.
As, el sistema puede llegar a ser integrado y
construido varias veces en un mismo da
Es una forma de que todo el mundo est
trabajando con casi la ltima versin
Evita o detecta antes los problemas de
compatibilidad
Reglas y prcticas de XP - Codificacin
Consultor
Doomsayer (Augur de desastres)
Extreme Programming Roles en XP
El programador escribe las pruebas
unitarias y produce el cdigo del sistema.
Define las tareas que conlleva cada historia
de usuario, y estima el tiempo que requerir
cada una.
El cliente escribe las historias de usuario y
las pruebas funcionales para validar su
implementacin. Asigna la prioridad a las
historias de usuario y decide cules se
implementan en cada iteracin centrndose
en aportar mayor valor al negocio.
Extreme Programming Roles en XP
El encargado de pruebas ayuda al cliente a
escribir las pruebas funcionales. Ejecuta las
pruebas regularmente, difunde los resultados en
el equipo y es responsable de las herramientas
de soporte para pruebas.
El encargado de seguimiento verifica las
estimaciones realizadas, evala el progreso de
cada iteracin y as como la factibilidad de los
objetivos con las restricciones de tiempo y
recursos presentes. Mantiene contacto directo
con el equipo de desarrollo, realizando cambios
para lograr los objetivos de cada iteracin.
Extreme Programming Roles en XP
El entrenador es responsable del proceso global.
Experto en XP, provee de las guas a los miembros
del equipo para que se apliquen las prcticas XP y
se siga el proceso correctamente. Determina la
tecnologa y metodologas a usar por el equipo de
desarrollo.
El Gestor es el dueo del equipo y sus problemas.
Experto en tecnologa y labores de gestin.
Construye el plantel del equipo, obtiene los recursos
necesarios y maneja los problemas que se generan.
Administra a su vez las reuniones (planes de
iteracin, agenda de compromisos, etc).
No le dice al grupo lo que tiene que hacer, cuando
hacerlo, ni verifica el avance de las tareas.
Extreme Programming Roles en XP
Roles Opcionales
Consultor
Es un miembro externo del equipo con un
conocimiento especfico en algn tema necesario
para el proyecto. Gua al equipo para resolver un
problema especfico.