Metodología Ágil XP
Es una metodología ágil que sigue una serie de reglas que tiene como fin centrarse en las necesidades del cliente para la obtención de un producto de calidad en poco tiempo.
Proyectos con requisitos imprecisos, muy cambiantes y de alto riesgo técnico
METODOLOGÍA
4 variables: costo, tiempo, calidad y alcance.
3 de estas variables suelen ser fijadas por los jefes de proyecto y clientes, y la variable restante por el equipo de desarrollo.
Ciclos de dsarrollo cortos(iteraciones), con entregables funcionales al finalizar cada ciclo.
Cada iteración presenta: análisis,diseño,desarrollo y pruebas.
Utiliza un conjunto de reglas y prácticas propios de la metodología XP.
Un proyecto con XP lleva entre 10 y 15 ciclos o iteraciones.
Características
PROCESO
Ciclo de Desarrollo
Consideraciones
Fases
Se define el valor de negocio a implementar por el cliente.
Se estima el esfuerzo necesario para su implementación por el programador
El cliente indica que desarrollar, acorde a sus necesidades y las restricciones de tiempo.
El programador implementa lo seleccionado por el cliente.
El cliente como el programador aprenden mutuamente.
El programador no debe ser presionado a realizar más trabajo de lo estimado.
Disminución de calidad en el software o incumplimiento de los plazos.
El cliente tiene la obligación de verificar los entregables del producto.
Asegurar que el sistema tenga el mayor valor de negocio con cada iteración.
Una constante interración entre ambos.
Exploración
Cliente
Las historias de usuario.
Equipo de desarrollo
Tecnologías
Posibilidades de la arquitectura del sistema
Prototipo
Tiempo
Pocas semanas a pocos meses
Tamaño y familiaridad de los programadores con las tecnologías, herramientas y prácticas a usar.
Planificación de la entrega (Release)
Cliente
Prioridad de cada historia de usuario.
Programadores
Estimación del esfuerzo
Puntos
1 punto equivale a 1 semana ideal de programación.
Registro de "velocidad" de desarrollo
Puntos por iteración
Suma de puntos de las historias de usuario de la última iteración.
Acuerdos
Tiempo
Pocos días
Iteraciones
Tiempo
No más de 3 semanas.
Cliente
Historias que se implementarán en cada iteración.
Plan de iteración
Elementos
Tareas de programación
Producción
Tiempo de las iteraciones
tres a una semana
Inclusión de nuevas características a la versión actual
Ideas y sugerencias
Documentan para su posterior implementación (fase de mantenimiento)
Mantenimiento
Paralelo con la fase de producción
Sistema está en funcionamiento
Desarrolla nuevas iteraciones
Tareas de soporte para el cliente
Muerte del Proyecto
Cliente
Más historias de persona para ser incluidas en el sistema
Herramientas
Prácticas
Contenido de la 1ra entrega
Cronograma de entregas
Una entrega
No más de 3 meses
Tiempo
Tomará implementar un conjunto de historias.
Multiplicación del número de iteraciones y la velocidad del proyecto.
Cuántos puntos se puede completar en dicho tiempo
Alcance
Historias se pueden implementar ante una fecha determinada.
La división de la suma de puntos de las historias de usuario y la velocidad del proyecto.
Número de iteraciones para su implementación.
Plan de entregas o Release Plan
Historias de usuario no abordadas
Velocidad del proyecto
Pruebas de aceptación no spueradas(bugs) en una iteración anterior
Tareas no terminadas en una iteración anterior
1 programador
Parejas de programadores
Pruebas adicionales
Revisiones de rendimiento
Traslado al entorno del cliente
Desarrollos funcionales
Tareas de ajuste(fine tuning)
Nuevo personal dentro del equipo
Cambios en su estructura
Rendimiento y confiabilidad del sistema
Documentación final del sistema
No realizar más cambios en la arquitectura
No hay presupuesto para mantenerlo
No generar beneficios esperados por el cliente
Valentía
Los desarrolladores sepan adaptarse a los cambios
Retroalimentación
Proyecto de manera correcta hacia donde el cliente desee.
Respeto
El equipo trabaja como uno sin hacer decisiones repentinas
Simplicidad
Soluciones simples
Características de diseño que ayuden a la resolución de problemas futuros
Comunicación
Mejor relación entre desarrolladores y el cliente
Cambios de manera inmediata