Subido por Luis Rey

UNIDAD 2 Parte 2

Anuncio
PROGRAMACIÓN
EXTREMA (XP)
Introducción
XP es una Métodología Ágil
Desarrollado por Kent Beck
«Todo en el software cambia. Los requisitos cambian. El diseño
cambia. El negocio cambia. La tecnología 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.»
Introducción
Estadísticas : método que más popularidad ha alcanzado de las metodologías ágiles
Se basa en la suposición de que es posible desarrollar software de gran calidad a pesar, o incluso como
consecuencia del cambio continuo
Asume que con un poco de planificación, un poco de codificación y unas pocas pruebas se puede decidir si
se está siguiendo un camino acertado o equivocado, evitando así tener que echar marcha atrás demasiado
tarde.
Valores que inspiran XP
Simplicidad
Retroalimentación
Coraje
Comunicación
Valores que inspiran XP: Simplicidad
La simplicidad consiste en desarrollar sólo el sistema que realmente se necesita.
Implica resolver en cada momento sólo las necesidades actuales.
Los costos y la complejidad de predecir el futuro son muy elevados, y la mejor
forma de acertar es esperar al futuro.
Con este principio de simplicidad, junto con la comunicación y el feedback resulta más fácil conocer las
necesidades reales
Valores que inspiran XP: Feedback
Una metodología basada en el desarrollo incremental iterativo de pequeñas
partes, con entregas y pruebas frecuentes y continuas, proporciona un flujo de
retro-información valioso para detectar los problemas o desviaciones.
◦ De esta forma fallos se localizan muy pronto.
◦ La planificación no puede evitar algunos errores, que sólo se evidencian al desarrollar
el sistema.
◦ La retro-información es la herramienta que permite reajustar la agenda y los planes.
Valores que inspiran XP: Coraje
Implica saber tomar decisiones difíciles.
Reparar un error cuando se detecta
Mejorar el código siempre que tras el feedback y las sucesivas iteraciones se
manifieste susceptible de mejora
Tratar rápidamente con el cliente los desajustes de agendas para decidir qué
partes y cuándo se van a entregar
Valores que inspiran XP: Comunicación
XP pone en comunicación directa y continua a clientes y desarrolladores.
El cliente se integra en el equipo para establecer prioridades y resolver dudas.
De esta forma ve el avance día a día, y es posible ajustar la agenda y las
funcionalidades de forma consecuente.
Reglas y Prácticas
Dos ediciones del libro de Kent Beck Extreme Programming Explained
◦ Primera edición: 2000
◦ Segunda edición: 2005
Hay cambios significativos entre ambas ediciones, que reflejan la evolución de XP y su maduración,
incorporando algunas prácticas de otras metodologías
◦ Primera edición: 12 prácticas principales
◦ Segunda edición: 13 prácticas principales y 11 prácticas secundarias
Reglas y Prácticas
Planificación
◦ Historias de Usuario
◦ Plan de Entregas
◦ Plan de iteraciones
◦ Reuniones diarias de seguimiento
Diseño
◦ Simplicidad
◦ Soluciones Spike
◦ Recodificación
◦ Metáforas
Reglas y Prácticas
Desarrollo del Código
◦ Disponibilidad del Cliente
◦ Uso de estándares
◦ Programación dirigida a pruebas
◦ Programación en pares
◦ Integraciones permanentes
◦ Propiedad colectiva del código
◦ Ritmo Sostenido
Reglas y Prácticas
Pruebas
◦ Pruebas Unitarias
◦ Detección y corrección de errores
◦ Pruebas de aceptación
Portafolio de Ejercicio 2: Actividad 3
En grupos de 4 personas desarrolle una exposisión para el grupo de reglas y prácticas de XP indicado.
◦ Informe
◦ Diapositivas
◦ Tres preguntas de opción múltiple para los compañeros (Dentro del informe con la respuesta correcta)
El trabajo deberá ser sustentado el día viernes, 15 de julio de 2022.
4. El programador
construye ese valor
de negocio
1. El cliente define
el valor de negocio
a implementar
3. El cliente
selecciona qué
construir de
acuerdo con sus
prioridades y las
restricciones de
tiempo.
2. El programador
estima el esfuerzo
necesario para su
implementación
Procesos y fases
Procesos y
Fases
E L COSTO D E L CAM BIO
Procesos y
Fases
Procesos y
Fases:
Planeación
Procesos y
Fases:
Diseño
Procesos y
Fases:
Codificación
Procesos y
Fases:
Pruebas
Roles
Programador:
◦ Escribe las pruebas unitarias y produce el código del sistema.
◦ Define las tareas que conlleva cada historia de usuario.
◦ Estima el tiempo que requerirá cada historia de usuario.
Cliente:
◦ Escribe las historias de usuario y las pruebas funcionales para validar su implementación.
◦ Asigna la prioridad a las historias de usuario y decide cuáles se implementan en cada iteración centrándose en
aportar el mayor valor de negocio.
Roles
Tester
◦ Ayuda al cliente a escribir las pruebas funcionales.
◦ Ejecuta pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de soporte
para pruebas.
Tracker
◦ Encargado de seguimiento.
◦ Proporcionan realimentación al equipo.
◦ Debe verificar el grado de acierto entre las estimaciones realizadas y el tiempo real dedicado, comunicando los
resultado para mejorar futuras estimaciones.
Ventajas y desventajas
VENTAJAS
DESVENTAJAS
Relación estrecha con el cliente
Mayor esfuerzo de trabajo
Ausencia de trabajos de programación innecesarios
El cliente se implica en el proceso
Software estable debido a pruebas continuas
Requiere mucho tiempo
Menos errores gracias a la programación en pares
Relativamente caro
Ausencia de horas extra, gestión propia del tiempo
Requiere control de versiones
Aplicación rápida de cambios
Requiere autodisciplina en la aplicación
Código de comprensión sencilla en todo momento.
Portafolio de ejercicios 3: Actividad 1
Formar equipos de 2 personas cada uno, asignar un rol diferente a cada miembro del equipo, en caso de
requerirse, una persona puede tener mas de un rol.
Involucar a los diferentes roles en cada una de las fases del proyecto.
Cada miembro del equipo desarrollará, las actividades que le corresponda y presentará las evidencias.
El Cliente luego de iniciado el proyecto cambiará un requerimiento así como las prioridades de entregas.
Evidencias:
Planeación:
◦ Asignación de roles a cada miembro del equipo
◦ Historias de usuarios
◦ Acuerdos sobre las historias(fecha de entrega, otros aspectos del proyecto)
Diseño:
◦ Tarjetas CRC
◦ Respuesta del consultor
Codificación:
◦ Simular Diseño de pantallas como la programación, e indicar quien o quienes se involucran en el desarrollo de cada
funcionalidad.
Evidencias:
Pruebas
◦ Definir prueba de aceptación y Resultado de la aplicación de la Prueba
En cualquier etapa
◦ Cambio del requerimiento por parte del cliente
◦ Sugerencias dadas por el Entrenador
◦ Estado del proyecto (al menos en dos puntos)
◦ Actividades de coordinación del Gestor.
Incidencias
Comentar todas las incidencias producidas durante este período. Hacer hincapié en cómo resultaron las estimaciones realizadas respecto del
esfuerzo real. Establecer la nueva velocidad del proyecto y los ajustes previstos en el plan. (Deben indicarse cambios de requerimientos por parte
del usuario y como se replantearon los mismos)
FECHA DE ENTREGA : 15 DE JULIO DE 2022
Descargar