Valores de Metodologías Ágiles
Valorar al individuo y a las interacciones del equipo de desarrollo por sobre el proceso y por sobre las herramientas
Desarrollar software que funcione por sobre buena documentación
Valorar la colaboración con el cliente más que la negociación de un contrato
Poder responder a los cambios antes que seguir estrictamente un plan
Los valores impulsan 12 principios
Prioridad en satisfacer al cliente mediante tempranas y continuas entregas de software que aporten valor
Dar la bienvenida al cambio
Entregar frecuentemente software que funcione (desde un par de semanas hasta un par de meses)
La gente del negocio y los desarrolladores del producto deben trabajar juntos a lo largo del proyecto
Debo construir el proyecto en un entorno de individuos motivados
El diálogo cara a cara es el medio más eficiente y efectivo para comunicar información dentro de un equipo de desarrollo
El avance o medida del proyecto se hace en base al software que funciona
Desarrollos sostenibles. A lo largo del proyecto no produzco baches que hagan peligrar el proyecto (El gerente no renuncia, el cliente motivado)
Hace hincapié en la calidad técnica y buen diseño (clave para avanzar más rápidamente)
La simplicidad es esencial en el proyecto
Equipos de trabajo organizados por sí mismos (motiva más al equipo)
Reflexión del equipo para mejorar
Aplicación a XP
Tipos de proyectos: Con requisitos imprecisos y cambiantes. Alto riesgo técnico (funcionalidades complejas)
Características generales:
Realimentación continua entre cliente y equipo de desarrollo
Comunicación fluida entre todos los participantes del proyecto y el cliente
Simplicidad en las soluciones
Preparación para enfrentar cambios
Características esenciales:
Historias de usuario
Especificar requisitos
Tarjeta de papel donde el cliente describe brevemente las características que debe tener el sistema. Tanto requisitos funcionales como no funcionales (p. ej. confiabilidad)
Una HdU tiene que cumplir condiciones: Que sea comprensible y acotada. Implementable en unas pocas semanas (max 7)
Granularidad: Una HdU por cada característica que se considere importante
Asignación: 1 o 2 HdU por mes por programador
Planificación: 1 Iteración de HdU en 2/4 semanas
Roles XP
Programador: Produce el código del sistema.Escribe pruebas unitarias
Cliente: Responsable de escribir las HdU. Escribir pruebas funcionales. Prioriza las HdU. Decide cuales se implementan en cada iteración.
Tester: Colabora con el cliente en escribir las pruebas funcionales. Ejecuta las pruebas funcionales. Difunde los resultados de las pruebas. Responsable de las herramientas de soporte de las pruebas.
Tracker: Realimenta al equipo de proyecto en el proceso XP. Grado de acierto entre la estimación y la realidad. Progreso iteración
Coach: Responsable del proceso global de XP. Proveer lineamientos al equipo del proyecto tal que se ejecute correctamente el proceso XP.
Consultor: Guía al equipo para resolver problemas específicos
Big Boss: Coordinación. Vincula a clientes con programadores
Procesos XP:
Exploración: Clientes definen HdU. Equipo desarrollo: se familiariza con herramientas y tecnologías. Primer prototipo.
Planificación de las entregas: Cliente: prioriza HdU. Equipo de desarrollo: estimación esfuerzo por HdU.
Iteraciones: …
Producción: Pruebas adicionales. Evaluación rendimiento. Inclusión de cambios
Mantenimiento: Primera versión funcionando e ingresando a la fase de mantenimiento. Inclusión de cambios en cartera. Nuevas iteraciones para nuevas HdU.
Muerte del proyecto: No existen HdU adicionales. No es beneficioso evolucionar el proyecto.
Prácticas de XP: …