Links: Apuntes Metodologias de Desarrollo
- Scrum es un proceso ágil que nos permite centrarnos en ofreces el mayor valor posible al negocio en el menor tiempo.
- Nos permite rápida y frecuentemente inspeccionar software real de trabajo.
- El negocio fija las prioridades. Los equipos se auto-organizan a fin de deteminar la mejor manera de entregar las funcionalidades de prioridad más alta.
- Cada dos semanas o un mes, cualquiera puede ver el softwaree real funcionando y decidir si reberarlo o sequir evolucionándolo en otro sprint.
Roles técnicos
Product owner
- Es quien toma las decisiones del cliente, su responsabilidad es el valor del producto.
- Para simplificar la comunicación y toma de decisiones es necesario que este rol recaiga en una única persona.
- Decide en última instancia cómo será el resultado final, y el orden en el que se van construyendo los sucesivos incrementos.
- Conoce el plan del producto, sus posibilidades y plan de inversión, así como del retorno esperado de la inversión realizada, y se responsabiliza sobre fechas y funcionalidades.
- Este rol suele asumirlo el product manager o el responsable de marketing.
Equipo de desarrollo
- Lo forman el grupo de profesionales que realizan el incremento de cada Sprint.
- Se recomienda que un equipo scrim tenga entre 4 y 8 personas (no se cuenta ni el Scrum master ni el Product owner)
- Es un equipo multifuncional, en el que todos los miembros trabajan de forma solidaria con responsabilidad compartida.
Scrum Master
- Es el responsable del cumplimiento de las reglas de un marco de scrum técnico, asegurando que se entienden en la organización, y se trabaja conforme a ellas.
- Asesora y forma al product owner y al equipo
- Realiza su trabajo con un modelo de liderazgo servil
- Al crecer la fluidez de la organización y evolucionar hacia um marco de SCRUM más pragmático, puede eliminarse el rol de Scrum Master, cuando estas responsabilidades ya estén institucionalizadas en la organización.
Artefactos
Product backlog
- La pila del producto es el inventario de funcionalidades, mejoras, tecnología y corrección de errores que deben incorporarse al producto a través de los sucesivos sprints.
- Representa todo aquello que espera el cliente, los usuarios, y en general los interesados. Todo lo que suponga un trabajo que debe realizar el equipo debe estar reflejado en esta pila.
- Nunca se da por completada, está en continuo crecimientoy evolución.
- El detalle de los requisitos en la pila del producto debe ser proporcional a la prioridad.
Sprint backlog
Lista de tareas que va a realizar el equipo en un sprint, para contruir un incremento.
descripcion breve | persona asignada | esfuerzo pendiente |
- Descompone el proyecto en unidades de tamaó adecuado para determinar el avance a diario, e identificar riesgos y problemas sin necesidad de procesos complejos de gestión
- Sólo el equipo la puede modificar durante el sprint
- Las tareas demasiado grandes (más de un día) deben descomponerse
Incremento
- lncremento es la parte del producto producida en un sprint, y tiene como característica el estar completamente terminada y operativa, en condiciones de ser entregada al cliente.
- No se deben considerar como incremento a prototipos, módulos o sub-módulos, ni partes pendientes de prueba o integración.
- Se produce un incremento en cada iteración.
Sprint
- Ciclo de tiempo en el que se desarrolla cada incremento iterativo del producto
- Puede variar en duración de una semana a un més.
Gestión de tiempo
Burn-down
- El gráfico de avance o burndown se actualiza por el equipo en las reuniones de sequimiento del sprint, para monitorizar el ritmo de avance, y detectar de forma temprana posibles desviacviones sobre la previsión que puedieran compormeter la entrega al final de sprint.
- Mide el esfuerzo que falta, no el realizado
- Realiza un seguimiento muy cercano (diario de ser posible)
- trabajo x tiempo
Burn-up
- El gráfico del producto o burnup es una herramienta de planificación propia del propietario de producto, que presenta visualmente la evolución previsible del producto
- Proyecta en el tiempo la contrucción del producto en base a la velocidad del equipo
- tiempo medido en sprints x esfuerzo estimado
Velocidad y tiempo
Velocidad, trabajo y tiempo son las tresd magnitudes que miden la gestión de proyectos ágiles, y compnen la fórmula: Velocidad = trabajo / tiempo
- El tiempo real es el tiempo de trabajo y equivale a la jornada laboral.
- El tiempo ideal se refiera al tiempo de trabajo en condiciones ideales, es decir eliminando todo lo que no es estrictamente trabajo, suponiendo que no hay ninguna pausa por interrupción o atención de cuestiones ajenas a la tarea y que la persona se encuntra en buenas condiciones de concentración y disponibilidad.
Unidades de trabajo
COCOMO
Planning Poker
Es una técnica para calcular una estimación basada en el consenso, en su mayoría utilizada para estimar el esfuerzo o el tamaño relativo de las tareas de desarrollo.
Reuniones
Sprint planning
En esta reunión se toman como base las prioridades y necesidades de negocio del cliente, y se determinan cuáles y cómo van a ser las funcionalidades que se incorporarán al producto en el siguiente sprint.
Dos partes: Qué se entregará y cómo se conseguirá
Revisión del Sprint
- Reunión realizada al final del sprint para comprobar el incremento
- No debe durar más de 4 horas, 1 hora para sprints cortos
- Se busca feedback y convocar la reunión de planificación del siguiente sprint
Backlog Grooming
También llamada revisión de la pila del producto y refinamiento de la pila del producto.
Es la reunión del product owner y el equipo para mantener actualizada la pila del producto.
- Incorporación
- División
- Replanteamiento
- Estimación
Retrospectiva
- Reunión en la que el equipo analiza la forma de trabajo para su mejora continua.
- Las reuniones retrospectivas son por tanto una meta-práctica ágil.
- Aunque es frecuente realizarlas al final de cada sprint, no deben confundirse con las reuniones de revisión del sprint.
Daily Meeting
- Reunión diaria breve, de no más de 15 minuto, en la que el equipo sincroniza el trabajo y establece el plan para las 24 horas siquientes funcionalidades que se incorporarán al producto en el siguiente sprint.
- Se actualiza la pila del sprint, gráfico de burn-down y se identifican posibles necesidades e impedimentos.