Please enable JavaScript.
Coggle requires JavaScript to display documents.
Metodología Ágil de Desarrollo de Software – XP, image, image, image,…
Metodología Ágil de Desarrollo de Software – XP
Es una metodologia ágil, centrada en el cliente con trabajo en equipo, adaptativa, comunicativa, eficiente.
VALORES DE XP
Comunicación
En Extreme Programming, la comunicación cara a cara prevalece. Método ágil que facilita ajustes y cambios según las preferencias del cliente.
Simplicidad
Busca soluciones sencillas para problemas, según las indicaciones del cliente. Incluye características que pueden ser útiles en el futuro.
Retroalimentación
La continua retroalimentación del cliente guía el proyecto hacia sus objetivos.
Valentía
Requiere que los desarrolladores acepten y se adapten al cambio. Programa para hoy y no pospone tareas.
Respeto
Fomenta el trabajo en equipo, evitando decisiones repentinas. Todos los miembros son parte esencial del desarrollo.
ROLES XP
Programador
Escribe pruebas unitarias y código, precisa comunicación y coordinación.
Cliente
Define historias y pruebas, prioriza para aportar valor al negocio.
Encargado de pruebas
Asiste al cliente, ejecuta pruebas y gestiona herramientas.
Encargado de seguimiento
Verifica estimaciones, evalúa progreso e impulsa ajustes necesarios.
Entrenador
Lidera el proceso global, guía en prácticas y procedimientos XP.
Consultor
Experto externo guía al equipo para resolver problemas específicos.
Gestor
Vínculo entre clientes y programadores, coordina y facilita eficacia.
MODELO XP
La metodología XP define cuatro variables para cualquier proyecto de software: costo, tiempo, calidad y alcance.
Realiza ciclos cortos con análisis, diseño, desarrollo y pruebas con reglas específicas.
PROCESO XP
Fase I: Exploración
Los clientes presentan historias de usuario. El equipo se familiariza con herramientas y tecnologías. Pruebas tecnológicas y exploración arquitectónica.
Fase II: Planificación de la Entrega
Cliente establece prioridades y programa entregas. Estimación de esfuerzo mediante puntos por historia. Planificación basada en tiempo o alcance del sistema.
Fase III: Iteraciones
Múltiples iteraciones, cada una de hasta tres semanas. Construcción gradual del sistema y pruebas continuas. Planificación de iteraciones considerando historias, velocidad y pruebas.
Fase IV: Producción
Pruebas adicionales y revisiones de rendimiento. Decisiones sobre nuevas características y ajustes. Posible reducción del tiempo por iteración.
Fase V: Mantenimiento
Mantenimiento del sistema en producción. Soporte al cliente y posibles cambios en el equipo. Velocidad de desarrollo puede disminuir.
Fase VI: Muerte del Proyecto
Satisfacción de necesidades del cliente. Generación de documentación final. Proyecto concluye si no se obtienen beneficios esperados.
REGLAS Y PRÁCTICAS
Planificación
Historias de Usuario: Describen requisitos en tarjetas; flexibilidad.
Plan de Entregas ("Release Plan"): Acuerdo sobre contenido y cronograma.
Plan de Iteraciones: Desarrollo, pruebas y entrega en ciclos.
Reuniones Diarias de Seguimiento: Comunicación y resolución de problemas.
Diseño
Simplicidad: Énfasis en diseños simples y claros.
Soluciones "Spike": Programas de prueba para problemas técnicos.
Recodificación ("Refactoring"): Mejora continua del código.
Metáforas: Uso de conceptos comprensibles y compartidos.
Desarrollo
Disponibilidad del Cliente: Participación activa durante todo el proyecto.
Uso de Estándares: Programación basada en estándares.
Programación Dirigida por las Pruebas: Tests definidos antes del código.
Programación en Pares: Desarrollo colaborativo para calidad.
Integraciones Permanentes: Publicación frecuente de versiones.
Propiedad Colectiva del Código: Contribuciones abiertas y flexibles.
Ritmo Sostenido: Planificación para mantener un ritmo razonable.
Pruebas
Pruebas Unitarias: Fundamentales, definidas antes del código.
Detección y Corrección de Errores: Inmediatez y prevención.
Pruebas de Aceptación: Basadas en historias de usuario; responsabilidad grupal.
Ventajas
Se consiguen productos usables con mayor rapidez.
El proceso de integración es conitnuo, se integra el trabajo con mayor facilidad.
Se atienden las necesidades del usuario con mayor exactitud
Desventajas
Resulta muy complicado planear el proyecto y establecer el costo y la duración del mismo.
No se puede aplicar a proyectos de gran escala, que requieran mucho personal.
Es más complicado medir los avances del proyecto